/* Workbench layer: current product UI calibration and responsive contracts. */
:root{
  --sidebar:232px;
  --v2-green:#12634b;
  --v2-green-dark:#0c4938;
  --v2-green-soft:#e7f1ed;
  --v2-canvas:#f5f7f6;
  --v2-line:#dce4e0;
  --v2-text:#17231f;
  --v2-muted:#6b7a74;
}

/* Workspace cell editing */
.workspace-cell-editable{position:relative;min-width:0;cursor:pointer;transition:background .12s ease,box-shadow .12s ease}
.workspace-cell-editable:hover{background:#f0f7f3}
.workspace-cell-editable:hover:after{position:absolute;right:6px;bottom:4px;color:#33715d;content:"\270E";font-size:12px;opacity:.8}
.workspace-cell-detail{padding:0!important}.workspace-cell-detail-value{display:flex;min-height:100%;align-items:center;gap:7px;padding:10px 12px;color:inherit}.workspace-cell-detail-value small{color:#6b7a74;font-size:10px;white-space:nowrap}.workspace-th-inner .bi-lock{margin-left:4px;color:#819089;font-size:10px}
.workspace-cell-editable.is-editing,.workspace-cell-editable:has(.workspace-cell-editor){padding:3px!important;background:#fff!important;box-shadow:inset 0 0 0 2px #16805f;z-index:4}
.workspace-cell-editor{display:block;width:100%;min-width:0;height:36px;padding:5px 8px;border:0!important;border-radius:4px;background:#fff;color:#18342b;font:inherit;outline:0}
.workspace-cell-editor[hidden]{display:none!important}
.workspace-cell-editor[multiple]{height:76px;padding:3px}
.workspace-cell-selection-value{display:flex;min-height:34px;align-items:center;overflow:hidden;padding:5px 8px;color:#173c30;text-overflow:ellipsis;white-space:nowrap}
.workspace-option-popover{position:fixed;z-index:10050;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;padding:8px;border:1px solid #b8ccc3;border-radius:9px;background:#fff;box-shadow:0 18px 44px rgba(13,45,34,.22)}
.workspace-option-search{width:100%;height:38px;padding:7px 10px;border:1px solid #c8d6d0;border-radius:6px;background:#fafcfb;color:#1d382f;font:inherit;outline:0}.workspace-option-search:focus{border-color:#16805f;box-shadow:0 0 0 3px rgba(22,128,95,.12)}
.workspace-option-list{min-height:0;overflow-y:auto;padding:6px 0;overscroll-behavior:contain}.workspace-option-item{position:relative;display:flex;min-height:34px;align-items:center;gap:9px;padding:5px 8px;border-radius:5px;color:#233c34;cursor:pointer}.workspace-option-item:hover,.workspace-option-item.is-selected{background:#edf6f2}.workspace-option-item>input{position:absolute!important;width:1px!important;height:1px!important;margin:0!important;opacity:0!important;pointer-events:none}.workspace-option-mark{position:relative;display:grid!important;width:18px;height:18px;flex:0 0 18px;place-items:center;overflow:visible!important;border:1px solid #aec5bb;border-radius:4px;background:#fff}.workspace-option-item.is-single .workspace-option-mark{border-radius:50%}.workspace-option-item.is-selected .workspace-option-mark{border-color:#167055;background:#167055}.workspace-option-item.is-selected .workspace-option-mark:after{width:8px;height:4px;border-bottom:2px solid #fff;border-left:2px solid #fff;content:"";transform:translateY(-1px) rotate(-45deg)}.workspace-option-item.is-single.is-selected .workspace-option-mark:after{width:6px;height:6px;border:0;border-radius:50%;background:#fff;transform:none}.workspace-option-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-option-empty{display:block;padding:16px 8px;color:#71847c;text-align:center}
.workspace-cell-editable.is-saving{opacity:.65;pointer-events:none}

/* Keep workspace multi-selects open until the user explicitly applies or cancels. */
.workspace-option-popover{grid-template-rows:auto minmax(0,1fr) auto}
.workspace-option-actions{display:flex;justify-content:flex-end;gap:7px;padding:8px 0 0;border-top:1px solid #dce6e1}
.workspace-option-actions button{min-height:30px;padding:4px 10px;border:1px solid #bdcec6;border-radius:5px;background:#fff;color:#30483f;font:inherit;font-weight:700;cursor:pointer}
.workspace-option-actions .workspace-option-apply{border-color:#167055;background:#167055;color:#fff}
.workspace-option-actions .workspace-option-apply:hover{background:#0f6249}

/* High-density attachment library: consistent visibility labels and preview-first scanning. */
.document-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(156px,1fr));gap:10px}
.page-shell:has(>.section-block>.file-filter-bar)>.section-block>.document-preview-grid{padding:12px;grid-template-columns:repeat(auto-fill,minmax(156px,1fr));border:1px solid var(--v2-line);border-top:0;border-radius:0 0 10px 10px;background:#fff}
.document-card.document-card--compact{display:grid;height:auto;min-height:0;max-height:none;grid-template-rows:150px auto;padding:0;overflow:hidden}
.document-card--compact .document-preview{position:relative;display:grid;height:auto;min-height:0;place-items:center;overflow:hidden;border-bottom:1px solid var(--v2-line);background:#f1f5f3}
.document-card--compact .document-preview :is(img,iframe){display:block;width:100%;height:100%;object-fit:contain;border:0;background:#fff}
.document-card--compact .file-preview-icon{font-size:12px}.document-card--compact .file-preview-icon i{font-size:34px}
.document-card--compact .document-card-body{gap:8px;padding:10px;overflow:visible}
.document-card--compact .document-card-heading{position:relative;display:block;min-height:63px;padding-bottom:0}
.document-card--compact .document-card-heading>div{display:grid;gap:2px;padding-top:0}
.document-card--compact .document-card-heading .eyebrow{margin:0;color:#698078;font-size:9px;line-height:1.2}
.document-card--compact .document-card-heading h2{margin:0;padding-right:0;font-size:12px;line-height:1.25}
.document-card--compact .document-scope{margin:0;font-size:10px;line-height:1.25}
.document-card--compact .visibility-tag{position:absolute;top:0;right:0;max-width:100%;min-height:20px!important;padding:3px 6px!important;font-size:9px!important;white-space:nowrap}
.document-card--compact .document-card-heading>div{padding-right:0}.document-card--compact .document-card-heading .visibility-tag+*{margin-top:0}
.document-card--compact .document-meta{min-height:0;margin:0;font-size:10px;line-height:1.3}
.document-card--compact .icon-action-group{display:flex;min-height:28px;gap:4px;margin:0;padding-top:0;flex-wrap:wrap}
.document-card--compact .icon-action-group form{margin:0}.document-card--compact .icon-action-group .icon-button{width:28px;height:28px;min-height:28px;padding:0;border-radius:5px;font-size:12px}
.document-card--compact details{margin-top:0;padding-top:7px;border-top:1px solid #e7eeea}.document-card--compact summary{font-size:10px}.document-card--compact .version-list{font-size:10px}
.recycle-document-grid{padding:12px;border:1px solid var(--v2-line);border-radius:10px;background:#fff}.recycle-document-card{border-color:#dce6e1}.recycle-document-card .document-card-body{min-height:110px}
@media(max-width:900px){.document-preview-grid,.page-shell:has(>.section-block>.file-filter-bar)>.section-block>.document-preview-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))}.document-card.document-card--compact{grid-template-rows:138px auto}}
@media(max-width:560px){.document-preview-grid,.page-shell:has(>.section-block>.file-filter-bar)>.section-block>.document-preview-grid{grid-template-columns:1fr}.recycle-document-grid{padding:9px}}
.workspace-cell-editable.is-saved{animation:workspace-cell-saved .85s ease}
.workspace-cell-editable.has-error{box-shadow:inset 0 0 0 2px #b5473c!important;background:#fff8f7!important}
@keyframes workspace-cell-saved{0%{background:#dff3e9}100%{background:transparent}}
body{background:var(--v2-canvas);color:var(--v2-text)}
.app-sidebar{padding:18px 14px 14px;color:var(--v2-text);background:#fbfcfb;border-right:1px solid var(--v2-line);box-shadow:4px 0 18px rgba(20,48,38,.025)}
.app-brand{padding:0 8px;color:var(--v2-text)}
.brand-mark{color:#fff;border:0;background:var(--v2-green-dark);box-shadow:0 5px 12px rgba(12,73,56,.18)}
.app-brand>span:last-child small{color:#7a8a84}
.nav-label{color:#98a59f}
.primary-nav a{color:#42514c}
.primary-nav i{color:#71827b}
.primary-nav a:hover,.primary-nav a:focus-visible{color:var(--v2-green-dark);background:#f0f5f2}
.primary-nav a.active{color:var(--v2-green-dark);background:#e4efea;box-shadow:none;font-weight:700}
.primary-nav a.active i{color:var(--v2-green)}
.sidebar-user{border-color:#e2e8e5;background:#f4f7f5}.sidebar-user small{color:#778780}.sidebar-user .user-avatar{background:var(--v2-green)}
.app-topbar{height:68px;gap:24px;padding:0 28px;border-color:var(--v2-line);background:rgba(255,255,255,.98)}
.topbar-context{display:grid;min-width:145px;line-height:1.2}.topbar-context span{color:#84918c;font-size:10px}.topbar-context strong{font-size:13px}
.topbar-actions{margin-left:0}
.page-shell{max-width:1680px;padding:32px 34px 60px}
.page-heading{margin-bottom:24px;padding:0 0 22px;border-bottom:1px solid var(--v2-line)}
.page-heading h1{font-size:2.25rem}.page-kicker{color:var(--v2-green);font-weight:700}
.button{background:var(--v2-green)}.button:hover{background:var(--v2-green-dark)}
.secondary-button{border-color:#ccd8d2;background:#fff}.secondary-button:hover{border-color:#aebfb7;background:#f8faf9}
.metric-grid{gap:12px}.metric-card{min-height:118px;padding:20px;border-color:var(--v2-line);box-shadow:0 8px 24px rgba(21,53,41,.045)}
.metric-card strong{font-size:30px}.metric-icon{width:42px;height:42px;border-radius:9px}
.workspace-panel,.record-list,.list-surface,.management-card,.workspace-controls-card,.workspace-table-shell{border-color:var(--v2-line);box-shadow:0 7px 22px rgba(21,53,41,.04)}
.dashboard-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:14px}
.dashboard-lower-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:14px;margin-top:26px}
.dashboard-lower-grid>.section-block{min-width:0;margin-top:0}.dashboard-lower-grid .workspace-panel,.dashboard-lower-grid .record-list{height:100%}
.section-heading{min-height:62px;padding:15px 19px}.section-heading.outside-heading{min-height:auto;padding:0}
.dashboard-list li{min-height:58px}.record-row{min-height:80px}
.list-toolbar{min-height:56px;padding:0 16px;background:#fff}
.list-toolbar-search{position:relative;width:min(360px,42vw)}.list-toolbar-search i{position:absolute;top:50%;left:12px;color:#7d8c86;transform:translateY(-50%)}
.list-toolbar-search input{width:100%;height:36px;padding:0 12px 0 34px;border:1px solid #d2dcd7;border-radius:6px;background:#f8faf9;outline:0}
.list-toolbar-search input:focus{border-color:#7fae9c;background:#fff;box-shadow:0 0 0 3px rgba(18,99,75,.08)}
.entity-table th{height:42px;background:#f6f8f7}.entity-table td{height:68px}.entity-table tbody tr:hover{background:#f2f7f4}
.table-primary-link{font-size:13px}.table-code{color:var(--v2-green)}
.workspace-header{margin-bottom:16px}.workspace-header h1{font-size:2.25rem}.workspace-controls-card{padding:0 16px}
.workspace-control-row{min-height:58px}.workspace-toolbar{padding:8px;border:1px solid var(--v2-line);border-radius:8px;background:#fff;box-shadow:0 5px 18px rgba(21,53,41,.035)}
.workspace-table-shell{border-radius:9px}.workspace-table th{height:42px;background:#f3f7f5}.workspace-table td{height:59px}
.management-card{min-height:92px;padding:16px}.management-card:hover{border-color:#aebfb7;transform:translateY(-1px);box-shadow:0 10px 26px rgba(21,53,41,.07)}
.management-icon{width:42px;height:42px}.management-card{grid-template-columns:42px minmax(0,1fr) 20px}
.context-tabs{gap:8px;margin:0 0 24px;padding:0;border:1px solid var(--v2-line);border-radius:8px;background:#fff;box-shadow:0 4px 16px rgba(21,53,41,.03)}
.context-tabs a{padding:12px 16px;border-right:1px solid #edf1ef}.context-tabs a.active{color:var(--v2-green-dark);background:#edf5f1}.context-tabs a.active::after{display:none}
.project-hero,.product-detail-hero{padding:8px 0 24px}.project-hero-image,.product-detail-image{box-shadow:0 8px 24px rgba(21,53,41,.08)}
.project-overview-layout>.settings-panel,.product-spec-layout>.settings-panel{box-shadow:0 6px 20px rgba(21,53,41,.035)}
.project-settings-dialog,.product-create-dialog,.workspace-dialog{border-radius:12px;box-shadow:0 28px 90px rgba(7,35,26,.28)}
.modal-heading,.workspace-dialog header{background:#fbfcfb}.modal-actions,.workspace-dialog footer{background:#f7f9f8}
.recycle-list.list-surface{box-shadow:0 7px 22px rgba(21,53,41,.04)}
@media(max-width:1100px){:root{--sidebar:76px}.topbar-context{display:none}.app-topbar{padding:0 18px}.dashboard-lower-grid{grid-template-columns:1fr}}
@media(max-width:760px){.page-shell{padding:22px 14px 46px}.page-heading h1,.workspace-header h1{font-size:1.85rem}.dashboard-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr 1fr}.topbar-context{display:none}.context-tabs{margin-inline:-14px;border-radius:0;border-right:0;border-left:0}}

/* Desktop sidebar collapse: keep navigation icons accessible while reclaiming workspace width. */
@media(min-width:761px){
  .nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid transparent;border-radius:6px;color:#42685a;background:transparent;font-size:17px;cursor:pointer}
  body.sidebar-collapsed{--sidebar:72px}
  body.sidebar-collapsed .app-sidebar{width:72px;padding-inline:10px}
  body.sidebar-collapsed .app-brand{justify-content:center;padding-inline:0}
  body.sidebar-collapsed .app-brand>span:last-child,
  body.sidebar-collapsed .nav-label,
  body.sidebar-collapsed .primary-nav a>span,
  body.sidebar-collapsed .sidebar-user>span:last-child{display:none}
  body.sidebar-collapsed .primary-nav a{justify-content:center;padding-inline:0}
  body.sidebar-collapsed .sidebar-user{justify-content:center;padding-inline:0}
}

/* Controlled visual polish and custom CSS controls */
.app-main{position:relative;isolation:isolate}.app-main::before{content:"";position:fixed;z-index:-1;top:68px;right:0;width:52vw;height:360px;pointer-events:none;background:radial-gradient(circle at 75% 0,rgba(56,153,116,.10),transparent 62%)}
.button,.secondary-button,.icon-button,.primary-nav a,.management-card,.metric-card,.workspace-view,.context-tabs a{transition:transform .16s ease,border-color .16s ease,background-color .16s ease,color .16s ease,box-shadow .16s ease}
.button{position:relative;overflow:hidden;background:linear-gradient(135deg,#147354,#0d5943);box-shadow:0 6px 16px rgba(13,89,67,.17)}
.button::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.18) 48%,transparent 66%);transform:translateX(-120%);transition:transform .45s ease}
.button:hover::after{transform:translateX(120%)}.button:hover{transform:translateY(-1px);box-shadow:0 9px 20px rgba(13,89,67,.22)}
.icon-button:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(20,57,43,.09)}
.metric-card{position:relative;overflow:hidden}.metric-card::after{content:"";position:absolute;right:-35px;bottom:-46px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(31,132,95,.10),transparent 70%);transition:transform .25s ease}.metric-card:hover{transform:translateY(-2px);border-color:#bfd3ca;box-shadow:0 14px 32px rgba(21,53,41,.08)}.metric-card:hover::after{transform:scale(1.18)}
.metric-card.attention::after{background:radial-gradient(circle,rgba(184,146,42,.13),transparent 70%)}.metric-card.warning::after{background:radial-gradient(circle,rgba(191,112,34,.13),transparent 70%)}
.workspace-dimension-switch{padding:3px;border-color:#d3ded8;border-radius:8px;background:#edf3f0}.workspace-dimension-switch a{border-radius:6px}.workspace-dimension-switch a.active{color:#0d5943;box-shadow:0 3px 10px rgba(20,57,43,.10)}
input[type="checkbox"],input[type="radio"]{accent-color:var(--v2-green)}
select{cursor:pointer}input[type="search"]::-webkit-search-cancel-button{cursor:pointer}
.status-pill{position:relative;overflow:hidden}.status-pill::before{display:none!important}
.entity-table tbody tr{position:relative}.entity-table tbody tr::after{content:"";position:absolute;left:0;width:2px;height:100%;background:var(--v2-green);opacity:0;transition:opacity .15s ease}.entity-table tbody tr:hover::after{opacity:1}
.table-wrap,.workspace-table-shell>.table-wrap{scrollbar-color:#9fb4ab #eef2f0;scrollbar-width:thin}.table-wrap::-webkit-scrollbar{width:10px;height:10px}.table-wrap::-webkit-scrollbar-track{background:#eef2f0}.table-wrap::-webkit-scrollbar-thumb{border:2px solid #eef2f0;border-radius:10px;background:#9fb4ab}
.project-settings-dialog[open],.product-create-dialog[open],.workspace-dialog[open],.image-lightbox[open]{animation:dialog-in .18s cubic-bezier(.2,.8,.2,1)}
@keyframes dialog-in{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
.field-row input,.field-row select,.field-row textarea,.stacked-form input,.stacked-form select,.stacked-form textarea{transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.field-row input:hover,.field-row select:hover,.field-row textarea:hover{border-color:#9eb4aa}.field-row input:focus,.field-row select:focus,.field-row textarea:focus{border-color:#5d9a83;box-shadow:0 0 0 3px rgba(18,99,75,.09);outline:0}
.column-field-card{transition:transform .14s ease,border-color .14s ease,background .14s ease}.column-field-card:hover{transform:translateY(-1px);border-color:#9db8ac}.column-field-card:has(input:checked){border-color:#6f9f8c;background:#edf6f2;box-shadow:inset 0 0 0 1px rgba(18,99,75,.10)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Communication work surface */
.communication-page{max-width:1180px;margin:0 auto}.communication-titlebar{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin:4px 0 16px;padding:0 2px}.communication-titlebar h2{font-size:1.7rem;letter-spacing:-.025em}.communication-titlebar p{margin:4px 0 0;font-size:12px}.communication-title-actions{display:flex;gap:8px;align-items:center}.timeline-count{padding:6px 9px;border:1px solid var(--v2-line);border-radius:6px;color:var(--v2-muted);background:#fff;font-size:11px}
.communication-filters{display:inline-flex;gap:3px;padding:3px;border:1px solid var(--v2-line);border-radius:8px;background:#edf3f0}.communication-filters a{display:inline-flex;min-height:31px;gap:6px;align-items:center;padding:5px 10px;border-radius:6px;color:#53645d;font-size:11px;font-weight:650;text-decoration:none}.communication-filters a.active{color:var(--v2-green-dark);background:#fff;box-shadow:0 2px 8px rgba(20,57,43,.10)}
.communication-page>nav.communication-filters{margin-bottom:18px}.communication-timeline{gap:14px}.communication-entry{grid-template-columns:44px minmax(0,1fr);gap:12px}.timeline-rail::before{left:21px}.timeline-marker{width:42px;height:42px;border:4px solid var(--v2-canvas);box-shadow:0 0 0 1px #bfd2c9;background:linear-gradient(145deg,#197658,#0c4938)}
.communication-entry-body{padding:18px 20px;border-color:var(--v2-line);border-radius:10px;box-shadow:0 6px 20px rgba(21,53,41,.035)}.communication-entry-body:hover{border-color:#bfd1c8;box-shadow:0 10px 28px rgba(21,53,41,.06)}.entry-heading h3{font-size:15px}.entry-author-line{font-size:11px}.communication-content{font-size:13px}.entry-meta{margin-top:14px;padding-top:12px;border-top:1px solid #edf1ef}

/* File library */
.file-filter-bar{display:flex;gap:10px;align-items:flex-end;margin:0 0 14px;padding:12px 14px;border:1px solid var(--v2-line);border-radius:9px;background:#fff;box-shadow:0 5px 18px rgba(21,53,41,.035)}.file-filter-bar label{display:grid;min-width:180px;gap:5px;color:#60716a;font-size:10px;font-weight:700}.file-filter-bar select{height:36px;padding:0 10px;border:1px solid #ced9d3;border-radius:6px;background:#f8faf9}.document-preview-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}.document-card{display:grid;min-height:365px;grid-template-rows:190px minmax(0,1fr);padding:0;overflow:hidden}.document-preview{height:190px;border-bottom:1px solid var(--v2-line);background:#f1f5f3}.document-preview img,.document-preview iframe{width:100%;height:100%;object-fit:contain;border:0}.document-card-body{display:flex;min-height:0;flex-direction:column;padding:15px}.document-card-heading h2{font-size:14px}.document-meta{min-height:36px}.document-card .icon-action-group{margin-top:auto}.document-card wa-details{margin-top:12px}

/* Detail page hierarchy */
.product-detail-pilot,.project-overview-layout{--detail-panel-shadow:0 6px 22px rgba(21,53,41,.04)}.product-detail-hero,.project-hero{position:relative;margin-bottom:0;padding:12px 0 28px}.product-detail-hero::after,.project-hero::after{content:"";position:absolute;right:0;bottom:0;left:0;height:1px;background:linear-gradient(90deg,var(--v2-line),rgba(18,99,75,.22),var(--v2-line))}.product-panel{border-color:var(--v2-line);border-radius:10px;box-shadow:var(--detail-panel-shadow);overflow:hidden}.product-panel-heading{min-height:60px;background:#fbfcfb}.product-section{margin-top:30px}.product-section-heading{margin-bottom:11px}.product-section-heading h2{font-size:17px}.product-definition-list>div,.product-development-list>div{border-color:#e9efec}.dimension-group dd span{padding:4px 8px;border-radius:5px;background:#f4f7f5}

/* Forms */
.settings-section{position:relative}.settings-section>h3{display:flex;gap:8px;align-items:center;font-size:14px}.settings-section>h3::before{content:"";width:3px;height:16px;border-radius:3px;background:var(--v2-green)}.owner-options>button,.checkbox-card,.project-image-dropzone,.product-image-dropzone,.attribute-form-group,.packaging-level{transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.owner-options>button:hover,.checkbox-card:hover,.project-image-dropzone:hover,.product-image-dropzone:hover{border-color:#8fb3a4;box-shadow:0 5px 16px rgba(21,53,41,.05)}
@media(max-width:760px){.communication-titlebar{align-items:flex-start;flex-direction:column}.communication-title-actions{width:100%;flex-wrap:wrap}.communication-entry{grid-template-columns:34px minmax(0,1fr)}.timeline-marker{width:34px;height:34px}.timeline-rail::before{left:16px}.communication-entry-body{padding:15px}.file-filter-bar{align-items:stretch;flex-direction:column}.file-filter-bar label{min-width:0}.document-preview-grid{grid-template-columns:1fr}}

/* AG Grid professional workspace */
.moos-ag-grid{width:100%;height:100%;--ag-font-family:var(--ui-font-sans);--ag-font-size:12px;--ag-background-color:#fff;--ag-foreground-color:#17231f;--ag-border-color:#dce4e0;--ag-header-background-color:#f3f7f5;--ag-header-foreground-color:#50645c;--ag-row-border-color:#e9efec;--ag-odd-row-background-color:#fbfcfb;--ag-row-hover-color:#edf6f2;--ag-selected-row-background-color:#e2f0ea;--ag-accent-color:#176b50;--ag-wrapper-border-radius:8px;--ag-cell-horizontal-padding:13px;--ag-header-height:42px;--ag-row-height:58px}
.moos-ag-grid[hidden]{display:none}.moos-ag-grid .ag-root-wrapper{border:0;border-radius:8px}.moos-ag-grid .ag-header{border-bottom-color:#d5dfda}.moos-ag-grid .ag-header-cell{font-size:10px;font-weight:700}.moos-ag-grid .ag-cell{display:flex;align-items:center;line-height:1.35}.moos-ag-grid .ag-cell-html{width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.moos-ag-grid .ag-cell-html>a,.moos-ag-grid .ag-cell-html>span{max-width:100%}.moos-ag-grid .workspace-thumbnail{width:40px;height:40px}.moos-ag-grid .workspace-actions{position:static!important;width:auto!important;min-width:0!important;background:transparent!important;box-shadow:none!important}.moos-ag-grid .ag-pinned-right-cols-container{box-shadow:-5px 0 14px rgba(20,57,43,.045)}.moos-ag-grid .ag-pinned-left-cols-container{box-shadow:5px 0 14px rgba(20,57,43,.045)}
.ag-header-sort-link{display:flex;width:100%;height:100%;gap:5px;align-items:center;color:inherit;text-decoration:none}.ag-header-sort-link:hover{color:var(--v2-green)}
.moos-ag-grid .ag-header-cell,.moos-ag-grid .ag-cell,.moos-ag-grid .ag-cell-html,.moos-ag-grid .ag-cell-html>a,.moos-ag-grid .ag-cell-html>span{font-style:normal}
.moos-ag-grid .ag-workspace-header{display:flex;align-items:center;gap:4px;width:100%;min-width:0;height:100%;padding-right:2px}.moos-ag-grid .ag-workspace-header-title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;text-decoration:none}.moos-ag-grid .ag-workspace-header-title:hover{color:#0e6b50}.moos-ag-grid .ag-workspace-pin{flex:0 0 24px;width:24px;height:24px;display:grid;place-items:center;padding:0;border:0;border-radius:5px;background:#eef5f1;color:#176b50;opacity:0;pointer-events:none;cursor:pointer;transition:opacity .12s ease,background .12s ease}.moos-ag-grid .ag-header-cell:hover .ag-workspace-pin,.moos-ag-grid .ag-workspace-pin:focus-visible{opacity:1;pointer-events:auto}.moos-ag-grid .ag-workspace-pin:hover,.moos-ag-grid .ag-workspace-pin:focus-visible{background:#d8ece3;color:#0a523e;outline:2px solid rgba(22,112,85,.2);outline-offset:1px}.moos-ag-grid .ag-pinned-left-header .ag-header-cell:hover .ag-workspace-pin{color:#fff;background:#0f6b4f}
.moos-ag-grid .ag-cell{font-weight:400}
.moos-ag-grid .ag-full-width-row{background:#edf4f1}.ag-project-group{display:flex;min-width:100%;width:100%;height:46px;align-items:center;padding:0 14px;border-top:1px solid #cddbd4;border-bottom:1px solid #d9e4df;will-change:transform}.ag-project-group>div{display:flex;width:100%;justify-content:space-between;gap:20px;align-items:center}.ag-project-group a{display:flex;gap:10px;align-items:center;color:var(--v2-text);text-decoration:none}.ag-project-group a strong{font-size:12px}.ag-project-group>div>span{color:var(--v2-muted);font-size:10px}

/* Search, authentication and system utilities */
.search-summary{display:flex;gap:9px;align-items:center;margin:-4px 0 14px;padding:10px 13px;border:1px solid #d7e3dd;border-radius:8px;color:#53665e;background:#edf5f1;font-size:11px}.search-summary i{color:var(--v2-green)}.search-summary strong{margin-left:auto;color:#2b463b}.search-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.search-grid .workspace-panel{min-height:180px}.search-grid .section-heading h2{display:flex;gap:8px;align-items:center}.search-grid .section-heading h2 i{color:var(--v2-green)}
.recycle-section{margin-top:24px}.recycle-section>.outside-heading{display:flex}.recycle-list.list-surface{box-shadow:0 7px 22px rgba(21,53,41,.04)}
.public-layout{min-height:100dvh;background:#f3f7f5}.public-header{position:absolute;z-index:2;width:100%;color:#fff;background:transparent}.public-header .brand-mark{background:#0c4938}.public-main{min-height:100dvh}.public-shell{min-height:100dvh;padding:0}
.auth-layout{display:grid;min-height:100dvh;grid-template-columns:minmax(360px,.9fr) minmax(460px,1.1fr);background:#fff}.auth-intro{display:flex;justify-content:center;flex-direction:column;padding:100px clamp(42px,7vw,110px);color:#eef7f3;background:radial-gradient(circle at 20% 15%,rgba(76,166,130,.30),transparent 32%),linear-gradient(145deg,#0b3b2e,#082d24)}.auth-mark{display:grid;width:48px;height:48px;place-items:center;border:1px solid rgba(255,255,255,.20);border-radius:10px;background:rgba(255,255,255,.09);font-size:23px}.auth-intro>p{margin:20px 0 7px;color:#9bc5b5;font-size:12px;font-weight:700}.auth-intro h1{max-width:610px;color:#fff;font-size:clamp(2.4rem,5vw,4.5rem);line-height:1.02}.auth-intro>span{max-width:570px;margin-top:20px;color:#b8d0c7;font-size:14px}.auth-intro ul{display:grid;gap:10px;margin:34px 0 0;padding:0;list-style:none}.auth-intro li{display:flex;gap:9px;align-items:center;color:#d9e9e3;font-size:12px}.auth-intro li i{color:#7fc2a7}.auth-layout .auth-card{align-self:center;width:min(470px,calc(100% - 50px));margin:80px auto;padding:38px;border:0;box-shadow:none}.auth-layout .auth-card h1{font-size:2rem}.auth-layout .auth-card>p{margin:7px 0 28px;color:var(--v2-muted)}.auth-submit{width:100%;margin-top:4px}.auth-layout .stacked-form p{gap:7px}.auth-layout .stacked-form input{height:44px}.auth-layout .errorlist{padding:9px 11px;border-radius:6px;background:#f8e8e5;font-size:11px}
@media(max-width:820px){.auth-layout{grid-template-columns:1fr}.auth-intro{display:none}.auth-layout .auth-card{margin:110px auto 40px}.search-grid{grid-template-columns:1fr}}

/* 2026-07-12 layout calibration: one density and alignment system */
:root{
  --sidebar:220px;
  --layout-gutter:clamp(20px,1.7vw,34px);
  --layout-section-gap:16px;
  --layout-panel-radius:8px;
}
.app-main::before{display:none}
.app-topbar{
  height:60px;
  padding-inline:var(--layout-gutter);
  gap:18px;
}
.topbar-context{min-width:170px}
.page-shell{
  width:100%;
  max-width:1920px;
  margin-inline:auto;
  padding:24px var(--layout-gutter) 42px;
}
.page-heading{
  min-height:0;
  margin-bottom:16px;
  padding-bottom:14px;
  align-items:flex-end;
}
.page-heading h1,.workspace-header h1{font-size:clamp(1.75rem,1.75vw,2.1rem)}
.page-heading p,.workspace-subtitle{margin-top:4px!important;line-height:1.35}
.page-kicker,.section-kicker{margin-bottom:3px}
.section-block,.management-section,.product-section{margin-top:var(--layout-section-gap)}
.section-heading{min-height:52px;padding:12px 16px}
.section-heading.outside-heading{margin-bottom:7px;padding:0}
.workspace-panel,.record-list,.list-surface,.management-card,.workspace-controls-card,.workspace-table-shell,.product-panel{
  border-radius:var(--layout-panel-radius);
  box-shadow:0 1px 2px rgba(15,45,34,.025);
}

/* Dashboard: compact vertical rhythm and aligned panels */
.metric-grid{gap:10px}
.metric-card{min-height:82px;padding:12px 15px}
.metric-card strong{font-size:24px}
.metric-icon{width:36px;height:36px}
.dashboard-grid{gap:12px;margin-top:14px;align-items:start}
.dashboard-lower-grid{gap:12px;margin-top:12px;align-items:start}
.dashboard-list{padding-inline:15px}
.dashboard-grid .dashboard-list li,.dashboard-lower-grid .dashboard-list li{min-height:52px;padding-block:8px}
.record-row{min-height:66px;padding:11px 14px}
.dashboard-lower-grid>.workspace-panel{height:auto;min-width:0;margin:0}
.dashboard-lower-grid .record-list{height:auto;border:0;border-radius:0;box-shadow:none}
.dashboard-lower-grid .section-heading{min-height:52px}

/* List pages: use the working area without creating an oversized centre island */
.list-toolbar{
  display:grid;
  grid-template-columns:auto minmax(260px,460px) minmax(220px,1fr);
  min-height:50px;
  gap:16px;
  padding-inline:14px;
}
.list-toolbar-search{width:100%}
.list-hint{justify-self:end;text-align:right}
html:has(.project-list-toolbar){scrollbar-gutter:stable}
.project-list-toolbar{position:relative;z-index:12;grid-template-columns:auto minmax(0,1fr);align-items:center;padding-block:10px}
.project-list-toolbar>.project-list-summary{display:flex;min-width:68px;min-height:36px;align-items:center;align-self:flex-end;gap:8px}
.project-list-summary-count{display:flex;align-items:baseline;gap:4px;white-space:nowrap}
.project-list-clear-slot{display:flex;min-height:0;align-items:center}
.project-list-controls{display:flex;min-width:0;gap:8px;align-items:flex-end;justify-content:flex-end;flex-wrap:wrap}
.project-list-controls .list-toolbar-search{min-width:220px;flex:1 1 280px}
.project-list-filter{display:grid;min-width:128px;max-width:175px;flex:1 1 135px;gap:3px}
.project-list-filter>span{color:var(--v2-muted);font-size:9px;font-weight:700;letter-spacing:.045em;text-transform:uppercase}
.project-list-filter select{width:100%;height:36px;padding:0 30px 0 10px;border:1px solid #d2dcd7;border-radius:6px;color:var(--v2-text);background:#fff;font:inherit;font-size:12px}
.project-list-filter select:focus{border-color:#7fae9c;box-shadow:0 0 0 3px rgba(18,99,75,.08);outline:0}
.project-multi-filter details{min-width:0;margin:0!important;padding:0!important;border:0!important;background:transparent!important}
.project-multi-filter summary{display:flex;height:36px;min-width:0;align-items:center;justify-content:space-between;gap:8px;padding:0 10px;border:1px solid #d2dcd7;border-radius:6px;color:var(--v2-text);background:#fff;font-size:12px;cursor:pointer;list-style:none}
.project-multi-filter summary::-webkit-details-marker{display:none}
.project-multi-filter summary::after{display:none!important}
.project-multi-filter summary>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.project-multi-filter summary>i{flex:0 0 auto;color:#6d7c76;font-size:10px;transition:transform .15s ease}
.project-multi-filter details[open] summary{margin:0!important;border-radius:6px!important;border-color:#7fae9c;box-shadow:none}
.project-multi-filter details[open] summary>i{transform:rotate(180deg)}
.project-multi-filter-panel{position:fixed;z-index:10050;display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:min(360px,calc(100vh - 24px));overflow:hidden;border:1px solid #b8ccc3;border-radius:8px;background:#fff;box-shadow:0 16px 38px rgba(13,45,34,.18)}
.project-multi-filter-panel-no-search{grid-template-rows:minmax(0,1fr) auto}
.project-multi-filter-search{display:flex;align-items:center;gap:7px;padding:8px 9px;border-bottom:1px solid #e2e9e5;color:#688076}
.project-multi-filter-search input{width:100%;min-height:30px;padding:4px 6px;border:0;background:#fff;box-shadow:none;outline:0;font:inherit;font-size:12px}
.project-multi-filter-options{overflow-y:auto;padding:5px}
.project-multi-filter-options label{display:flex;min-height:34px;align-items:center;gap:8px;padding:6px 8px;border-radius:5px;font-size:12px;cursor:pointer}
.project-multi-filter-options label:hover{background:#edf6f2}
.project-multi-filter-options label:has(input:checked){color:var(--v2-text);background:transparent;font-weight:400;box-shadow:none}
.project-multi-filter-options input[type="checkbox"]{position:absolute!important;width:1px!important;height:1px!important;margin:0!important;opacity:0!important;pointer-events:none}
.project-filter-check{display:grid;width:20px;height:20px;flex:0 0 20px;place-items:center;border:1px solid #aebeb7;border-radius:4px;color:transparent;background:#fff;font-size:12px;line-height:1}
.project-multi-filter-options input[type="checkbox"]:checked+.project-filter-check{border-color:#176b50;color:#fff;background:#176b50}
.project-multi-filter-options input[type="checkbox"]:focus-visible+.project-filter-check{outline:3px solid rgba(18,99,75,.16);outline-offset:2px}
.project-multi-filter-options label>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.project-multi-filter-panel footer{display:flex;justify-content:flex-end;gap:7px;padding:8px 9px;border-top:1px solid #e2e9e5}
.project-multi-filter-panel footer button{min-height:30px;padding:4px 10px;border:1px solid #bdcec6;border-radius:5px;color:#30483f;background:#fff;font:inherit;font-size:11px;font-weight:700;cursor:pointer}
.project-multi-filter-panel footer .project-multi-filter-apply{border-color:var(--v2-green);color:#fff;background:var(--v2-green)}
.project-list-clear{display:inline-flex;align-items:center;color:var(--v2-green);font-size:10px;font-weight:700;line-height:18px;white-space:nowrap}
.entity-table th{height:38px;padding-inline:11px}
.entity-table td{height:58px;padding:6px 11px}
.table-thumbnail{width:40px;height:40px}
.project-table th:first-child,.project-table td:first-child{width:58px}
.project-table .project-access-cell{min-width:132px}
.project-table{min-width:1480px}
.project-table .status-overdue{display:inline-flex;margin-top:4px;margin-left:0}
.project-overdue-filter{display:flex;min-height:38px;gap:7px;align-items:center;white-space:nowrap}
.project-overdue-filter input{accent-color:var(--forest-700)}

/* Workspace: header + one control bar + one search bar */
.page-shell:has(> .product-workspace-page){
  height:calc(100dvh - 60px);
  max-width:none;
  padding:14px 18px 12px;
}
.workspace-header{
  min-height:58px;
  margin:0 0 9px;
  align-items:center;
}
.workspace-header h1{margin-top:2px}
.workspace-header-actions{align-self:center}
.workspace-controls-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  min-height:50px;
  gap:14px;
  align-items:center;
  margin-bottom:8px;
  padding:0 11px;
}
.workspace-viewbar{
  min-width:0;
  overflow-x:auto;
  border:0;
  white-space:nowrap;
}
.workspace-view{min-height:36px;padding:7px 9px}
.workspace-control-row{min-height:0;gap:14px;white-space:nowrap}
.workspace-dimension-bar>span{display:none}
.workspace-toolbar{min-height:48px;margin-bottom:8px;padding:6px}
.workspace-search-form input,.workspace-search-form select{min-height:34px}
.workspace-table-shell{min-height:0}
.moos-ag-grid{--ag-header-height:38px;--ag-row-height:54px}

/* Detail pages: keep readable lines but remove decorative empty containers */
.page-shell:has(> .product-detail-pilot),
.page-shell:has(> .project-hero){max-width:1900px}
.product-detail-pilot .product-detail-hero,.project-hero{
  margin-bottom:0;
  padding:6px 0 18px;
}
.product-detail-pilot .product-detail-hero{grid-template-columns:88px minmax(0,1fr) auto;gap:16px}
.product-detail-pilot .product-detail-image{width:88px;height:88px}
.project-hero{grid-template-columns:92px minmax(0,1fr) auto;gap:17px}
.project-hero-image{width:92px;height:92px;border-radius:9px}
.project-hero-copy h1,.product-hero-copy h1{line-height:1.08}
.context-tabs{
  width:100%;
  gap:2px;
  margin:0 0 16px;
  border:0;
  border-bottom:1px solid var(--v2-line);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.context-tabs a{
  min-width:90px;
  justify-content:center;
  padding:10px 14px;
  border:0;
  border-bottom:2px solid transparent;
}
.context-tabs a:hover{background:#edf3f0}
.context-tabs a.active{
  color:var(--v2-green-dark);
  border-bottom-color:var(--v2-green);
  background:transparent;
}
.project-overview-layout{grid-template-columns:minmax(420px,.82fr) minmax(0,1.18fr);gap:12px;margin-top:0;align-items:start}
.project-overview-stack{display:grid;gap:12px;align-content:start;min-width:0}
.project-overview-layout>.product-panel{align-self:start}
.product-overview-layout{gap:12px}
.product-panel-heading{min-height:50px;padding:13px 16px 11px}
.project-narrative{min-height:0;padding:16px}
.project-source-panel{margin-top:0}
.product-definition-list>div,.product-development-list>div{padding:12px 16px}
.product-section{margin-top:18px}
.product-section-heading{margin-bottom:8px}
.attribute-group-grid{gap:12px}

/* Project tabs share one surface language: one header, one boundary, one content area. */
.page-shell:has(.project-overview-layout) .project-overview-layout{align-items:start}
.page-shell:has(>.section-block>.table-wrap)>.section-block{margin-top:0}
.page-shell:has(>.section-block>.table-wrap)>.section-block>.section-heading,
.page-shell:has(>.section-block>.timeline)>.section-block>.section-heading,
.page-shell:has(>.section-block>.file-filter-bar)>.section-block>.section-heading{
  min-height:58px;margin:0;padding:14px 18px;border:1px solid var(--v2-line);border-bottom:0;border-radius:10px 10px 0 0;background:#fbfcfb;
}
.page-shell:has(>.section-block>.table-wrap)>.section-block>.section-heading h2,
.page-shell:has(>.section-block>.timeline)>.section-block>.section-heading h2,
.page-shell:has(>.section-block>.file-filter-bar)>.section-block>.section-heading h2{font-size:16px;letter-spacing:-.01em}
.page-shell:has(>.section-block>.table-wrap)>.section-block>.table-wrap,
.page-shell:has(>.section-block>.timeline)>.section-block>.timeline.record-list{
  border:1px solid var(--v2-line);border-radius:0 0 10px 10px;background:#fff;box-shadow:0 1px 2px rgba(15,45,34,.025)
}
.page-shell:has(>.section-block>.table-wrap)>.section-block>.table-wrap{overflow:hidden}
.page-shell:has(>.section-block>.table-wrap)>.section-block>.table-wrap table{border:0;border-radius:0}
.page-shell:has(>.section-block>.file-filter-bar)>.section-block>.file-filter-bar{margin:0;border:1px solid var(--v2-line);border-top:0;border-radius:0;background:#fff;box-shadow:none}
.page-shell:has(>.section-block>.file-filter-bar)>.section-block>.document-preview-grid{padding:14px;border-top:0;justify-content:start;grid-template-columns:repeat(auto-fill,minmax(320px,380px));border:1px solid var(--v2-line);border-top:0;border-radius:0 0 10px 10px;background:#fff}
.page-shell:has(>.section-block>.timeline)>.section-block>.timeline.record-list{overflow:hidden}
.page-shell:has(>.section-block>.timeline)>.section-block>.timeline.record-list .timeline-item{border:0;border-bottom:1px solid #e9efec;border-radius:0;box-shadow:none}
.page-shell:has(>.section-block>.timeline)>.section-block>.timeline.record-list .timeline-item:last-child{border-bottom:0}

/* Communication and files align to the same project content width */
.communication-page{width:100%;max-width:none;margin:0}
.communication-titlebar{margin:0;padding:14px 18px;align-items:center;border:1px solid var(--v2-line);border-radius:10px 10px 0 0;background:#fbfcfb}
.communication-titlebar h2{font-size:1.5rem}
.communication-page>nav.communication-filters{display:flex;margin:0;padding:9px 18px;border:1px solid var(--v2-line);border-top:0;border-radius:0 0 10px 10px;background:#fff}
.communication-page>.communication-timeline{margin-top:14px}
.communication-title-actions{gap:7px;flex-wrap:wrap;justify-content:flex-end}
.communication-language-switch{margin:0;padding:3px}
.communication-language-switch a{min-height:30px;padding:4px 10px}
.timeline-count{display:inline-flex;min-height:34px;gap:4px;align-items:center;padding:0 7px;border:0;background:transparent;white-space:nowrap}
.timeline-count strong{color:var(--v2-text);font-size:12px}
.status-pill,.product-status,.visibility-tag{
  display:inline-flex!important;
  width:116px!important;
  min-width:116px!important;
  max-width:116px!important;
  height:30px!important;
  min-height:30px!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 10px!important;
  box-sizing:border-box!important;
  line-height:1!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.communication-timeline{gap:11px}
.communication-entry-body{padding:15px 17px}
.file-filter-bar{margin-bottom:11px;padding:9px 11px}
.document-preview-grid{gap:12px}

/* Management remains scannable instead of stretching cards endlessly */
.page-shell:has(> .compact-heading + .management-section){max-width:1800px}
.management-section{margin-top:18px}
.management-section-heading{margin-bottom:8px}
.management-grid{gap:10px}
.management-card{min-height:76px;padding:12px 14px}
.communication-entry-body{max-width:1540px}

/* Workspace dialogs: full-width form contract and readable builders */
.workspace-dialog>form{width:100%;min-width:0}
.workspace-dialog header,.workspace-dialog footer,.workspace-dialog-body{width:100%;box-sizing:border-box}
.column-configurator{grid-template-columns:240px minmax(0,1fr) 280px}
.column-config-fields,.column-config-groups,.selected-column-panel-rich{min-width:0}
.column-config-fields{overflow:hidden}
.column-field-sections{min-width:0}
.column-field-card{width:100%;min-width:0}
.condition-only-layout .condition-builder-panel{max-width:none}
.workspace-dialog:has(.condition-only-layout),.workspace-dialog:has(.condition-only-layout)>form{overflow:visible}
.workspace-dialog-body.condition-only-layout:has(.field-suggestions:not([hidden])){position:relative;overflow:visible!important;z-index:5}
.workspace-dialog:has(.condition-only-layout) footer{position:relative;z-index:1}
.condition-column-labels{
  display:none;
  grid-template-columns:minmax(260px,1.45fr) minmax(140px,.65fr) minmax(180px,.9fr) 38px;
  gap:8px;
  margin:0 0 5px;
  padding:0 1px;
  color:#63766e;
  font-size:11px;
  font-weight:700;
}
.condition-builder-panel:has(.attribute-filter-row) .condition-column-labels{display:grid}
.attribute-filter-row select:disabled,.attribute-filter-row input:disabled{cursor:not-allowed;color:#87958f;background:#f1f4f2}
.condition-only-layout .field-suggestions{z-index:40}.condition-only-layout .field-suggestions.opens-up{top:auto;bottom:calc(100% + 5px)}
@media(max-width:1180px){
  .column-configurator{grid-template-columns:220px minmax(0,1fr)}
  .selected-column-panel-rich{display:none}
}

@media(max-width:1100px){
  :root{--sidebar:76px}
  .page-shell{padding-inline:18px}
  .list-toolbar{grid-template-columns:auto minmax(220px,1fr)}
  .list-hint{display:none}
  .project-list-toolbar{grid-template-columns:1fr;gap:8px}
  .project-list-controls{justify-content:flex-start}
  .workspace-controls-card{grid-template-columns:1fr}
  .workspace-control-row{padding-bottom:8px}
  .project-overview-layout{grid-template-columns:1fr}
}
@media(max-width:760px){
  .page-shell{padding:18px 14px 36px}
  .page-heading{align-items:flex-start}
  .list-toolbar{display:flex;align-items:stretch;flex-direction:column;gap:8px;padding-block:10px}
  .project-list-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .project-list-controls .list-toolbar-search{grid-column:1/-1;min-width:0}
  .project-list-filter{width:100%;min-width:0;max-width:none}
  .project-list-toolbar>.project-list-summary{width:100%;align-self:stretch;justify-content:space-between}
  .product-detail-pilot .product-detail-hero,.project-hero{grid-template-columns:72px minmax(0,1fr)}
  .product-detail-pilot .product-detail-image,.project-hero-image{width:72px;height:72px}
  .context-tabs{overflow-x:auto}
  .context-tabs a{min-width:max-content}
  .column-configurator{grid-template-columns:1fr}
  .condition-column-labels{display:none!important}
  .condition-row{grid-template-columns:1fr}
  .condition-row .remove-filter{justify-self:end}
}
.image-source-picker{display:grid;gap:10px;min-width:0}.image-source-tabs{display:flex;gap:4px;padding:3px;border:1px solid #dce6e1;border-radius:10px;background:#f2f6f4}.image-source-tab{display:flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:6px 12px;border:0;border-radius:7px;background:transparent;color:#53645c;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.image-source-tab span{font-size:10px;font-weight:500;color:#829088}.image-source-tab b{display:grid;min-width:18px;height:18px;padding:0 5px;place-items:center;border-radius:9px;background:#dfeae5;font-size:10px}.image-source-tab.is-active{background:#fff;color:#075b43;box-shadow:0 1px 4px rgba(24,63,49,.1)}.image-source-tab:disabled{cursor:not-allowed;opacity:.45}.project-image-library{min-width:0}.project-image-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:9px;max-height:330px;overflow:auto;padding:2px}.project-image-option{position:relative;display:grid;grid-template-columns:62px minmax(0,1fr);gap:9px;align-items:center;padding:7px;border:1px solid #dce5e1;border-radius:10px;background:#fff;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}.project-image-option:hover{border-color:#9fc8b9}.project-image-option:has(input:checked){border-color:#087553;background:#f0f9f5;box-shadow:0 0 0 2px rgba(8,117,83,.11)}.project-image-option input{position:absolute;opacity:0;pointer-events:none}.project-image-option-preview{display:grid;width:62px;aspect-ratio:1;place-items:center;overflow:hidden;border-radius:7px;background:#edf2ef}.project-image-option-preview img{width:100%;height:100%;object-fit:contain}.project-image-option-copy{display:grid;min-width:0;gap:2px}.project-image-option-copy strong,.project-image-option-copy small,.project-image-option-copy em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-image-option-copy strong{font-size:11px}.project-image-option-copy small{color:#64736c;font-size:10px}.project-image-option-copy em{color:#84928b;font-size:9px;font-style:normal}.project-image-option>i{position:absolute;right:7px;top:7px;color:#087553;opacity:0}.project-image-option:has(input:checked)>i{opacity:1}.image-library-empty{display:grid;min-height:120px;place-items:center;align-content:center;gap:4px;border:1px dashed #cddbd4;border-radius:10px;color:#728079;text-align:center}.image-library-empty i{font-size:22px}.image-library-empty strong{font-size:12px}.image-library-empty span{font-size:10px}.image-source-picker--product{align-self:start}.image-source-picker--product .image-source-tabs{width:100%}
@media(max-width:760px){.project-image-library-grid{grid-template-columns:1fr}.image-source-tab{flex:1;padding-inline:7px}}

/* Global square-thumbnail contract: small previews never crop source images. */
:where(
  .table-thumbnail,
  .workspace-thumbnail,
  .overview-product-thumb,
  .overview-file-preview,
  .product-image-preview,
  .project-image-preview
){
  position:relative;
  aspect-ratio:1 / 1!important;
  place-items:center;
  overflow:hidden;
  box-sizing:border-box;
  background:#fff!important;
}
.project-image-preview{width:82px!important;height:82px!important}
:where(
  .workspace-thumbnail,
  .overview-product-thumb,
  .overview-file-preview,
  .product-image-preview,
  .project-image-preview
) > img,
img.table-thumbnail{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
}
:where(
  .workspace-thumbnail,
  .overview-product-thumb,
  .overview-file-preview,
  .product-image-preview,
  .project-image-preview
) > img{
  position:absolute!important;
  inset:0!important;
}

/* 2026-07-12 full-system surface audit: one contract for every page and modal */
.page-shell>*{min-width:0}
.image-lightbox{
  width:min(92vw,1100px);
  height:min(92dvh,900px);
  max-width:none;
  max-height:none;
  box-sizing:border-box;
  display:grid;
  place-items:center;
  overflow:hidden;
  padding:48px 18px 18px;
}
.image-lightbox:not([open]){display:none!important}
.image-lightbox img{
  display:block;
  width:auto;
  height:auto;
  max-width:calc(92vw - 36px);
  max-height:820px;
  object-fit:contain;
}
.image-lightbox button{z-index:1;display:grid;width:36px;height:36px;place-items:center;right:12px;top:10px;font-size:22px}
.page-heading>div:first-child,.section-heading>div,.workspace-header>div:first-child{min-width:0}
.page-heading h1,.section-heading h2,.workspace-header h1{overflow-wrap:anywhere}
.workspace-panel,.product-panel,.management-card,.record-row,.document-card{min-width:0}
.settings-grid,.settings-grid.three-columns,.measurement-fields,.packaging-level-grid,.attribute-fields-grid{align-items:start}
.field-row,.settings-grid>*{min-width:0}
.field-row>input,.field-row>select,.field-row>textarea{width:100%;max-width:100%;box-sizing:border-box}

.project-settings-dialog,.communication-dialog,.product-create-dialog,.workspace-dialog{
  max-width:calc(100vw - 24px);
  max-height:calc(100dvh - 24px);
  overflow:hidden;
}
.project-settings-dialog>form,.communication-dialog>form,.product-create-dialog>form,.workspace-dialog>form{
  width:100%;min-width:0;max-width:none;box-sizing:border-box;
}
.project-settings-form,.communication-modal-form{
  display:grid;max-height:calc(100dvh - 24px);grid-template-rows:auto minmax(0,1fr) auto;
}
.modal-heading,.modal-actions,.settings-scroll,.product-create-scroll,.workspace-dialog header,.workspace-dialog footer,.workspace-dialog-body{
  width:100%;min-width:0;box-sizing:border-box;
}
.settings-scroll,.product-create-scroll,.workspace-dialog-body{overflow-x:hidden}
.modal-heading>div:first-child,.workspace-dialog header>div:first-child{min-width:0}
.modal-heading h2,.workspace-dialog h2{overflow-wrap:anywhere}
.modal-actions{gap:8px;flex-wrap:wrap}
.modal-actions .modal-action-spacer{flex:1 1 24px}
.project-settings-dialog .settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.project-settings-dialog .settings-grid.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}
.supplier-workflow-dialog{width:min(1080px,calc(100vw - 24px))}
.supplier-workflow-dialog .settings-scroll{padding-bottom:18px}
.communication-dialog{width:min(1100px,calc(100vw - 24px))}
.communication-modal-form{background:#f6f8f7}
.communication-modal-form .settings-scroll{padding:18px 20px}
.communication-modal-form .tiptap-editor{background:#fff}

.workspace-dialog-wide{width:min(1100px,calc(100vw - 24px))}
.workspace-dialog-xwide{width:min(1380px,calc(100vw - 24px))}
.workspace-dialog-small{width:min(560px,calc(100vw - 24px))}
.workspace-dialog header{min-height:72px;padding:14px 18px}
.workspace-dialog header p{max-width:680px;margin:4px 0 0;line-height:1.35}
.workspace-dialog footer{min-height:62px;padding:11px 18px}
.workspace-dialog-body{padding:16px 18px}
.condition-builder-panel,.column-config-groups,.column-config-fields,.selected-column-panel-rich{min-width:0}
.condition-row,.attribute-filter-row{width:100%;min-width:0}
.condition-row>*{min-width:0}
.condition-row input,.condition-row select{width:100%;max-width:100%}
.column-field-sections .column-group{align-content:start}
.column-field-copy{min-width:0}
.column-field-copy strong,.column-field-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.selected-column-panel-rich{overflow:hidden}

.document-preview-grid{align-items:stretch}
.document-card{height:500px;min-height:500px;max-height:500px;grid-template-rows:190px minmax(0,1fr)}
.document-card-body{overflow:hidden}
.document-card-heading,.document-card-heading>div{min-width:0}
.document-card-heading>wa-badge,.document-card-heading>.status-pill{flex:0 0 auto;max-width:42%}
.document-card-heading h2{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.25}
.document-meta{display:-webkit-box;min-height:38px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.45}
.document-card .icon-action-group{min-height:38px;align-items:center}
.management-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.management-card h2,.management-card p{overflow-wrap:anywhere}
.search-grid{display:block;columns:2;column-gap:12px}
.search-grid>*{display:inline-block;width:100%;min-width:0;height:auto;margin:0 0 12px;break-inside:avoid}

@media(max-width:900px){
  .image-lightbox{width:calc(100vw - 24px);height:calc(100dvh - 24px)}
  .image-lightbox img{max-width:calc(100vw - 60px);max-height:calc(100dvh - 100px)}
  .search-grid{columns:1}
  .project-settings-dialog .settings-grid,.project-settings-dialog .settings-grid.three-columns{grid-template-columns:1fr}
  .field-span-2{grid-column:auto}
  .supplier-workflow-dialog{width:calc(100vw - 16px)}
}
@media(max-width:760px){
  .project-settings-dialog,.communication-dialog,.product-create-dialog,.workspace-dialog{
    width:100vw;max-width:none;height:100dvh;max-height:none;border-radius:0;
  }
  .project-settings-form,.communication-modal-form,.product-create-form,.workspace-dialog>form{height:100dvh;max-height:none}
  .modal-heading,.workspace-dialog header{padding:calc(13px + var(--safe-top)) calc(14px + var(--safe-right)) 13px calc(14px + var(--safe-left))}
  .settings-scroll,.communication-modal-form .settings-scroll,.workspace-dialog-body{padding:14px}
  .modal-actions,.workspace-dialog footer{padding:10px calc(14px + var(--safe-right)) calc(10px + var(--safe-bottom)) calc(14px + var(--safe-left))}
  .modal-actions .button,.modal-actions .secondary-button{flex:1}
  .document-card{height:480px;min-height:480px;max-height:480px}
}

/* 2026-07-14 editorial operations desk: a bolder, mature workbench theme. */
.editorial-workbench{
  --editorial-ink:#10241c;
  --editorial-forest:#0b533e;
  --editorial-forest-deep:#07392d;
  --editorial-canvas:#f1f2ed;
  --editorial-paper:#fffef9;
  --editorial-line:#c9d2cc;
  --editorial-muted:#607069;
  --editorial-accent:#b77b2f;
  --v2-green:var(--editorial-forest);
  --v2-green-dark:var(--editorial-forest-deep);
  --v2-green-soft:#dfece6;
  --v2-canvas:var(--editorial-canvas);
  --v2-line:var(--editorial-line);
  --v2-text:var(--editorial-ink);
  --v2-muted:var(--editorial-muted);
  color:var(--editorial-ink);
  background:var(--editorial-canvas);
  font-family:var(--ui-font-sans);
  font-variant-numeric:tabular-nums;
}
.editorial-workbench .app-sidebar{
  color:#edf4f0;
  background:linear-gradient(180deg,#0c2f25 0%,#09271f 58%,#071f19 100%);
  border-right-color:rgba(255,255,255,.08);
  box-shadow:8px 0 28px rgba(7,31,25,.13);
}
.editorial-workbench .app-brand{color:#fff}
.editorial-workbench .brand-mark{color:#09291f;background:#9ee0c2;box-shadow:none}
.editorial-workbench .app-brand>span:last-child small{color:#91aca1}
.editorial-workbench .nav-label{color:#6f9184;font-size:9px;font-weight:800;letter-spacing:.14em}
.editorial-workbench .primary-nav a{position:relative;color:#bed0c8;border-radius:4px}
.editorial-workbench .primary-nav i{color:#83a296}
.editorial-workbench .primary-nav a:hover,
.editorial-workbench .primary-nav a:focus-visible{color:#fff;background:rgba(255,255,255,.07)}
.editorial-workbench .primary-nav a:focus-visible{outline:2px solid #9ee0c2;outline-offset:2px}
.editorial-workbench .primary-nav a.active{color:#fff;background:rgba(158,224,194,.12);box-shadow:inset 3px 0 0 #9ee0c2}
.editorial-workbench .primary-nav a.active i{color:#9ee0c2}
.editorial-workbench .sidebar-user{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.06)}
.editorial-workbench .sidebar-user small{color:#8fa99f}
.editorial-workbench .sidebar-user .user-avatar{color:#08271e;background:#9ee0c2}
.editorial-workbench .app-topbar{
  border-bottom:1px solid #b9c5bf;
  background:rgba(255,254,249,.94);
  box-shadow:0 5px 18px rgba(16,36,28,.04);
  backdrop-filter:blur(14px);
}
.editorial-workbench .nav-toggle{color:#315f4f;border-color:#c8d3cd;background:#fffef9}
.editorial-workbench .nav-toggle:hover{color:#fff;background:var(--editorial-forest)}
.editorial-workbench .topbar-context span{color:#7f8f88;font-weight:750;letter-spacing:.09em;text-transform:uppercase}
.editorial-workbench .topbar-context strong{color:var(--editorial-ink);font-weight:750}
.editorial-workbench .page-shell{background:linear-gradient(105deg,rgba(255,254,249,.28),transparent 36%)}
.editorial-workbench .page-heading{
  min-height:96px;
  margin-bottom:20px;
  padding-bottom:18px;
  border-bottom:2px solid var(--editorial-ink);
}
.editorial-workbench .page-heading h1,
.editorial-workbench .workspace-header h1{
  color:var(--editorial-ink);
  font-family:var(--ui-font-sans);
  font-size:clamp(2.45rem,3.25vw,3.55rem);
  font-weight:760;
  line-height:.98;
  letter-spacing:-.045em;
}
.editorial-workbench .page-heading p,.editorial-workbench .workspace-subtitle{color:var(--editorial-muted);font-size:12px}
.editorial-workbench .page-kicker,.editorial-workbench .section-kicker,.editorial-workbench .eyebrow,.editorial-workbench .section-label{
  color:var(--editorial-forest);
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
}
.editorial-workbench .button{border-radius:4px;background:var(--editorial-forest);box-shadow:none}
.editorial-workbench .button::after{display:none}
.editorial-workbench .button:hover{background:var(--editorial-forest-deep);box-shadow:0 7px 18px rgba(7,57,45,.17)}
.editorial-workbench .secondary-button,.editorial-workbench .icon-button{border-radius:4px;border-color:#b8c5be;background:var(--editorial-paper)}
.editorial-workbench .secondary-button:hover,.editorial-workbench .icon-button:hover{border-color:#6f8f82;background:#f5f6f1}
.editorial-workbench .workspace-panel,
.editorial-workbench .record-list,
.editorial-workbench .list-surface,
.editorial-workbench .management-card,
.editorial-workbench .workspace-controls-card,
.editorial-workbench .workspace-table-shell,
.editorial-workbench .product-panel{
  border-color:var(--editorial-line);
  border-radius:4px;
  background:var(--editorial-paper);
  box-shadow:none;
}
.editorial-workbench .section-heading,.editorial-workbench .product-panel-heading{
  border-bottom-color:#d7ded9;
  background:#f8f8f3;
}
.editorial-workbench .section-heading{position:relative}
.editorial-workbench .section-heading::before{position:absolute;top:-1px;right:-1px;left:-1px;height:3px;background:var(--editorial-forest);content:""}
.editorial-workbench .section-heading h2,.editorial-workbench .product-section-heading h2{font-weight:760;letter-spacing:-.02em}
.editorial-workbench .section-link{color:var(--editorial-forest);font-weight:750}

/* Dashboard behaves like a front page: one lead number and a ruled stat strip. */
.editorial-workbench .metric-grid{gap:0;overflow:hidden;border:1px solid var(--editorial-line);border-radius:4px;background:var(--editorial-paper)}
.editorial-workbench .metric-card{
  min-height:116px;
  padding:18px 20px;
  overflow:hidden;
  border:0;
  border-right:1px solid var(--editorial-line);
  border-radius:0;
  background:var(--editorial-paper);
  box-shadow:none;
}
.editorial-workbench .metric-card:last-child{border-right:0}
.editorial-workbench .metric-card::after{display:none}
.editorial-workbench .metric-card:hover{z-index:1;transform:none;background:#f6f8f4;box-shadow:inset 0 -3px 0 var(--editorial-forest)}
.editorial-workbench .metric-card>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px 14px;width:100%}
.editorial-workbench .metric-card>div>span{grid-column:1/-1;color:var(--editorial-muted);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.editorial-workbench .metric-card strong{grid-column:1;grid-row:2;margin:4px 0 0;color:var(--editorial-ink);font-size:38px;font-weight:760;line-height:.9}
.editorial-workbench .metric-card small{grid-column:2;grid-row:2;color:#7a8982;font-size:10px;text-align:right}
.editorial-workbench .metric-icon{position:absolute;top:14px;right:14px;width:28px;height:28px;border-radius:3px;color:var(--editorial-forest)!important;background:#e4eee9}
.editorial-workbench .metric-card--lead{color:#fff;background:linear-gradient(145deg,#0d5842,#07392d)}
.editorial-workbench .metric-card--lead:hover{background:linear-gradient(145deg,#11664d,#07392d);box-shadow:inset 0 -3px 0 #9ee0c2}
.editorial-workbench .metric-card--lead>div>span,.editorial-workbench .metric-card--lead small{color:#b9d4c8}
.editorial-workbench .metric-card--lead strong{color:#fff}
.editorial-workbench .metric-card--lead .metric-icon{color:#fff!important;background:rgba(255,255,255,.12)}
.editorial-workbench .metric-card.attention strong,.editorial-workbench .metric-card.warning strong{color:var(--editorial-accent)}
.editorial-workbench .dashboard-list li,.editorial-workbench .record-row{border-color:#dce2de}
.editorial-workbench .dashboard-list li:hover,.editorial-workbench .record-row:hover{background:#f4f6f2}

/* Lists and data surfaces use hard rules and stronger indexing. */
.editorial-workbench .list-toolbar{border-bottom:1px solid var(--editorial-line);background:#f8f8f3}
.editorial-workbench .list-toolbar>div:first-child strong{color:var(--editorial-forest);font-size:18px}
.editorial-workbench .list-toolbar-search input{border-radius:3px;border-color:#bfcac4;background:#fffef9}
.editorial-workbench .entity-table th{color:#41564d;background:#e7ebe7;font-size:10px;font-weight:800;letter-spacing:.05em}
.editorial-workbench .entity-table td{border-color:#dce2de}
.editorial-workbench .entity-table tbody tr:hover{background:#f1f5f1}
.editorial-workbench .table-code{color:var(--editorial-forest);font-family:"Cascadia Mono","Segoe UI Mono",monospace;font-weight:750;text-decoration:underline;text-decoration-color:#b5c8bf;text-underline-offset:3px}
.editorial-workbench .table-thumbnail{border-radius:3px;border-color:#bbc8c1}

/* Detail pages read as product and project dossiers. */
.editorial-workbench .project-hero,.editorial-workbench .product-detail-pilot .product-detail-hero{
  min-height:138px;
  margin:0 -10px;
  padding:20px 18px 24px;
  border-top:1px solid #bcc8c2;
  background:linear-gradient(110deg,#fffef9 0%,#edf2ed 72%,#e3ebe6 100%);
}
.editorial-workbench .project-hero::after,.editorial-workbench .product-detail-hero::after{height:3px;background:var(--editorial-forest)}
.editorial-workbench .project-hero-copy h1,.editorial-workbench .product-hero-copy h1{
  color:var(--editorial-ink);
  font-family:var(--ui-font-sans);
  font-size:clamp(2.35rem,3.4vw,3.25rem);
  font-weight:760;
  letter-spacing:-.045em;
}
.editorial-workbench .project-hero-image,.editorial-workbench .product-detail-image{border-radius:3px;border-color:#aebdb5;box-shadow:8px 8px 0 rgba(11,83,62,.11)}
.editorial-workbench .context-tabs{margin-top:0;border-bottom:1px solid #aebcb5}
.editorial-workbench .context-tabs a{color:#5c6e66;font-size:11px;font-weight:750;letter-spacing:.02em}
.editorial-workbench .context-tabs a:hover{color:var(--editorial-forest-deep);background:#e6ece7}
.editorial-workbench .context-tabs a.active{color:var(--editorial-forest-deep);border-bottom-color:var(--editorial-forest);background:transparent}
.editorial-workbench .overview-module,.editorial-workbench .project-narrative{border-radius:4px;border-color:var(--editorial-line);box-shadow:none}
.editorial-workbench .overview-module-heading,.editorial-workbench .product-panel-heading{border-top:3px solid var(--editorial-forest)}
.editorial-workbench .product-development-panel{background:#eaf0eb}
.editorial-workbench .product-development-panel .product-panel-heading{background:#143d31;color:#fff}
.editorial-workbench .product-development-panel .product-panel-heading p{color:#a9c7bb}
.editorial-workbench .product-section-heading{padding-bottom:7px;border-bottom:2px solid var(--editorial-ink)}

/* Workspace keeps its editing contracts while gaining an editorial control rail. */
.editorial-workbench .product-workspace-page .workspace-header{min-height:70px;padding-bottom:10px;border-bottom:2px solid var(--editorial-ink)}
.editorial-workbench .product-workspace-page .workspace-header h1{font-size:clamp(2rem,2.6vw,2.8rem)}
.editorial-workbench .workspace-controls-card{border-top:3px solid var(--editorial-forest)}
.editorial-workbench .workspace-viewbar{background:#f7f7f2}
.editorial-workbench .workspace-view{border-radius:2px}
.editorial-workbench .workspace-view.active{color:#fff;background:var(--editorial-forest)}
.editorial-workbench .workspace-toolbar{border-radius:3px;border-color:#b7c5be;background:#f8f8f3;box-shadow:none}
.editorial-workbench .workspace-dimension-switch{border-radius:3px;background:#e3e9e5}
.editorial-workbench .workspace-dimension-switch a{border-radius:2px}
.editorial-workbench .moos-ag-grid{--ag-border-color:#bdc9c3;--ag-header-background-color:#e3e8e4;--ag-header-foreground-color:#314b40;--ag-row-border-color:#dbe2de;--ag-odd-row-background-color:#fbfbf7;--ag-row-hover-color:#edf3ee;--ag-selected-row-background-color:#dfece5;--ag-wrapper-border-radius:3px}
.editorial-workbench .moos-ag-grid .ag-root-wrapper{border-radius:3px}
.editorial-workbench .moos-ag-grid .ag-header{border-bottom:2px solid #9aaba2}
.editorial-workbench .moos-ag-grid .ag-header-cell{font-weight:800;letter-spacing:.035em}

/* Communication becomes a ruled editorial log. */
.editorial-workbench .communication-titlebar{border-radius:4px 4px 0 0;border-top:3px solid var(--editorial-forest);background:#f8f8f3}
.editorial-workbench .communication-page>nav.communication-filters{border-radius:0 0 4px 4px}
.editorial-workbench .communication-filters{border-radius:3px;background:#e5ebe7}
.editorial-workbench .communication-filters a{border-radius:2px}
.editorial-workbench .timeline-marker{border-color:var(--editorial-canvas);border-radius:3px;background:var(--editorial-forest-deep);box-shadow:0 0 0 1px #8da499}
.editorial-workbench .timeline-rail::before{background:#9aafa5}
.editorial-workbench .communication-entry-body{border-radius:3px;border-left:3px solid var(--editorial-forest);box-shadow:none}
.editorial-workbench .communication-entry-body:hover{border-color:var(--editorial-forest);background:#fff;box-shadow:0 7px 20px rgba(16,36,28,.06)}

/* Management is an indexed directory, not a grid of floating cards. */
.editorial-workbench .management-section{position:relative;padding-top:8px;border-top:2px solid var(--editorial-ink)}
.editorial-workbench .management-section-heading{display:grid;grid-template-columns:minmax(220px,.45fr) minmax(0,1fr);gap:20px;align-items:baseline}
.editorial-workbench .management-section-heading span{display:flex;gap:9px;align-items:center;color:var(--editorial-ink);font-size:15px;font-weight:800}
.editorial-workbench .management-section-heading span::before{color:var(--editorial-forest);font-size:11px;letter-spacing:.08em}
.editorial-workbench .management-section--access .management-section-heading span::before{content:"01"}
.editorial-workbench .management-section--configuration .management-section-heading span::before{content:"02"}
.editorial-workbench .management-grid{gap:0;border-top:1px solid var(--editorial-line);border-left:1px solid var(--editorial-line)}
.editorial-workbench .management-card{min-height:86px;border-width:0 1px 1px 0;border-radius:0;background:var(--editorial-paper)}
.editorial-workbench .management-card:hover{z-index:1;transform:none;border-color:var(--editorial-line);background:#eef3ee;box-shadow:inset 3px 0 0 var(--editorial-forest)}
.editorial-workbench .management-icon{width:34px;height:34px;border-radius:3px;color:#fff;background:var(--editorial-forest)}
.editorial-workbench .management-card h2{color:var(--editorial-ink);font-size:14px;font-weight:760}
.editorial-workbench .management-card p{font-size:11px}

@media(max-width:1100px){
  .editorial-workbench .app-sidebar{box-shadow:4px 0 18px rgba(7,31,25,.13)}
  .editorial-workbench .metric-card strong{font-size:32px}
  .editorial-workbench .page-heading h1,.editorial-workbench .workspace-header h1{font-size:clamp(2.1rem,4vw,3rem)}
}
@media(max-width:760px){
  .editorial-workbench .page-heading{min-height:auto;padding-bottom:14px}
  .editorial-workbench .page-heading h1,.editorial-workbench .workspace-header h1{font-size:2.15rem}
  .editorial-workbench .metric-grid{grid-template-columns:1fr 1fr}
  .editorial-workbench .metric-card{min-height:104px;border-bottom:1px solid var(--editorial-line)}
  .editorial-workbench .metric-card:nth-child(2n){border-right:0}
  .editorial-workbench .metric-card strong{font-size:30px}
  .editorial-workbench .metric-card small{display:none}
  .editorial-workbench .project-hero,.editorial-workbench .product-detail-pilot .product-detail-hero{min-height:0;margin-inline:0;padding-inline:0;background:transparent}
  .editorial-workbench .project-hero-copy h1,.editorial-workbench .product-hero-copy h1{font-size:1.8rem}
  .editorial-workbench .management-section-heading{grid-template-columns:1fr;gap:3px}
}

/* Modern correction: keep the hierarchy bold without feeling archival or severe. */
.editorial-workbench{
  --editorial-canvas:#f3f6f3;
  --editorial-paper:#ffffff;
  --editorial-line:#d5dfda;
  --editorial-muted:#66766f;
}
.editorial-workbench .primary-nav a{border-radius:8px}
.editorial-workbench .primary-nav a.active{box-shadow:inset 3px 0 0 #9ee0c2,0 5px 16px rgba(0,0,0,.08)}
.editorial-workbench .sidebar-user{border-radius:10px}
.editorial-workbench .app-topbar{border-bottom-color:#d7e0dc;box-shadow:0 7px 24px rgba(16,36,28,.045)}
.editorial-workbench .nav-toggle,
.editorial-workbench .button,
.editorial-workbench .secondary-button,
.editorial-workbench .icon-button{border-radius:8px}
.editorial-workbench .page-shell{background:radial-gradient(circle at 88% 1%,rgba(112,199,160,.09),transparent 30%)}
.editorial-workbench .page-heading{
  min-height:90px;
  border-bottom:1px solid #aec0b7;
  box-shadow:inset 0 -3px 0 rgba(11,83,62,.08);
}
.editorial-workbench .page-heading h1,
.editorial-workbench .workspace-header h1{font-size:clamp(2.35rem,3vw,3.25rem);letter-spacing:-.04em}
.editorial-workbench .page-kicker,
.editorial-workbench .section-kicker,
.editorial-workbench .eyebrow,
.editorial-workbench .section-label{letter-spacing:.08em}
.editorial-workbench .workspace-panel,
.editorial-workbench .record-list,
.editorial-workbench .list-surface,
.editorial-workbench .management-card,
.editorial-workbench .workspace-controls-card,
.editorial-workbench .workspace-table-shell,
.editorial-workbench .product-panel{border-radius:10px;box-shadow:0 8px 28px rgba(16,49,37,.045)}
.editorial-workbench .section-heading::before{right:16px;left:16px;height:3px;border-radius:0 0 3px 3px;background:linear-gradient(90deg,var(--editorial-forest),#59a985)}
.editorial-workbench .metric-grid{gap:8px;overflow:visible;border:0;border-radius:0;background:transparent}
.editorial-workbench .metric-card{
  border:1px solid var(--editorial-line);
  border-radius:11px;
  box-shadow:0 8px 24px rgba(16,49,37,.045);
}
.editorial-workbench .metric-card:last-child{border-right:1px solid var(--editorial-line)}
.editorial-workbench .metric-card:hover{transform:translateY(-2px);border-color:#abc3b7;background:#fff;box-shadow:0 13px 30px rgba(16,49,37,.08)}
.editorial-workbench .metric-card>div>span{letter-spacing:.06em;text-transform:none}
.editorial-workbench .metric-card--lead{border-color:#0d5943;border-radius:11px;background:linear-gradient(145deg,#0d684c,#084232)}
.editorial-workbench .metric-card--lead:hover{border-color:#0d684c;background:linear-gradient(145deg,#117557,#084232);box-shadow:0 14px 30px rgba(7,57,45,.18)}
.editorial-workbench .metric-icon{border-radius:7px}
.editorial-workbench .list-toolbar{background:rgba(248,250,248,.88)}
.editorial-workbench .list-toolbar-search input{border-radius:7px}
.editorial-workbench .entity-table th{background:#eaf0ec;letter-spacing:.035em}
.editorial-workbench .table-thumbnail{border-radius:7px}
.editorial-workbench .project-hero,
.editorial-workbench .product-detail-pilot .product-detail-hero{
  margin:0;
  padding:20px 18px 24px;
  overflow:hidden;
  border:1px solid #d2ded8;
  border-radius:14px 14px 0 0;
  background:linear-gradient(115deg,#fff 0%,#eef6f1 72%,#e5f0ea 100%);
  box-shadow:0 14px 36px rgba(16,49,37,.06);
}
.editorial-workbench .project-hero::after,.editorial-workbench .product-detail-hero::after{height:3px;background:linear-gradient(90deg,var(--editorial-forest),#60b08c)}
.editorial-workbench .project-hero-copy h1,.editorial-workbench .product-hero-copy h1{font-size:clamp(2.25rem,3.1vw,3.05rem);letter-spacing:-.04em}
.editorial-workbench .project-hero-image,.editorial-workbench .product-detail-image{border-radius:9px;box-shadow:0 9px 25px rgba(11,83,62,.13)}
.editorial-workbench .context-tabs{padding-inline:8px;border:1px solid #d2ded8;border-top:0;border-radius:0 0 12px 12px;background:rgba(255,255,255,.72)}
.editorial-workbench .context-tabs a{border-radius:7px 7px 0 0}
.editorial-workbench .overview-module,.editorial-workbench .project-narrative{border-radius:10px;box-shadow:0 8px 28px rgba(16,49,37,.04)}
.editorial-workbench .overview-module-heading,.editorial-workbench .product-panel-heading{border-top:0}
.editorial-workbench .overview-module-heading::before,
.editorial-workbench .product-panel-heading::before{display:block;width:34px;height:3px;margin-bottom:8px;border-radius:4px;background:linear-gradient(90deg,var(--editorial-forest),#72c09e);content:""}
.editorial-workbench .product-development-panel{background:#edf5f0}
.editorial-workbench .product-development-panel .product-panel-heading{background:linear-gradient(135deg,#16503e,#0d3b2e)}
.editorial-workbench .product-development-panel .product-panel-heading::before{background:#8ed1b2}
.editorial-workbench .product-section-heading{border-bottom:1px solid #aebfb7;box-shadow:inset 0 -3px 0 rgba(11,83,62,.07)}
.editorial-workbench .product-workspace-page .workspace-header{border-bottom:1px solid #aebfb7;box-shadow:inset 0 -3px 0 rgba(11,83,62,.07)}
.editorial-workbench .workspace-controls-card{border-top:0;box-shadow:inset 0 3px 0 var(--editorial-forest),0 8px 28px rgba(16,49,37,.045)}
.editorial-workbench .workspace-toolbar,
.editorial-workbench .workspace-dimension-switch,
.editorial-workbench .workspace-dimension-switch a{border-radius:8px}
.editorial-workbench .moos-ag-grid{--ag-wrapper-border-radius:9px}
.editorial-workbench .moos-ag-grid .ag-root-wrapper{border-radius:9px}
.editorial-workbench .communication-titlebar{border-radius:12px 12px 0 0;border-top:0;box-shadow:inset 0 3px 0 var(--editorial-forest)}
.editorial-workbench .communication-page>nav.communication-filters{border-radius:0 0 12px 12px}
.editorial-workbench .communication-filters{border-radius:8px}
.editorial-workbench .communication-filters a{border-radius:6px}
.editorial-workbench .timeline-marker{border-radius:8px}
.editorial-workbench .communication-entry-body{border-radius:9px;border-left-width:3px}
.editorial-workbench .management-section{border-top:1px solid #9eb3a9;box-shadow:inset 0 3px 0 rgba(11,83,62,.08)}
.editorial-workbench .management-grid{gap:10px;border:0}
.editorial-workbench .management-card{border:1px solid var(--editorial-line);border-radius:10px}
.editorial-workbench .management-card:hover{transform:translateY(-2px);border-color:#afc5ba;box-shadow:inset 3px 0 0 var(--editorial-forest),0 12px 28px rgba(16,49,37,.07)}
.editorial-workbench .management-icon{border-radius:8px;background:linear-gradient(145deg,#0f7657,#0a4d3b);box-shadow:0 6px 14px rgba(11,83,62,.14)}
@media(max-width:760px){
  .editorial-workbench .page-heading{min-height:auto}
  .editorial-workbench .metric-grid{gap:0;overflow:hidden;border:1px solid var(--editorial-line);border-radius:11px;background:#fff}
  .editorial-workbench .metric-card,.editorial-workbench .metric-card:last-child{border-width:0 1px 1px 0;border-radius:0;box-shadow:none}
  .editorial-workbench .metric-card:nth-child(2n){border-right:0}
  .editorial-workbench .project-hero,.editorial-workbench .product-detail-pilot .product-detail-hero{border:0;border-radius:0;box-shadow:none}
}

/* 2026-07-14 Horizon UI: selected top-navigation reference. */
.horizon-workbench{
  --sidebar:0px;
  /* Compatibility aliases for the historical Horizon selectors. The source
     of truth now lives in app-foundation.css. */
  --h-ink:var(--ui-ink);
  --h-copy:var(--ui-copy);
  --h-muted:var(--ui-muted);
  --h-line:var(--ui-line);
  --h-line-strong:var(--ui-line-strong);
  --h-canvas:var(--ui-canvas);
  --h-panel:var(--ui-panel);
  --h-content-max:var(--ui-content-max);
  --h-forest:var(--ui-forest);
  --h-forest-strong:var(--ui-forest-strong);
  --h-forest-soft:var(--ui-forest-soft);
  --v2-green:var(--h-forest);
  --v2-green-dark:var(--h-forest-strong);
  --v2-green-soft:var(--h-forest-soft);
  --v2-canvas:var(--h-canvas);
  --v2-line:var(--h-line);
  --v2-text:var(--h-ink);
  --v2-muted:var(--h-muted);
  color:var(--h-ink);
  background:var(--h-canvas);
  font-family:var(--ui-font-sans);
  font-size:var(--ui-text-body);
  line-height:1.5;
  font-variant-numeric:tabular-nums;
}
.horizon-workbench .app-shell{min-height:100dvh;padding-left:0;background:var(--h-canvas)}
.horizon-workbench .app-main{min-width:0}
.horizon-workbench .mobile-sidebar{display:none}
.horizon-workbench .mobile-nav-backdrop{display:none}
.horizon-workbench :is(a,button,summary,input,select,textarea,[tabindex]):focus-visible{
  outline:2px solid var(--h-forest);
  outline-offset:2px;
}
.horizon-workbench .horizon-topbar{
  position:sticky;
  top:0;
  z-index:50;
  display:grid;
  width:100%;
  height:72px;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:30px;
  align-items:center;
  padding:0 28px;
  border-bottom:1px solid var(--h-line);
  background:rgba(255,255,255,.98);
  box-shadow:none;
}
.horizon-workbench .topbar-brand{color:var(--h-ink);font-size:25px;font-weight:850;letter-spacing:-.055em;text-decoration:none}
.horizon-workbench .topbar-nav{display:flex;height:100%;gap:30px;align-items:stretch}
.horizon-workbench .topbar-nav a{position:relative;display:flex;align-items:center;color:var(--ui-copy);font-size:var(--ui-text-caption);font-weight:600;text-decoration:none;white-space:nowrap}
.horizon-workbench .topbar-nav a::after{position:absolute;right:0;bottom:0;left:0;height:3px;background:var(--h-forest);content:"";opacity:0;transform:scaleX(.35);transition:opacity .15s ease,transform .15s ease}
.horizon-workbench .topbar-nav a:hover{color:#000}
.horizon-workbench .topbar-nav a.active::after{opacity:1;transform:scaleX(1)}
.horizon-workbench .topbar-actions{display:flex;min-width:0;gap:12px;align-items:center;justify-content:flex-end;margin:0;color:#303a47}
.horizon-workbench .today{display:flex;min-height:var(--ui-control-default);gap:7px;align-items:center;padding-right:16px;border-right:1px solid var(--h-line);font-size:12px;white-space:nowrap}
.horizon-workbench .account-menu{position:relative}
.horizon-workbench .account-menu>summary{display:flex;height:var(--ui-control-default);min-height:var(--ui-control-default);gap:var(--ui-space-2);align-items:center;padding:0 8px;border:1px solid transparent;border-radius:var(--ui-radius-button);list-style:none;color:var(--h-ink);cursor:pointer;font-size:var(--ui-text-caption);font-weight:600}
.horizon-workbench .account-menu>summary::-webkit-details-marker{display:none}
.horizon-workbench .account-menu>summary::after{display:none}
.horizon-workbench .account-menu>summary:hover{border-color:var(--ui-line);background:var(--ui-surface-hover)}
.horizon-workbench .account-menu>summary .user-avatar{width:34px;height:34px;color:#fff;background:var(--h-forest);font-size:11px}
.horizon-workbench .account-menu>summary i{font-size:10px;transition:transform .15s ease}
.horizon-workbench .account-menu[open]>summary i{transform:rotate(180deg)}
.horizon-workbench .account-menu-panel{position:absolute;top:calc(100% + 12px);right:0;z-index:70;width:240px;padding:10px;border:1px solid var(--h-line);border-radius:var(--ui-radius-card);background:#fff;box-shadow:var(--ui-shadow-overlay)}
.horizon-workbench .account-menu-panel a,.horizon-workbench .account-menu-panel button{display:flex;width:100%;min-height:44px;gap:11px;align-items:center;padding:9px 10px;border:0;border-radius:5px;color:#2f3946;background:transparent;font:inherit;font-size:12px;text-align:left;text-decoration:none;cursor:pointer}
.horizon-workbench .account-menu-panel a:hover,.horizon-workbench .account-menu-panel button:hover{color:#000;background:#f3f5f7}
.horizon-workbench .account-menu-panel i{width:18px;color:#536174;font-size:14px;text-align:center}
.horizon-workbench .account-menu-panel form{margin:8px 0 0;padding-top:8px;border-top:1px solid var(--h-line)}
.horizon-workbench .nav-toggle{display:none}

.horizon-workbench .page-shell{width:100%;max-width:var(--h-content-max);margin:0 auto;padding:24px 30px 40px;background:var(--h-canvas)}
.horizon-workbench .page-heading{
  min-height:96px;
  margin:0 0 16px;
  padding:20px 24px;
  border:1px solid var(--h-line);
  border-radius:var(--ui-radius-md);
  background:var(--ui-panel);
  box-shadow:none;
}
.horizon-workbench .page-heading h1,.horizon-workbench .workspace-header h1{color:var(--h-ink);font-size:clamp(var(--ui-text-heading),2.4vw,var(--ui-text-heading-lg));font-weight:600;line-height:1.1;letter-spacing:-.025em}
.horizon-workbench .page-heading p,.horizon-workbench .workspace-subtitle{color:var(--h-muted);font-size:12px}
.horizon-workbench .page-kicker,.horizon-workbench .section-kicker,.horizon-workbench .eyebrow,.horizon-workbench .section-label{color:#2f3a47;font-size:10px;font-weight:650;letter-spacing:0;text-transform:none}
.horizon-workbench .button,.horizon-workbench .secondary-button,.horizon-workbench .icon-button{min-height:var(--ui-control-default);border-radius:var(--ui-radius-button);box-shadow:none;font-weight:600}
.horizon-workbench .modal-close{display:grid;width:44px;height:44px;min-width:44px;flex:0 0 44px;padding:0;place-items:center;border:1px solid var(--h-line);border-radius:5px;color:#566274;background:#fff;font-size:20px}
.horizon-workbench .modal-close:hover{color:#111;background:#f4f6f8}
.horizon-workbench .button{border:1px solid var(--h-forest-strong);color:#fff;background:var(--h-forest)}
.horizon-workbench .button::after{display:none}
.horizon-workbench .button:hover{color:#fff;background:var(--h-forest-strong);transform:none;box-shadow:none}
.horizon-workbench .secondary-button,.horizon-workbench .button.secondary,.horizon-workbench .icon-button{border-color:var(--h-line-strong);color:#202936;background:#fff}
.horizon-workbench .secondary-button:hover,.horizon-workbench .button.secondary:hover,.horizon-workbench .icon-button:hover{border-color:#aeb9c5;color:var(--ui-ink);background:#f7f9fb;transform:none;box-shadow:none}

.horizon-workbench .metric-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  margin:0 -30px;
  overflow:hidden;
  border:0;
  border-bottom:1px solid var(--h-line);
  border-radius:0;
  background:#fff;
}
.horizon-workbench .metric-card,.horizon-workbench .metric-card--lead{
  position:relative;
  min-height:132px;
  padding:22px 32px 20px;
  overflow:visible;
  border:0;
  border-right:1px solid var(--h-line);
  border-radius:0;
  color:var(--h-ink);
  background:#fff;
  box-shadow:none;
}
.horizon-workbench .metric-card:last-child{border-right:0}
.horizon-workbench .metric-card::after{display:none}
.horizon-workbench .metric-card:hover,.horizon-workbench .metric-card--lead:hover{transform:none;background:#fbfcfd;box-shadow:none}
.horizon-workbench .metric-card>div{display:grid;width:100%;padding-left:23px;grid-template-columns:1fr;gap:3px}
.horizon-workbench .metric-card>div>span{grid-column:1;grid-row:1;color:var(--h-muted);font-size:var(--ui-text-caption);font-weight:500;letter-spacing:0;text-transform:none}
.horizon-workbench .metric-card strong,.horizon-workbench .metric-card--lead strong{grid-column:1;grid-row:2;margin:8px 0 2px;color:var(--h-ink);font-size:var(--ui-text-heading);font-weight:500;line-height:1.2}
.horizon-workbench .metric-card small,.horizon-workbench .metric-card--lead small{grid-column:1;grid-row:3;color:var(--h-muted);font-size:var(--ui-text-micro);text-align:left}
.horizon-workbench .metric-icon{position:absolute;top:24px;left:15px;width:18px;height:18px;border:0;border-radius:0;color:#617086!important;background:transparent;font-size:16px}
.horizon-workbench .metric-card.attention strong,.horizon-workbench .metric-card.warning strong{color:#080b10}

.horizon-workbench .section-block{margin-top:16px}
.horizon-workbench .dashboard-grid{grid-template-columns:minmax(0,2.25fr) minmax(300px,.95fr);gap:16px;margin-top:16px}
.horizon-workbench .dashboard-lower-grid{grid-template-columns:minmax(300px,.95fr) minmax(0,2.25fr);gap:16px;margin-top:16px}
.horizon-workbench .workspace-panel,.horizon-workbench .record-list,.horizon-workbench .list-surface,.horizon-workbench .management-card,.horizon-workbench .workspace-controls-card,.horizon-workbench .workspace-table-shell,.horizon-workbench .product-panel{
  border:1px solid var(--h-line);
  border-radius:var(--ui-radius-card);
  background:#fff;
  box-shadow:none;
}
.horizon-workbench .section-heading,.horizon-workbench .product-panel-heading{min-height:54px;border-bottom:1px solid var(--h-line);background:#fff}
.horizon-workbench .section-heading::before{display:none}
.horizon-workbench .section-heading h2,.horizon-workbench .product-section-heading h2{font-size:var(--ui-text-body-lg);font-weight:600;letter-spacing:-.01em}
.horizon-workbench .section-link{color:var(--h-forest);font-size:11px;font-weight:600}
.horizon-workbench .dashboard-list li,.horizon-workbench .record-row{border-color:#e4e8ed}
.horizon-workbench .dashboard-list li:hover,.horizon-workbench .record-row:hover{background:#f8fafb}
.horizon-workbench .status-pill,.horizon-workbench .product-status,.horizon-workbench .visibility-tag{border-radius:999px!important;color:#435268!important;background:#f0f3f6!important}

.horizon-workbench .list-toolbar{border-bottom:1px solid var(--h-line);background:#fff}
.horizon-workbench .list-toolbar-search input{border-color:var(--h-line);border-radius:5px;background:#fff}
.horizon-workbench .entity-table th{color:#4e5b6d;background:#fbfcfd;font-size:10px;font-weight:600;letter-spacing:0}
.horizon-workbench .entity-table td{border-color:#e3e7ec}
.horizon-workbench .entity-table tbody tr:hover{background:#f7f9fb}
.horizon-workbench .table-code{color:var(--h-forest);font-family:inherit;font-weight:600;text-decoration:none}
.horizon-workbench .table-thumbnail{border-color:#e0e5ea;border-radius:4px}

.horizon-workbench .page-shell:has(> .product-workspace-page){height:calc(100dvh - 72px);max-width:none;margin:0;padding:16px 18px 12px}
.horizon-workbench .product-workspace-page .workspace-header{min-height:84px;margin:0 0 12px;padding:16px 18px;border:1px solid var(--h-line);border-radius:var(--ui-radius-card);background:var(--ui-panel);box-shadow:none}
.horizon-workbench .product-workspace-page .workspace-header h1{font-size:2rem}
.horizon-workbench .workspace-controls-card{border-color:var(--h-line);box-shadow:none}
.horizon-workbench .workspace-viewbar{background:#fff}
.horizon-workbench .workspace-view{border-radius:4px;color:#4f5c6d}
.horizon-workbench .workspace-view.active{color:#fff;background:var(--h-forest)}
.horizon-workbench .workspace-toolbar{border-color:var(--h-line);border-radius:var(--ui-radius-button);background:#fff;box-shadow:none}
.horizon-workbench .workspace-dimension-switch{border-color:var(--h-line);border-radius:var(--ui-radius-button);background:var(--ui-surface-soft)}
.horizon-workbench .workspace-dimension-switch a{border-radius:3px}
.horizon-workbench .moos-ag-grid{--ag-background-color:#fff;--ag-foreground-color:#1a222d;--ag-border-color:#dce2e8;--ag-header-background-color:#fbfcfd;--ag-header-foreground-color:#4e5b6d;--ag-row-border-color:#e3e7ec;--ag-odd-row-background-color:#fff;--ag-row-hover-color:#f5f8fb;--ag-selected-row-background-color:#e7f1ed;--ag-accent-color:#176b50;--ag-wrapper-border-radius:5px}
.horizon-workbench .moos-ag-grid .ag-root-wrapper{border-radius:5px}
.horizon-workbench .moos-ag-grid .ag-header{border-bottom:1px solid var(--h-line)}

.horizon-workbench .project-hero,.horizon-workbench .product-detail-pilot .product-detail-hero{
  min-height:126px;
  margin:0;
  padding:16px 18px 20px;
  overflow:hidden;
  border:1px solid var(--h-line);
  border-radius:var(--ui-radius-card) var(--ui-radius-card) 0 0;
  background:#fff;
  box-shadow:none;
}
.horizon-workbench .project-hero::after,.horizon-workbench .product-detail-hero::after{height:3px;background:var(--h-forest)}
.horizon-workbench .project-hero-copy h1,.horizon-workbench .product-hero-copy h1{color:var(--h-ink);font-size:clamp(var(--ui-text-heading),2.7vw,var(--ui-text-heading-lg));font-weight:600;letter-spacing:-.025em}
.horizon-workbench .project-hero-image,.horizon-workbench .product-detail-image{border-color:var(--h-line);border-radius:4px;box-shadow:none}
.horizon-workbench .context-tabs{padding-inline:8px;border:1px solid var(--h-line);border-top:0;border-radius:0 0 var(--ui-radius-card) var(--ui-radius-card);background:#fff}
.horizon-workbench .context-tabs a{border-radius:0;color:#536174;font-size:11px;font-weight:600}
.horizon-workbench .context-tabs a:hover{color:#111;background:#f7f9fb}
.horizon-workbench .context-tabs a.active{color:var(--h-forest-strong);border-bottom-color:var(--h-forest);background:#fff}
.horizon-workbench .overview-module,.horizon-workbench .project-narrative{border-color:var(--h-line);border-radius:var(--ui-radius-card);box-shadow:none}
.horizon-workbench .overview-module-heading,.horizon-workbench .product-panel-heading{border-top:0}
.horizon-workbench .overview-module-heading::before,.horizon-workbench .product-panel-heading::before{display:none}
.horizon-workbench .product-development-panel{background:#f8fafb}
.horizon-workbench .product-development-panel .product-panel-heading{color:var(--h-ink);background:#fff}
.horizon-workbench .product-development-panel .product-panel-heading p{color:var(--h-muted)}
.horizon-workbench .product-section-heading{border-bottom:1px solid var(--h-line);box-shadow:none}

.horizon-workbench .communication-titlebar{border:1px solid var(--h-line);border-radius:var(--ui-radius-card) var(--ui-radius-card) 0 0;background:#fff;box-shadow:none}
.horizon-workbench .communication-page>nav.communication-filters{border-color:var(--h-line);border-radius:0 0 var(--ui-radius-card) var(--ui-radius-card)}
.horizon-workbench .communication-filters{border-color:var(--h-line);border-radius:var(--ui-radius-button);background:var(--ui-surface-soft)}
.horizon-workbench .communication-filters a{border-radius:3px}
.horizon-workbench .timeline-marker{border-radius:4px;color:#fff;background:var(--h-forest);box-shadow:none}
.horizon-workbench .communication-entry-body{border-color:var(--h-line);border-left:3px solid var(--h-forest-strong);border-radius:var(--ui-radius-card);box-shadow:none}

/* Communication replies — compact, single-level conversation band. */
.communication-replies{margin:17px -17px -15px;border-top:1px solid #dce7e2;background:#fff}
.communication-replies-band{display:flex;min-height:52px;align-items:center;justify-content:space-between;gap:14px;padding:0 16px;border-bottom:1px solid #dce7e2;background:#f7faf8}
.communication-replies-heading{display:flex;min-width:0;align-items:center;gap:10px;color:#075a45}.communication-replies-heading>strong{font-size:13px}.communication-reply-count{display:grid;min-width:24px;height:24px;place-items:center;padding-inline:6px;border:1px solid #cbdad3;border-radius:5px;background:#fff;color:#173c31;font-size:11px;font-weight:800}
.communication-replies-latest{display:flex;min-width:0;align-items:center;gap:8px;margin-left:8px;padding-left:14px;border-left:1px solid #dce5e1;color:#74867e;font-size:11px}.communication-replies-latest>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.communication-replies-empty{margin-left:6px;color:#7b8d86;font-size:11px}
.communication-replies-controls{display:flex;flex:0 0 auto;align-items:center;gap:7px}.communication-replies-toggle{display:grid;width:32px;aspect-ratio:1;place-items:center;border:0;background:transparent;color:#5e786e;cursor:pointer}.communication-replies-toggle:hover{color:#075a45}.communication-replies-chevron{transition:transform 180ms ease}.communication-replies.is-collapsed .communication-replies-chevron{transform:rotate(180deg)}
.communication-reply-button{padding:7px 11px;border:1px solid #9fc2b4;border-radius:7px;background:#fff;color:#075a45;font-size:12px;font-weight:750;cursor:pointer;transition:background 160ms ease,border-color 160ms ease,transform 160ms ease}.communication-reply-button:hover{border-color:#6d9f8c;background:#f1f8f5;transform:translateY(-1px)}
.communication-reply-list{position:relative;padding:0 20px 0 34px}.communication-reply-list::before{position:absolute;top:0;bottom:0;left:52px;width:1px;background:#d9e5df;content:""}.communication-reply-row{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr) 34px;gap:14px;padding:18px 0}.communication-reply-row:not(:last-child) .communication-reply-main::after{position:absolute;right:0;bottom:0;left:52px;height:1px;background:#e2eae6;content:""}
.communication-reply-avatar{position:relative;z-index:1;display:grid;width:38px;aspect-ratio:1;place-items:center;border-radius:50%;background:#e1efe9;color:#075a45;font-size:10px;font-weight:800}.communication-replies-latest .communication-reply-avatar{width:26px}
.communication-reply-main{min-width:0}.communication-reply-meta{display:flex;align-items:baseline;gap:9px;margin-bottom:5px}.communication-reply-meta strong{font-size:12px;color:#075a45}.communication-reply-meta time,.communication-reply-meta small{color:#7c8d86;font-size:10px}.communication-reply-content{color:#263d35;font-size:13px;line-height:1.5}.communication-reply-content>*:first-child{margin-top:0}.communication-reply-content>*:last-child{margin-bottom:0}
.communication-reply-attachments{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.communication-reply-attachments a{display:flex;align-items:center;gap:5px;max-width:320px;padding:6px 8px;border:1px solid #d6e2dc;border-radius:6px;background:#fff;color:#285047;font-size:10px;text-decoration:none}.communication-reply-attachments span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.communication-reply-attachments small{color:#84928d}
.communication-reply-menu{position:relative;align-self:start;height:32px!important;border:0!important;border-radius:0!important;background:transparent!important}.communication-reply-menu summary{position:relative;display:block;width:32px;height:32px!important;padding:0!important;border:0!important;border-radius:6px;color:#526b61;cursor:pointer;list-style:none}.communication-reply-menu summary>i{position:absolute;top:50%;left:50%;display:grid;width:16px;height:16px;place-items:center;font-size:16px;line-height:1;transform:translate(-50%,-50%)}.communication-reply-menu summary>i::before{display:block;line-height:1}.communication-reply-menu summary::-webkit-details-marker{display:none}.communication-reply-menu summary:hover{background:#e9f2ee}.communication-reply-menu>div{position:absolute;z-index:20;top:34px;right:0;display:grid;min-width:120px;padding:5px;border:1px solid #d4e0da;border-radius:8px;background:#fff;box-shadow:0 10px 25px rgba(19,47,37,.14)}.communication-reply-menu button{display:flex;width:100%;align-items:center;gap:8px;padding:8px;border:0;border-radius:5px;background:transparent;color:#273d35;font:inherit;font-size:11px;text-align:left;cursor:pointer}.communication-reply-menu button:hover{background:#f0f5f2}
.communication-reply-menu summary::after{display:none!important}.communication-reply-row[hidden]{display:none!important}
.communication-show-earlier{display:flex;align-items:center;gap:6px;margin:10px auto 0;padding:5px 10px;border:0;background:transparent;color:#27614f;font-size:11px;font-weight:700;cursor:pointer}.communication-show-earlier:hover{text-decoration:underline}
.communication-reply-composer{position:relative;grid-column:2/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;margin:4px 0 12px;padding:14px 18px;border:1px solid #c9ddd4;border-radius:7px;background:#fff}.communication-reply-composer[hidden]{display:none!important}.communication-replies>.communication-reply-composer{margin:0;padding:16px 20px;border:0;border-top:1px solid #dce7e2;border-radius:0}.communication-reply-row.is-editing{grid-template-columns:38px minmax(0,1fr)}.communication-reply-row.is-editing .communication-reply-main,.communication-reply-row.is-editing .communication-reply-menu{display:none!important}.communication-reply-row.is-editing .communication-reply-edit{grid-row:1;grid-column:2;margin:0 0 12px}.communication-reply-composer [data-tiptap-shell]{grid-column:1/-1}.communication-reply-composer .tiptap-editor{border:0;border-radius:0;overflow:visible}.communication-reply-composer .tiptap-toolbar{position:relative;min-height:36px;gap:8px;padding:0 0 8px;border:0;border-radius:0;background:#fff}.communication-reply-composer .tiptap-toolbar>*{display:none!important}.communication-reply-composer.communication-reply-composer .tiptap-toolbar [data-tiptap-action="bold"],.communication-reply-composer.communication-reply-composer .tiptap-toolbar [data-tiptap-action="italic"],.communication-reply-composer.communication-reply-composer .tiptap-toolbar [data-tiptap-action="bulletList"],.communication-reply-composer.communication-reply-composer .tiptap-toolbar [data-tiptap-action="link"],.communication-reply-composer.communication-reply-composer .tiptap-toolbar [data-tiptap-action="image"],.communication-reply-composer.communication-reply-composer .tiptap-toolbar .communication-reply-mention{display:inline-grid!important}.communication-reply-composer.communication-reply-composer .tiptap-toolbar [data-tiptap-action="undo"],.communication-reply-composer.communication-reply-composer .tiptap-toolbar [data-tiptap-action="redo"]{display:none!important}.communication-reply-composer .tiptap-toolbar button{width:30px;height:30px;min-width:30px;min-height:30px}.communication-reply-composer .tiptap-surface{height:72px;min-height:72px;max-height:min(60vh,640px);padding:0;border:1px solid #cfdbd6!important;box-shadow:none!important;font-size:12px;overflow:auto;resize:vertical}.communication-reply-composer .tiptap-content{box-sizing:border-box;min-height:100%!important;padding:8px 10px!important;outline:0!important;line-height:1.45}.communication-reply-composer .tiptap-editor:focus-within,.communication-reply-composer .tiptap-surface:focus-within,.communication-reply-composer .tiptap-content:focus{border-color:#cfdbd6!important;outline:0!important;box-shadow:none!important}.communication-reply-mention{place-items:center;border:0;background:transparent;color:#38564b;font-size:17px;font-weight:700;cursor:pointer}.communication-reply-mention:hover{background:#e2eee8;color:#0f6b4f}
.communication-reply-files{display:flex;min-width:0;align-items:center;gap:9px;color:#3e6155;font-size:11px}.communication-reply-file-button{position:relative;display:inline-flex;flex:0 0 auto;align-items:center;gap:6px;color:#075a45;font-weight:750;cursor:pointer}.communication-reply-file-button input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.communication-reply-file-selection{overflow:hidden;max-width:260px;padding:6px 9px;border:1px solid #d2dfd9;border-radius:5px;background:#fff;color:#526860;text-overflow:ellipsis;white-space:nowrap}.communication-existing-reply-files{display:flex;flex-wrap:wrap;gap:8px}.communication-existing-reply-files label{font-weight:500}.communication-reply-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.communication-reply-visibility{margin-right:12px;color:#70827b;font-size:10px}.communication-reply-edit{margin-top:2px}
.communication-reply-row{scroll-margin-top:90px}.communication-replies.is-collapsed .communication-reply-list{display:none}
.visibility-selector.is-locked>label{pointer-events:none;opacity:.68}.communication-visibility-lock{display:flex;grid-column:1/-1;align-items:center;gap:6px;margin:2px 0 0;color:#63766e;font-size:11px}.communication-visibility-lock[hidden]{display:none}
@media(max-width:760px){.communication-replies{margin:15px -15px -15px}.communication-replies-band{min-height:48px;gap:7px;padding:5px 10px}.communication-replies-heading{gap:7px}.communication-replies-latest{display:none}.communication-replies-controls{gap:3px}.communication-replies-toggle{width:30px}.communication-reply-button{padding:6px 9px}.communication-reply-list{padding:0 12px 0 18px}.communication-reply-list::before{left:32px}.communication-reply-row{grid-template-columns:30px minmax(0,1fr) 30px;gap:9px;padding:14px 0}.communication-reply-row.is-editing{grid-template-columns:30px minmax(0,1fr)}.communication-reply-row.is-editing .communication-reply-edit{grid-row:1;grid-column:2}.communication-reply-row:not(:last-child) .communication-reply-main::after{left:39px}.communication-reply-avatar{width:30px}.communication-reply-meta{flex-wrap:wrap;gap:3px 7px}.communication-reply-meta strong{flex-basis:100%}.communication-replies>.communication-reply-composer{margin:0;padding:11px 10px}.communication-reply-composer{grid-column:1/-1;grid-template-columns:1fr}.communication-reply-composer .tiptap-toolbar{gap:5px}.communication-reply-files{flex-wrap:wrap}.communication-reply-form-actions{display:grid;grid-template-columns:1fr 1fr}.communication-reply-form-actions .communication-reply-visibility{grid-column:1/-1;margin:0}.communication-reply-form-actions button{width:100%}}

/* Project sections use the Products/History titlebar as their shared hierarchy. */
.horizon-workbench .communication-titlebar{
  min-height:70px;
  padding:14px 18px;
  align-items:center;
  border-color:var(--v2-line);
  border-radius:10px 10px 0 0;
  background:#fbfcfb;
}
.horizon-workbench .communication-titlebar h2{
  margin:0;
  font-size:16px;
  font-weight:680;
  line-height:1.2;
  letter-spacing:-.01em;
}
.horizon-workbench .communication-page{padding:0 0 50px}

@media(min-width:761px){
  .page-shell:has(>.section-block>.table-wrap)>.section-block>.section-heading,
  .page-shell:has(>.section-block>.timeline)>.section-block>.section-heading{min-height:70px}
}
@media(max-width:760px){
  .horizon-workbench .communication-titlebar{align-items:flex-start}
}

.horizon-workbench .management-section{border-top:1px solid var(--h-line);box-shadow:none}
.horizon-workbench .management-section-heading span::before{color:#7a8798}
.horizon-workbench .management-grid{gap:10px;border:0}
.horizon-workbench .management-card{border-color:var(--h-line);border-radius:var(--ui-radius-card);box-shadow:none}
.horizon-workbench .management-card:hover{transform:none;border-color:#aeb9c5;background:#f8fafb;box-shadow:none}
.horizon-workbench .management-icon{border-radius:4px;color:#fff;background:var(--h-forest);box-shadow:none}

@media(max-width:1360px){
  .horizon-workbench .horizon-topbar{
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:20px;
    padding-inline:20px;
  }
  .horizon-workbench .topbar-nav{gap:20px}
  .horizon-workbench .topbar-actions{gap:14px}
  .horizon-workbench .today{padding-right:14px}
}
@media(max-width:1160px){
  .horizon-workbench .horizon-topbar{grid-template-columns:auto minmax(0,1fr) auto;gap:20px;padding-inline:20px}
  .horizon-workbench .topbar-nav{gap:20px}
  .horizon-workbench .today{display:none}
  .horizon-workbench .dashboard-grid{grid-template-columns:minmax(0,1.7fr) minmax(270px,.8fr)}
}
@media(max-width:860px){
  .horizon-workbench.nav-open{overflow:hidden}
  .horizon-workbench .horizon-topbar{grid-template-columns:auto minmax(0,1fr) auto;height:var(--mobile-topbar-height);gap:12px;padding:var(--safe-top) calc(14px + var(--safe-right)) 0 calc(14px + var(--safe-left))}
  .horizon-workbench .nav-toggle{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid var(--h-line);border-radius:5px;color:#111;background:#fff}
  .horizon-workbench .topbar-nav{display:none}
  .horizon-workbench .topbar-brand{font-size:20px}
  .horizon-workbench .account-menu>summary>span:not(.user-avatar),.horizon-workbench .account-menu>summary>i{display:none}
  .horizon-workbench .mobile-sidebar{position:fixed;inset:var(--mobile-topbar-height) auto 0 0;z-index:60;display:flex;width:min(260px,calc(100vw - 48px));padding:18px 12px calc(18px + var(--safe-bottom)) calc(12px + var(--safe-left));color:#222;background:#fff;border-right:1px solid var(--h-line);box-shadow:12px 0 30px rgba(18,31,47,.12);visibility:hidden;pointer-events:none;transform:translateX(-102%);transition:transform .18s ease,visibility 0s linear .18s}
  .horizon-workbench.nav-open .mobile-sidebar{visibility:visible;pointer-events:auto;transform:translateX(0);transition-delay:0s}
  .horizon-workbench .mobile-nav-backdrop{position:fixed;inset:var(--mobile-topbar-height) 0 0;z-index:55;border:0;background:rgba(18,31,47,.2)}
  .horizon-workbench.nav-open .mobile-nav-backdrop{display:block}
  .horizon-workbench .mobile-sidebar .app-brand{display:none}
  .horizon-workbench .mobile-sidebar .nav-label{color:#7b8796}
  .horizon-workbench .mobile-sidebar .primary-nav a{color:#34404e;border-radius:5px}
  .horizon-workbench .mobile-sidebar .primary-nav a:hover,.horizon-workbench .mobile-sidebar .primary-nav a.active{color:var(--h-forest-strong);background:var(--h-forest-soft);box-shadow:inset 3px 0 0 var(--h-forest)}
  .horizon-workbench .mobile-sidebar .primary-nav i{color:#5d6a7b}
  .horizon-workbench .mobile-sidebar .sidebar-user{margin-top:auto;border-color:var(--h-line);background:#f8fafb}
  .horizon-workbench .mobile-sidebar .sidebar-user .user-avatar{color:#fff;background:var(--h-forest)}
  .horizon-workbench .page-shell{padding:20px calc(16px + var(--safe-right)) calc(36px + var(--safe-bottom)) calc(16px + var(--safe-left))}
  .horizon-workbench .page-heading{margin:-20px -16px 0;padding:26px 18px 28px}
  .horizon-workbench .metric-grid{margin:0 -16px;grid-template-columns:1fr 1fr}
  .horizon-workbench .metric-card,.horizon-workbench .metric-card--lead{min-height:112px;padding:18px 28px;border-bottom:1px solid var(--h-line)}
  .horizon-workbench .metric-icon{left:11px;top:20px}
  .horizon-workbench .dashboard-grid,.horizon-workbench .dashboard-lower-grid{grid-template-columns:1fr}
  .horizon-workbench .page-shell:has(> .product-workspace-page){height:calc(100dvh - var(--mobile-topbar-height));padding-bottom:calc(16px + var(--safe-bottom))}
}
@media(max-width:560px){
  .horizon-workbench .horizon-topbar{grid-template-columns:auto minmax(0,1fr) auto;padding-right:calc(10px + var(--safe-right));padding-left:calc(10px + var(--safe-left))}
  .horizon-workbench .topbar-brand{font-size:0}
  .horizon-workbench .topbar-brand::before{color:#111;font-size:17px;font-weight:850;content:"D&D"}
  .horizon-workbench .account-menu>summary .user-avatar{width:32px;height:32px}
  .horizon-workbench .page-heading{align-items:flex-start}
  .horizon-workbench .page-heading h1,.horizon-workbench .workspace-header h1{font-size:1.9rem}
  .horizon-workbench .metric-card strong,.horizon-workbench .metric-card--lead strong{font-size:27px}
}

/*
 * Attachment library density: keep the product library and recycle bin in the
 * same compact, scan-friendly grid.  This sits at the end of the workbench
 * layer because older document-grid rules intentionally serve legacy pages.
 */
.horizon-workbench .document-grid.document-preview-grid,
.horizon-workbench .recycle-document-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr)) !important;
  gap:10px;
  align-items:start;
}
.horizon-workbench .document-grid.document-preview-grid .document-card.document-card--compact,
.horizon-workbench .recycle-document-grid .document-card.document-card--compact{
  grid-template-rows:142px auto;
  min-width:0;
}
@media(max-width:900px){
  .horizon-workbench .document-grid.document-preview-grid,
  .horizon-workbench .recycle-document-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr)) !important}
}
@media(max-width:560px){
  .horizon-workbench .document-grid.document-preview-grid,
  .horizon-workbench .recycle-document-grid{grid-template-columns:1fr !important}
}

/* Mobile Workspace gives the data grid priority over page chrome. */
@media(max-width:760px){
  .horizon-workbench .project-list-table-wrap{overflow:visible}
  .horizon-workbench .project-table{display:block;min-width:0;border-collapse:separate}
  .horizon-workbench .project-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .horizon-workbench .project-table tbody{display:grid;gap:12px}
  .horizon-workbench .project-table tr{position:relative;display:grid;grid-template-columns:96px minmax(0,1fr);gap:0 12px;padding:14px;border:1px solid var(--h-line);border-radius:9px;background:#fff}
  .horizon-workbench .project-table td{display:flex;width:auto!important;min-width:0!important;height:auto;min-height:34px;padding:7px 0;gap:10px;align-items:center;border:0;border-bottom:1px solid #edf1ef}
  .horizon-workbench .project-table td[data-label="Received"],
  .horizon-workbench .project-table td[data-label="Development"],
  .horizon-workbench .project-table td[data-label="Deadline"],
  .horizon-workbench .project-table td[data-label="Days open"]{display:flex!important}
  .horizon-workbench .project-table td::before{width:86px;flex:0 0 86px;color:var(--h-muted);font-size:11px;font-weight:750;content:attr(data-label)}
  .horizon-workbench .project-table td:first-child{grid-row:1 / span 3;width:96px!important;align-items:flex-start;border:0}
  .horizon-workbench .project-table td:first-child::before{display:none}
  .horizon-workbench .project-table td:first-child .table-thumbnail{width:88px;height:88px}
  .horizon-workbench .project-table td:nth-child(2),.horizon-workbench .project-table td:nth-child(3){grid-column:2;border:0}
  .horizon-workbench .project-table td:nth-child(2)::before,.horizon-workbench .project-table td:nth-child(3)::before{display:none}
  .horizon-workbench .project-table td:last-child{position:absolute;right:8px;top:8px;width:38px!important;border:0}
  .horizon-workbench .project-table td:last-child::before{display:none}
  .horizon-workbench .project-table .numeric-column{text-align:left}
  .horizon-workbench .project-table .status-overdue{margin-left:auto}
  .horizon-workbench .page-shell:has(> .product-workspace-page){
    padding:6px calc(6px + var(--safe-right)) calc(8px + var(--safe-bottom)) calc(6px + var(--safe-left));
    overflow:hidden;
  }
  .horizon-workbench .product-workspace-page .workspace-header{
    min-height:52px;
    margin-bottom:6px;
    gap:8px;
    padding:5px 7px;
    flex-wrap:nowrap;
  }
  .horizon-workbench .product-workspace-page .workspace-header h1{font-size:1.25rem;white-space:nowrap}
  .horizon-workbench .workspace-header-actions{min-width:0;margin-left:auto;gap:5px}
  .horizon-workbench .workspace-header-actions :is(button,.secondary-button){width:42px;min-width:42px;height:42px;min-height:42px;padding:0;justify-content:center}
  .horizon-workbench .workspace-header-actions button>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .horizon-workbench .workspace-header-actions button>i{font-size:16px}
  .horizon-workbench .workspace-controls-card{
    display:flex;
    min-height:44px;
    margin-bottom:6px;
    gap:7px;
    align-items:center;
    padding:3px 5px;
    overflow:hidden;
  }
  .horizon-workbench .workspace-viewbar{min-height:38px;flex:1 1 auto;gap:5px}
  .horizon-workbench .workspace-view-label,.horizon-workbench .workspace-viewbar>.workspace-muted,.horizon-workbench .workspace-result-summary{display:none}
  .horizon-workbench .workspace-view{min-height:34px;padding:6px 8px}
  .horizon-workbench .workspace-control-row{min-height:38px;flex:0 0 auto;padding:0;white-space:nowrap}
  .horizon-workbench .workspace-dimension-switch{padding:2px}
  .horizon-workbench .workspace-dimension-switch a{width:34px;min-height:32px;padding:0;justify-content:center;font-size:0}
  .horizon-workbench .workspace-dimension-switch a i{font-size:14px}
  .horizon-workbench .workspace-toolbar{min-height:48px;margin-bottom:6px;padding:4px;gap:5px}
  .horizon-workbench .workspace-search-form{min-width:0;flex-wrap:nowrap;gap:5px}
  .horizon-workbench .workspace-search{min-width:0;flex:1 1 auto}
  .horizon-workbench .workspace-search input{height:40px;min-height:40px}
  .horizon-workbench .workspace-search-form select{width:72px;min-width:72px;max-width:72px;min-height:40px;padding-inline:7px}
  .horizon-workbench .workspace-filter-button{width:42px;min-width:42px;height:40px;min-height:40px;padding:0;justify-content:center;font-size:0}
  .horizon-workbench .workspace-filter-button>i{font-size:15px}
  .horizon-workbench .workspace-filter-button>.filter-count-inline{position:absolute;right:-2px;top:-4px;width:9px;height:9px;min-width:0;padding:0;overflow:hidden;border-radius:50%;font-size:0}
  .horizon-workbench .workspace-toolbar>.workspace-muted{display:none}
  .horizon-workbench .workspace-table-shell{min-height:360px}
  .horizon-workbench .moos-ag-grid .ag-workspace-pin{display:none}
}

/* Projects directory: compact discovery surface, with operations kept in Project Control. */
.horizon-workbench .project-list-heading{
  min-height:76px;
  padding-block:16px;
}
.horizon-workbench .project-list-heading + .list-surface{margin-top:12px}
.horizon-workbench .project-list-toolbar{
  grid-template-columns:80px minmax(0,1fr);
  gap:14px;
  padding:10px 12px;
  align-items:start;
}
.horizon-workbench .project-list-controls{min-width:0}
.horizon-workbench .project-list-main-controls{display:flex;min-width:0;gap:8px;align-items:flex-end;justify-content:flex-end}
.horizon-workbench .project-list-summary-count strong{font-size:20px;font-weight:720;line-height:1}
.horizon-workbench .project-list-summary-count span{font-size:11px}
.horizon-workbench .project-list-search{width:min(280px,100%);min-width:210px;max-width:280px;flex:1 1 240px}
.horizon-workbench .project-list-primary-filter{min-width:112px;max-width:138px;flex:0 1 138px}
.horizon-workbench .project-list-main-controls>.project-overdue-filter{min-width:110px;flex:0 0 110px;align-self:end}
.horizon-workbench .project-list-rows{min-width:86px;max-width:86px;flex:0 0 86px}
.horizon-workbench .project-list-table-wrap{overflow-x:auto}
.horizon-workbench .project-table{min-width:1120px}
.horizon-workbench .project-table .project-col-image{width:72px}
.horizon-workbench .project-table .project-col-identity{width:180px}
.horizon-workbench .project-table .project-col-context{width:145px}
.horizon-workbench .project-table .project-col-created{width:100px}
.horizon-workbench .project-table .project-col-days{width:125px}
.horizon-workbench .project-table .project-col-development{width:112px}
.horizon-workbench .project-table .project-col-deadline{width:115px}
.horizon-workbench .project-table .project-col-status{width:82px}
.horizon-workbench .project-table .project-col-access{width:105px}
.horizon-workbench .project-table .project-col-owners{width:116px}
.horizon-workbench .project-table .project-image-heading,.horizon-workbench .project-table .project-image-cell{width:72px;min-width:72px;text-align:center}
.horizon-workbench .project-table .project-identity-heading{min-width:170px}
.horizon-workbench .project-table .project-context-heading{min-width:135px}
.horizon-workbench .project-table .project-identity-cell{min-width:170px}
.horizon-workbench .project-list-table-wrap>.project-table{--table-thumbnail-size:52px}
.horizon-workbench .project-list-table-wrap>.project-table td{height:76px;padding-block:10px}
.horizon-workbench .project-table .table-thumbnail{flex:0 0 52px}
.horizon-workbench .project-identity-link{
  display:flex;
  min-width:0;
  align-items:center;
  gap:12px;
  color:inherit;
  text-decoration:none;
}
.horizon-workbench .project-identity-link:hover strong{color:var(--v2-green);text-decoration:underline}
.horizon-workbench .project-identity-link:focus-visible{border-radius:5px;outline:3px solid rgba(18,99,75,.16);outline-offset:3px}
.horizon-workbench .project-identity-copy{display:grid;min-width:0;gap:2px}
.horizon-workbench .project-identity-copy strong{
  overflow:hidden;
  color:var(--v2-text);
  font-size:13px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.horizon-workbench .project-context-content{display:grid;gap:3px}
.horizon-workbench .project-context-content strong{color:var(--v2-text);font-size:12px;font-weight:700}
.horizon-workbench .project-context-content>span{color:var(--v2-muted);font-size:11px}
.horizon-workbench .project-days-open{text-align:left}
.horizon-workbench .project-days-open-content{display:grid;gap:1px}
.horizon-workbench .project-days-open-content strong{color:var(--v2-text);font-size:14px;font-variant-numeric:tabular-nums}
.horizon-workbench .project-days-open-content>span{color:var(--v2-muted);font-size:10px;white-space:nowrap}
.horizon-workbench .project-table .project-access-cell{min-width:116px}
.horizon-workbench .project-table .owner-stack{min-width:0;gap:4px;flex-wrap:nowrap}
.horizon-workbench .project-table .owner-stack :is(.mini-avatar,wa-avatar.moos-avatar){
  width:28px;
  height:28px;
  margin-left:0;
  flex:0 0 28px;
  aspect-ratio:1;
}

@media(max-width:1100px){
  .horizon-workbench .project-list-toolbar{grid-template-columns:1fr;gap:8px}
  .horizon-workbench .project-list-toolbar>.project-list-summary{width:100%;justify-content:space-between}
  .horizon-workbench .project-list-main-controls{justify-content:flex-start;flex-wrap:wrap}
}

@media(max-width:760px){
  .horizon-workbench .project-list-heading{min-height:auto;padding-block:12px}
  .horizon-workbench .project-list-heading h1{font-size:1.55rem}
  .horizon-workbench .project-list-heading .button{min-height:40px;padding-inline:12px}
  .horizon-workbench .project-list-heading + .list-surface{margin-top:8px}
  .horizon-workbench .project-list-toolbar{padding:9px}
  .horizon-workbench .project-list-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
  .horizon-workbench .project-list-main-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .horizon-workbench .project-list-search{grid-column:1/-1;width:100%;min-width:0;max-width:none}
  .horizon-workbench .project-list-primary-filter{width:100%;min-width:0;max-width:none}
  .horizon-workbench .project-list-main-controls>.project-overdue-filter{grid-column:auto;width:100%;min-width:0;min-height:36px}
  .horizon-workbench .project-list-rows{width:100%;min-width:0;max-width:none}
  .horizon-workbench .project-list-table-wrap{padding:0 9px 9px;overflow:visible}
  .horizon-workbench .project-table tbody{gap:9px}
  .horizon-workbench .project-table tr{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0 12px;
    padding:11px 12px;
    border-radius:8px;
  }
  .horizon-workbench .project-table td{
    display:grid;
    grid-column:auto!important;
    min-height:46px;
    gap:3px;
    padding:6px 0;
    align-content:center;
    align-items:start;
  }
  .horizon-workbench .project-table td::before{
    display:block;
    width:auto;
    flex:initial;
    color:var(--h-muted);
    font-size:10px;
    font-weight:750;
    line-height:1.2;
    text-transform:uppercase;
  }
  .horizon-workbench .project-list-table-wrap>.project-table{--table-thumbnail-size:56px}
  .horizon-workbench .project-table .project-image-cell{align-items:center;justify-items:start}
  .horizon-workbench .project-table .project-image-cell::before,.horizon-workbench .project-table .project-identity-cell::before{display:none}
  .horizon-workbench .project-table td:last-child{
    position:static;
    right:auto;
    top:auto;
    width:auto!important;
    border-bottom:0;
  }
  .horizon-workbench .project-table td:last-child::before{display:block}
  .horizon-workbench .project-table .project-identity-cell{min-width:0;align-content:center;padding-bottom:6px}
  .horizon-workbench .project-identity-copy strong{font-size:13px;white-space:normal}
  .horizon-workbench .project-context-cell{grid-column:1/-1!important;min-height:40px}
  .horizon-workbench .project-context-cell::before{display:none}
  .horizon-workbench .project-context-content{grid-template-columns:auto 1fr;align-items:baseline;gap:8px}
  .horizon-workbench .project-context-content>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .horizon-workbench .project-days-open{display:grid!important;text-align:left}
  .horizon-workbench .project-table .status-overdue{margin:3px 0 0}
  .horizon-workbench .project-table .owner-stack{min-height:24px;align-items:center}
  #main-content .project-list-table-wrap>.project-table>tbody>tr>td[data-label]{
    display:grid!important;
    grid-column:auto!important;
    grid-row:auto!important;
  }
  #main-content .project-list-table-wrap>.project-table>tbody>tr>td.project-image-cell[data-label]{
    grid-column:1!important;
    grid-row:1!important;
  }
  #main-content .project-list-table-wrap>.project-table>tbody>tr>td.project-identity-cell[data-label]{
    grid-column:2/-1!important;
    grid-row:1!important;
  }
  #main-content .project-list-table-wrap>.project-table>tbody>tr>td.project-context-cell[data-label]{
    grid-column:1/-1!important;
  }
  #main-content .project-list-table-wrap>.project-table>tbody>tr>td[data-label="Owners"]{
    grid-column:1/-1!important;
  }
  #main-content .project-list-table-wrap>.project-table>tbody>tr{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  #main-content .project-list-table-wrap>.project-table>tbody>tr>td[data-label="Created"]{white-space:nowrap}
}

#main-content .project-list-pagination{margin:12px 0 0;border-radius:6px}
