/* Startup OS design contract. Load last. Shared Photon tokens are the foundation;
   this file owns component appearance, feature files own layout and behavior.
   See DESIGN_CODE.md for roles, allowed differences and verification. */
:root {
  --os-radius-control:var(--ph-radius-sm,6px);
  --os-radius-card:var(--ph-radius-md,8px);
  --os-radius-panel:var(--ph-radius-lg,12px);
  --os-radius-pill:var(--ph-radius-pill,999px);
  --os-shadow-sm:var(--ph-shadow-sm,0 1px 2px #1016200f);
  --os-shadow-menu:var(--ph-shadow-md,0 4px 12px #1016201a);
  --os-shadow-dialog:var(--ph-shadow-lg,0 10px 30px #10162021);
  --os-space-1:var(--ph-space-1,4px);--os-space-2:var(--ph-space-2,8px);
  --os-space-3:var(--ph-space-3,12px);--os-space-4:var(--ph-space-4,16px);
  --os-space-6:var(--ph-space-6,24px);--os-space-8:var(--ph-space-8,32px);
  --os-font-ui:13px;--os-font-body:14px;--os-font-field:14px;--os-font-caption:12px;
  --os-font-title:24px;--os-font-section:16px;--os-font-record:20px;
  --os-control-height:32px;--os-control-py:5px;--os-control-px:10px;
  --os-field-py:7px;--os-card-pad:16px;--os-row-py:6px;--os-form-gap:14px;
  --os-input-height:36px;--os-line-height:1.5;
  --os-action:#6d28d9;--os-action-hover:#5b21b6;--os-action-ink:#fff;
  --os-focus:var(--accent);--os-disabled-opacity:.55;
  --os-field-border:var(--border-3);--os-card-border:var(--border-2);
  /* Existing primary buttons and task buttons resolve to the same action role. */
  --solid-bg:var(--os-action);--solid-bg-hover:var(--os-action-hover);--on-solid:var(--os-action-ink);
}
:root[data-os-density=comfortable]{--os-control-height:36px;--os-control-py:8px;--os-control-px:12px;--os-input-height:44px;--os-field-py:10px;--os-card-pad:24px;--os-row-py:8px;--os-form-gap:18px;--os-font-title:28px;--os-font-section:18px;--os-font-record:22px}
/* A light link accent must never become the background under white button text. */
:root[data-theme=dark]{--os-action:#7c3aed;--os-action-hover:#6d28d9;--os-field-border:#77756f;--os-card-border:#484745;--os-shadow-menu:0 4px 12px #0006;--os-shadow-dialog:0 10px 30px #0007}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--os-action:#7c3aed;--os-action-hover:#6d28d9;--os-field-border:#77756f;--os-card-border:#484745;--os-shadow-menu:0 4px 12px #0006;--os-shadow-dialog:0 10px 30px #0007}}

/* Type hierarchy, independent of registry and view. */
#content :is(.pt,.wp-project-head h1,.ws-intro h1,.td-heading h1,.ws-heading h1){font-size:var(--os-font-title);font-weight:650;line-height:1.3;letter-spacing:-.025em}
#content :is(.sh,.set-h,.wp-quarter h2){font-size:var(--os-font-body);line-height:var(--os-line-height);font-weight:600}
#content :is(.wp-record-title,.ws-metric-card h2){font-size:var(--os-font-section);line-height:1.4;font-weight:600}
#content :is(.ps,.wp-purpose,.wq-guide){font-size:var(--os-font-body);line-height:1.6;color:var(--text-2)}
#drawer .drawer-title,#drawer.td-task-drawer .drawer-title{font-size:var(--os-font-record);line-height:1.4;font-weight:650;letter-spacing:-.015em}
.os-page-icon{display:inline-flex;align-items:center;justify-content:center;vertical-align:-.12em;width:1em;height:1em;margin-right:var(--os-space-2);color:var(--accent);flex-shrink:0}
.td-heading .os-page-icon{font-size:var(--os-font-title);margin-right:0}
.os-page-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.os-page-icon>.os-symbol{display:none}.os-page-icon>.os-icon-fallback{display:contents}.sh-sprite .os-page-icon>.os-symbol{display:block}.sh-sprite .os-page-icon>.os-icon-fallback{display:none}

.os-view-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex:none;vertical-align:middle;margin-right:4px}
.os-view-icon svg{width:16px;height:16px;flex:none}
.os-view-icon .os-page-icon{width:16px;height:16px;margin:0;color:inherit}
/* Controls: primary, neutral, quiet and destructive remain distinct roles. */
html :is(#content,#drawer,#login-screen) :is(.btn,.td-primary,.td-quiet,.login-btn){min-height:var(--os-control-height);padding:var(--os-control-py) var(--os-control-px);gap:var(--os-space-2);border-radius:var(--os-radius-control);font-family:inherit;font-size:var(--os-font-ui);font-weight:500;line-height:var(--os-line-height);text-decoration:none;justify-content:center;box-sizing:border-box}
html :is(#content,#drawer,#login-screen) :is(.bt-p,.td-primary,.login-btn:not(.alt)){background:var(--os-action);color:var(--os-action-ink);border:1px solid transparent;filter:none}
html :is(#content,#drawer,#login-screen) :is(.bt-p,.td-primary,.login-btn:not(.alt)):hover:not(:disabled){background:var(--os-action-hover);color:var(--os-action-ink);filter:none}
html :is(#content,#drawer) .td-quiet{border:1px solid var(--os-card-border);background:var(--surface);color:var(--text)}
html :is(#content,#drawer) .bt-g{background:transparent;color:var(--text)}
html :is(#content,#drawer) :is(.bt-g,.td-quiet):hover:not(:disabled){background:var(--surface-hover)}
html :is(#content,#drawer) :is(.bt-danger,.btn-danger){background:transparent;border:1px solid var(--danger-text);color:var(--danger-text)}
html :is(#content,#drawer) :is(.bt-danger,.btn-danger):hover:not(:disabled){background:var(--danger-solid);color:#fff}
html :is(#content,#drawer) :is(button,input,select,textarea):disabled{opacity:var(--os-disabled-opacity);cursor:not-allowed}
html #drawer .drawer-btns button{min-height:var(--os-control-height);border-radius:var(--os-radius-control)}
html #drawer .drawer-btns .wd-close{min-width:var(--os-control-height)}
html #content .ws-data-actions summary{min-height:var(--os-control-height);padding:var(--os-control-py) var(--os-control-px);font-size:var(--os-font-ui);line-height:var(--os-line-height);border-radius:var(--os-radius-control);border-color:var(--os-card-border)}

/* Form fields share their appearance with settings and task filters.
   Native dates/selects, checkbox sizing and full-width relation lists are retained. */
html :is(#content,#drawer,#login-screen) :is(.ff,.login-card,.td-filter-field) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=color]):not([type=range]),select,textarea),
html #drawer .wq-form-find>input {
  font:inherit;font-size:var(--os-font-field);line-height:var(--os-line-height);color:var(--text);background:var(--surface);
  min-height:var(--os-input-height);padding:var(--os-field-py) var(--os-space-3);border:1px solid var(--os-field-border);border-radius:var(--os-radius-control);max-width:100%;box-sizing:border-box;
}
html :is(#content,#drawer) :is(.ff,.fld) .fl{font-size:var(--os-font-caption);font-weight:500;color:var(--text-2);line-height:var(--os-line-height);letter-spacing:0;text-transform:none;margin-bottom:var(--os-space-2)}
html :is(#content,#drawer) .ff textarea{min-height:104px;resize:vertical}
html :is(#content,#drawer) :is(input,select,textarea):focus{border-color:var(--os-focus);box-shadow:none}
html :is(#content,#drawer) :is(input[readonly],textarea[readonly]){background:var(--surface-2)}
html :is(#content,#drawer) input:is([type=checkbox],[type=radio]){accent-color:var(--os-action);flex-shrink:0}
html #drawer .ff-multi{border-radius:var(--os-radius-control);border-color:var(--os-field-border);background:var(--surface)}
html :is(#content,#drawer) :is(.ff-hint,.ff-rule,.ff-err){font-size:var(--os-font-caption);line-height:1.6}
html :is(#content,#drawer) .ff-err{color:var(--danger-text)}
html #content .tbl-search input,html #content .ws-directory-search input{min-height:var(--os-input-height);border:1px solid var(--os-field-border);border-radius:var(--os-radius-control);padding:var(--os-field-py) var(--os-space-3);font-size:var(--os-font-field);line-height:var(--os-line-height);background:var(--surface);color:var(--text)}
html #content .td-search{min-height:var(--os-input-height);border:1px solid var(--os-field-border);border-radius:var(--os-radius-control);background:var(--surface);padding:0 var(--os-space-3)}
html #content .td-search input{font-size:var(--os-font-field);line-height:var(--os-line-height)}
html #content .td-search:focus-within{border-color:var(--os-focus)}

/* Segmented view controls and section navigation use the same selected treatment.
   Task scopes remain underlined navigation: they select a dataset, not a layout. */
html #content :is(.view-toggle,.td-view-nav){gap:var(--os-space-1)}
html #content .view-toggle{padding:var(--os-space-1);border:1px solid var(--border);border-radius:var(--os-radius-card);background:var(--surface-2)}
html #content :is(.view-toggle .vt,.td-view-nav>button),html #drawer .wd-section-nav>button{
  border-radius:var(--os-radius-control);min-height:var(--os-control-height);padding:var(--os-control-py) var(--os-control-px);font:inherit;font-size:var(--os-font-ui);line-height:var(--os-line-height);color:var(--text-2);background:transparent;border:1px solid transparent;box-shadow:none;
}
html #content :is(.view-toggle .vt.on,.td-view-nav>button.on),html #drawer .wd-section-nav>button.on{color:var(--accent);background:var(--accent-bg);border-color:var(--accent-border);font-weight:600;box-shadow:none}
html #content :is(.view-toggle .vt,.td-view-nav>button):hover,html #drawer .wd-section-nav>button:hover{background:var(--surface-hover);color:var(--text)}
html #content :is(.set-tab,.td-tabs>button),html #drawer .td-detail-tabs>button{min-height:var(--os-input-height);font-size:var(--os-font-ui);line-height:var(--os-line-height);border-radius:0}
html #content :is(.set-tab.on,.td-tabs>button.on),html #drawer .td-detail-tabs>button[aria-selected=true]{border-bottom-color:var(--accent);color:var(--accent);font-weight:600}
html #content .chip{font-size:var(--os-font-caption);border-radius:var(--os-radius-pill);min-height:30px;line-height:var(--os-line-height);padding:4px var(--os-space-3)}
html #content .chip.on{background:var(--accent-bg);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent-border)}
html #content .td-source-legal{color:var(--warn-text)}
html #content .td-source-process{color:var(--accent)}

/* Surfaces. Dense table/kanban/WBS layouts keep their existing structure. */
html #content :is(.panel,.wp-plan-card,.ws-metric-card,.ws-section-card,.wp-empty,.empty-state.onboard-empty,.wq-criterion.rowline){border-radius:var(--os-radius-card);border-color:var(--os-card-border);background:var(--surface);box-shadow:none}
html #content :is(.wp-plan-card,.ws-metric-card){padding:var(--os-card-pad)}
html #content :is(.wp-card-grid,.ws-metric-grid,.ws-section-grid){gap:var(--os-space-4)}
html #content :is(.kb-card,.wp-task-row,.wt-task){border-radius:var(--os-radius-card);border-color:var(--os-card-border);box-shadow:none}
html #content .tw{border-radius:var(--os-radius-card);border-color:var(--os-card-border)}
html #content .tw th{font-size:var(--os-font-caption);font-weight:500;letter-spacing:0;text-transform:none;padding:var(--os-row-py) var(--os-space-3);background:var(--surface-2)}
html #content .tw td{padding:var(--os-row-py) var(--os-space-3);font-size:var(--os-font-ui);line-height:var(--os-line-height)}
html :is(#content,#drawer) .badge{font-size:var(--os-font-caption);font-weight:500;line-height:var(--os-line-height);border-radius:var(--os-radius-pill);padding:2px var(--os-space-2)}
html :is(#content,#drawer) :is(.wq-form-find,.wq-filter-summary,.wd-completion,.wd-undated,.set-note){border-radius:var(--os-radius-card)}
html #content .td-pop,html #content .ws-data-actions[open]>.pt-actions{border-radius:var(--os-radius-card);box-shadow:var(--os-shadow-menu);border-color:var(--os-card-border)}
html #drawer{box-shadow:var(--os-shadow-dialog)}

/* Lists grow with their records. Only the page/drawer owns vertical scrolling.
   Horizontal overflow remains available for genuinely wide tables and timelines. */
html :is(#content,#drawer) :is(.tw,.tree,.gantt,.rm-wrap){height:auto;max-height:none;overflow-x:auto;overflow-y:visible}
html #content .wq-metric-points{height:auto;max-height:none;overflow:visible}

/* Compact working rhythm. Density changes space, not the user's data or views. */
html #content .pt-row{margin-bottom:12px;gap:8px}
html #content .pt-row .pt{margin:0}
html #content .pt-row~.ps{font-size:12px;margin-bottom:12px}
html #content .reg-head{gap:8px;margin:8px 0}
html #content .sv-bar{gap:6px;margin:8px 0}
html #content .chips{gap:4px;margin-bottom:10px}
html #content .chip{min-height:26px;padding:3px 9px}
html #content .view-toggle{padding:2px;gap:2px}

html #content .td-view-nav{margin-bottom:8px;padding-bottom:8px;gap:4px}
html #content .td-tabs{gap:20px}
html #content .td-tabs>button{min-height:var(--os-input-height);padding:8px 0}

html #content .td-row{min-height:46px}
html #content .ws-section-card{padding:var(--os-card-pad);gap:8px}
html #content .wp-plan-card{gap:12px}
html #drawer .drawer-head{padding:var(--os-card-pad) 20px;gap:12px}
html #drawer .drawer-body{padding:var(--os-card-pad) 20px 32px;scroll-padding:var(--os-card-pad)}
html #drawer :is(#rec-form,.wd-field-grid){gap:var(--os-form-gap) 20px}
html #drawer .wd-field-section{margin-bottom:var(--os-card-pad);padding-bottom:var(--os-card-pad)}
html #drawer .wd-field-section :is(h2,summary){margin-bottom:12px}
html #drawer .fld .fv{font-size:14px;line-height:1.6}
html #drawer .wd-section-nav{top:calc(-1 * var(--os-card-pad));padding:8px 0;margin-bottom:12px}
html #drawer .drawer-btns button{padding:var(--os-control-py) var(--os-control-px)}

/* Contextual help sits beside Refresh, with a real dialog and keyboard focus. */
.os-help-trigger{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:5px!important;flex:none;cursor:pointer}
.os-help-trigger svg{width:18px;height:18px;flex:none}
html #sh-top .sh-top2 .os-help-trigger.sh-act{display:inline-flex!important}
#os-page-help{width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 48px);box-sizing:border-box;margin:auto;padding:0;border:1px solid var(--os-card-border);border-radius:var(--os-radius-panel);background:var(--surface);color:var(--text);box-shadow:var(--os-shadow-dialog);overflow:auto;font:14px/1.6 'Inter',sans-serif}
#os-page-help::backdrop{background:#10162055}
#os-page-help>header{position:sticky;top:0;display:flex;align-items:flex-start;gap:16px;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);background:var(--surface);z-index:1}
#os-page-help h2{font-size:20px;line-height:1.35;margin:4px 0 0}
.os-help-eyebrow{font-size:10px;letter-spacing:.08em;color:var(--text-2)}
#os-page-help [data-help-close]{min-width:32px;height:32px;border:0;border-radius:var(--os-radius-control);background:transparent;color:var(--text-2);font-size:24px;cursor:pointer}
#os-page-help [data-help-close]:hover{background:var(--surface-hover);color:var(--text)}
.os-help-body{padding:16px 20px 24px}.os-help-body p{margin:0 0 14px}.os-help-body ol{padding-left:22px}.os-help-body li{margin-bottom:8px}
.os-help-body .wq-guide{margin:0}.os-help-body .wq-guide summary{font-weight:600;cursor:pointer}.os-help-links{display:flex;flex-wrap:wrap;gap:16px;margin-top:20px;padding-top:12px;border-top:1px solid var(--border)}
#os-page-help :is(a,button,summary):focus-visible,.os-help-trigger:focus-visible{outline:2px solid var(--os-focus);outline-offset:2px}
#os-page-help a{color:var(--accent);text-underline-offset:3px}#os-page-help a:hover{color:var(--text)}
.os-density-panel .view-toggle{width:max-content;max-width:100%}.os-density-note{font-size:12px;line-height:1.6;color:var(--text-2);margin:10px 0 0}

/* Planning views: compact cards, a scan-friendly list and an explicit detail view. */
.okr-layouts{display:flex;gap:4px;margin:10px 0}.okr-layouts .on{background:var(--accent-bg)!important;color:var(--accent)!important}
.okr-collection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.okr-card{display:flex;flex-direction:column;gap:10px;padding:14px 16px;background:var(--surface);border:1px solid var(--os-card-border);border-radius:var(--os-radius-card);min-width:0}
.okr-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.okr-heading .badge{flex:none}
html #content .okr-card .wp-record-title{font-size:15px;line-height:1.45}
.okr-result{font-size:13px;line-height:1.5;margin:0;overflow-wrap:anywhere}
.okr-measure{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;font-variant-numeric:tabular-nums}
.okr-target,.okr-meta,.okr-percent,.okr-relation-count{font-size:12px;color:var(--text-2)}.okr-meta{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.okr-card progress{display:block;appearance:none;width:100%;height:4px;border:0;border-radius:var(--os-radius-pill);background:var(--surface-3);overflow:hidden}
.okr-card progress::-webkit-progress-bar{background:var(--surface-3)}.okr-card progress::-webkit-progress-value{background:var(--accent)}.okr-card progress::-moz-progress-bar{background:var(--accent)}
.okr-card footer{display:flex;align-items:center;flex-wrap:wrap;gap:4px;padding-top:8px;border-top:1px solid var(--border);margin-top:auto}
.okr-card .okr-relation-count{margin-left:auto}.okr-explanation{font-size:12px;line-height:1.55;color:var(--text-2);margin:0}
.okr-layout-list .okr-collection{grid-template-columns:1fr;gap:8px}.okr-layout-list .okr-card{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:6px 20px;padding:12px 16px}
.okr-layout-list .okr-heading,.okr-layout-list .okr-result{grid-column:1}.okr-layout-list .okr-measure{grid-column:2;grid-row:1}.okr-layout-list progress{grid-column:2;grid-row:2;align-self:center}.okr-layout-list .okr-meta{grid-column:2;grid-row:3}.okr-layout-list footer{grid-column:1;grid-row:3;border:0;padding:0}.okr-layout-list .okr-relation-count{display:none}
.okr-layout-detail .okr-card{padding:20px;gap:14px}.okr-layout-detail .okr-measure{font-size:20px}

/* All five task views share the same shell, search, scopes and gutters. */
html #content .td-workspace :is(.td-header,.td-tabs,.td-toolbar,.td-context-strip,.td-foot){padding-left:24px;padding-right:24px}
html #content .td-workspace>.td-view-nav{padding-left:24px;padding-right:24px}

html #content .td-toolbar{box-sizing:border-box}
html #content .td-row{padding-left:24px;padding-right:24px}
.td-group-select[hidden]{display:none!important}
.td-view-options{margin:0 0 10px;font-size:12px;color:var(--text-2)}.td-view-options>summary{cursor:pointer;width:max-content;max-width:100%;padding:6px 0}
.td-view-options[open]{padding:0 12px 8px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--os-radius-card)}
html #content .td-tree-tools{padding:8px 0 12px;gap:12px;background:transparent;border:0;border-radius:0}
.tt-head,.tt-row{display:grid;grid-template-columns:minmax(200px,1fr) 100px 150px 90px 80px;column-gap:12px;align-items:center}
.tt-head{padding:8px 12px;color:var(--text-2);font-size:11px;background:var(--surface-2);border:1px solid var(--border);border-bottom:0;border-radius:var(--os-radius-card) var(--os-radius-card) 0 0}
html #content .tt-tree{border:1px solid var(--border);border-radius:0 0 var(--os-radius-card) var(--os-radius-card)}
html #content .tt-row{padding:9px 12px;min-height:46px;border-bottom:1px solid var(--border);background:var(--surface);font-size:13px;cursor:pointer}
html #content .tt-row:hover,html #content .tt-row:focus-within{background:var(--surface-2)}
.tt-main{display:flex;align-items:center;gap:8px;min-width:0;padding-left:calc(min(var(--tree-depth),8) * 22px)}
.tt-name{min-width:0;display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px}.tt-name .tree-title{white-space:normal;overflow-wrap:anywhere;flex:1;min-width:80px;line-height:1.5}
.tt-name .tree-code{font-size:11px;color:var(--text-2);background:var(--surface-2);border:1px solid var(--border);padding:1px 4px;border-radius:var(--os-radius-control);min-width:0}
.tt-children,.tt-name .td-tree-parent{flex-basis:100%;font-size:11px;color:var(--text-2)}
.tt-row .tree-tgl,.tt-leaf{display:inline-flex;align-items:center;justify-content:center;width:24px;height:28px;flex:none;border:0;border-radius:var(--os-radius-control);background:transparent;color:var(--text-2)}
.tt-row .tree-tgl:hover{background:var(--surface-hover)}.tt-row .tree-tgl svg{width:14px;height:14px}.tt-row[aria-expanded=true] .tree-tgl svg{transform:rotate(90deg)}
.tt-leaf::after{content:'';width:5px;height:5px;border-radius:50%;background:var(--text-2);opacity:.5}
.tt-owner{display:flex;align-items:center;gap:6px;min-width:0;font-size:12px}.tt-owner>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tt-due{font-size:12px;white-space:nowrap}.tt-links .td-task-links{font-size:11px}
.tt-group{padding:10px 12px;background:var(--surface-2);font-size:12px;font-weight:600;border-bottom:1px solid var(--border)}
.tt-row.td-tree-context{opacity:1;background:var(--surface-2)}
.tt-structure-note{font-size:12px;line-height:1.6;color:var(--warn-text);margin:0 0 10px}.tt-structure-note summary{cursor:pointer}.tt-structure-note p{margin:6px 0}
.td-repeat-summary{margin-top:20px;padding:14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--os-radius-card)}.td-repeat-summary h2{font-size:14px!important;margin:0 0 12px}.td-repeat-summary p{font-size:12px;color:var(--text-2);line-height:1.6;margin:10px 0 0}.td-repeat-summary dl{margin:0;font-size:12px}.td-repeat-summary dl>div{display:flex;justify-content:space-between;gap:12px;padding:6px 0}.td-repeat-summary dt{color:var(--text-2)}.td-repeat-summary dd{margin:0;text-align:right;flex-shrink:0}
@media(max-width:1100px){.tt-head,.tt-row{grid-template-columns:minmax(160px,1fr) 95px 95px 75px}.tt-owner{display:none}.tt-head>span:nth-child(3){display:none}}
@media(max-width:680px){.okr-collection{grid-template-columns:1fr}.okr-layout-list .okr-card{display:flex}.okr-layout-list .okr-meta{display:flex}.okr-layout-list footer{border-top:1px solid var(--border);padding-top:8px}.tt-head{display:none}html #content .tt-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px 8px}.tt-main{grid-column:1/-1;padding-left:calc(min(var(--tree-depth),6) * 12px)}.tt-status{grid-column:1;padding-left:calc(min(var(--tree-depth),6) * 12px + 32px)}.tt-due{grid-column:2;grid-row:2}.tt-links{grid-column:1/-1;text-align:right}.tt-row .tree-tgl,.tt-leaf{width:28px;height:36px}html #content .td-workspace :is(.td-header,.td-tabs,.td-toolbar,.td-context-strip,.td-foot),html #content .td-workspace>.td-view-nav,html #content .td-view-body{padding-left:16px;padding-right:16px}.okr-layouts{flex-wrap:wrap}.okr-card .okr-relation-count{margin-left:0;flex-basis:100%}}

/* Same focus ring for every interactive surface. Never alter display/position here. */
html :is(#content,#drawer,#login-screen) :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:var(--ph-focus-w,2px) solid var(--os-focus);outline-offset:var(--ph-focus-offset,2px);box-shadow:none}
@media(max-width:640px),(pointer:coarse){
  :root,:root[data-os-density=comfortable]{--os-control-height:max(44px,var(--ph-control-h-touch,40px));--os-font-title:22px;--os-font-record:20px;--os-font-field:16px;--os-input-height:44px;--os-field-py:10px}
  html :is(#content,#drawer,#login-screen) :is(input,select,textarea){font-size:16px}
  html #content :is(.tbl-search input,.td-search input),html #drawer .wq-form-find>input{font-size:16px}
  html #content :is(.wp-plan-card,.ws-metric-card){padding:var(--os-space-4)}
  html #content .chip{min-height:40px}
  html #drawer .drawer-btns button{min-height:44px;min-width:44px}

  html #content .td-row{min-height:88px}
  html #drawer .drawer-head,html #drawer .drawer-body{padding-left:16px;padding-right:16px}
  .os-help-trigger{width:44px;height:44px}#os-page-help [data-help-close]{min-width:44px;height:44px}
}
@media(prefers-reduced-motion:reduce){html :is(#content,#drawer,#os-page-help) *,html :is(#content,#drawer) *::before,html :is(#content,#drawer) *::after{animation:none;transition:none;scroll-behavior:auto}}
@media print{html #drawer{box-shadow:none}html #content :is(.btn,.td-primary){print-color-adjust:exact}}

/* Category accordions are controls; one populated category starts expanded. */
button.cat-head{width:100%;font:inherit;text-align:left;color:inherit;background:transparent;border:0;cursor:pointer}
button.cat-head:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

html #content .td-search input:focus-visible{outline:0}
html #content .td-search:focus-within{outline:2px solid var(--os-focus);outline-offset:2px}
.tt-mobile-control{display:none}
@media(max-width:600px){.tt-action-text{display:none}.tt-mobile-control{display:inline-block;min-width:20px;text-align:center;font-size:18px}.td-tree-tools>div:last-child{flex-wrap:nowrap}}

/* OS468 — one collection shell and adjacent query controls across registries. */
.ws-workspace{margin:-24px -36px 0;background:var(--surface);color:var(--text);min-width:0;font-size:13px;min-height:calc(100dvh - 105px)}
.ws-workspace svg:not(.ch-svg):not(.spark),.ws-controls svg{width:17px;height:17px;flex-shrink:0;vertical-align:middle}
.ws-header{display:flex;align-items:center;justify-content:space-between;padding:22px 24px 16px;gap:16px}
.ws-heading{display:flex;align-items:center;gap:12px;min-width:0}.ws-heading h1{font-size:23px;font-weight:650;letter-spacing:-.5px;margin:0;line-height:1.3}.ws-heading>svg{width:23px;height:23px;color:var(--accent)}
.ws-header .wp-toolbar{display:flex;flex-direction:row-reverse;align-items:center;gap:10px;flex-shrink:0;margin:0}
.ws-views{padding:0 24px 10px;border-bottom:1px solid var(--border)}.ws-views .view-toggle{display:flex;flex-wrap:wrap;background:none;border:0;padding:0;gap:6px}.ws-views .vt{display:inline-flex;align-items:center;gap:6px;min-height:32px;font-size:13px;padding:6px 10px;border:1px solid transparent;border-radius:var(--os-radius-control);background:var(--surface);color:var(--text-2)}.ws-views .vt.on{color:var(--accent);background:var(--accent-bg,var(--surface-2));border-color:var(--accent)}
.ws-lists{padding:0 24px;border-bottom:1px solid var(--border);overflow-x:auto}.ws-lists .chips{display:flex;flex-wrap:nowrap;margin:0;gap:18px}.ws-lists .chip{border:0;border-bottom:2px solid transparent;border-radius:0;background:none;padding:12px 0;min-height:44px;white-space:nowrap;color:var(--text-2)}.ws-lists .chip.on{border-bottom-color:var(--accent);color:var(--accent)}.ws-list-all{display:block;padding:12px 0}
.ws-saved{margin:0!important;padding:8px 24px 0}.ws-body{padding:16px 24px 30px;min-width:0}.ws-body>.ps:empty{display:none}
.ws-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 24px;min-height:56px;box-sizing:border-box}.ws-toolbar .tbl-search{margin:0;flex:0 1 260px;min-width:170px}.ws-toolbar .tbl-search input{width:100%;box-sizing:border-box;min-height:36px}
.ws-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.ws-controls .btn{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.ws-controls summary{list-style:none;cursor:pointer}.ws-controls summary::-webkit-details-marker{display:none}
.ws-group-control,.ws-sort-control{display:inline-flex;align-items:center;gap:6px;color:var(--text-2);min-width:0}.ws-controls select{font:inherit;font-size:12px;min-height:36px;max-width:200px;padding:6px 24px 6px 8px;border:1px solid var(--os-field-border);border-radius:var(--os-radius-control);background:var(--surface);color:var(--text)}.ws-controls select:disabled{color:var(--text-2);opacity:1;max-width:235px}
.ws-filter{position:relative}.ws-filter-pop{position:absolute;z-index:35;top:calc(100% + 8px);left:0;width:min(620px,calc(100vw - 64px));max-height:65vh;overflow:auto;box-sizing:border-box;background:var(--surface);border:1px solid var(--border);border-radius:var(--os-radius-card);box-shadow:0 12px 32px #0002;padding:16px}.ws-filter-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.ws-filter-pop p{font-size:12px;color:var(--text-2);line-height:1.6;margin:12px 0 0}.ws-rule{display:grid;grid-template-columns:1fr 1fr 1fr 34px;gap:8px;margin-bottom:10px;align-items:center}.ws-rule :is(input,select){width:100%;min-width:0;max-width:none;box-sizing:border-box}.ws-rule input{min-height:36px;padding:6px 8px}.ws-filter-pop>.btn{margin:4px 6px 0 0}.ws-special-filters{margin-bottom:12px;border-bottom:1px solid var(--border);padding-bottom:12px}.ws-special-filters>summary{margin-bottom:10px}.ws-special-filters .td-filter-field{display:grid;margin:8px 0}.ws-special-filters .td-filter-field select{max-width:none}
.ws-rule-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:0 24px 10px;font-size:12px;color:var(--text-2)}.ws-rule-summary>span{padding:4px 8px;border:1px solid var(--border);border-radius:var(--os-radius-control)}
.ws-group{margin:0 0 20px}.ws-group>h2{font-size:13px;font-weight:600;margin:0 0 12px;padding:10px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--os-radius-control)}.ws-group>h2 span,.ws-table-group span{color:var(--text-2);font-size:12px;margin-left:8px;font-weight:400}
html #content .ws-table-group th{background:var(--surface-2);padding:10px 12px;text-align:left;font-size:13px;font-weight:600;white-space:normal}
html #content .td-toolbar{flex-wrap:wrap;justify-content:flex-start}.td-toolbar .ws-controls{margin-left:0}
@media(max-width:1000px){.ws-header{flex-wrap:wrap}.ws-filter-pop{position:fixed;top:140px;left:16px;right:16px;width:auto;max-height:calc(100dvh - 165px)}}
@media(max-width:900px){.ws-workspace{margin:-16px -16px 0}.ws-heading h1{font-size:22px}.ws-header{padding:18px 16px 12px}.ws-views,.ws-lists{padding-left:16px;padding-right:16px}.ws-toolbar{padding:12px 16px}.ws-body{padding:12px 16px 24px}}
@media(max-width:600px){.ws-heading{gap:8px}.ws-heading>svg{display:none}.ws-header .wp-toolbar{flex-wrap:wrap}.ws-header .ws-data-actions>summary{font-size:12px}.ws-views .vt{min-height:44px}.ws-controls{gap:8px;width:100%}.ws-toolbar .tbl-search{flex:1 1 100%}.ws-controls select{min-height:44px;max-width:190px;font-size:14px}.ws-controls .btn{min-height:44px}.ws-rule{grid-template-columns:1fr 1fr 34px}.ws-rule [data-rule-part=value]{grid-column:1/3;grid-row:2}.ws-rule>.btn{grid-column:3;grid-row:1/3}.ws-rule :is(input,select){font-size:16px;min-height:44px}.ws-rule-summary{padding:0 16px 10px}.ws-saved{padding-left:16px;padding-right:16px}html #content tr.ws-table-group{display:block}html #content tr.ws-table-group th{display:block;width:auto}.ws-group-control,.ws-sort-control{max-width:100%}}
html #content .ws-views .view-toggle{background:transparent;border:0;border-radius:0;padding:0;justify-content:flex-start;gap:6px}
html #content .ws-lists .chip{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--text-2);padding:12px 0;min-height:44px}
html #content .ws-lists .chip.on{border-bottom-color:var(--accent);color:var(--accent);background:transparent}
html #content .ws-lists .chips{margin:0;gap:18px}
html #content :is(.ws-header,.td-header){box-sizing:border-box}
html #content .ws-views{padding-bottom:8px}

.ws-doc-group{font-size:13px;font-weight:600;margin:0;padding:12px 16px;background:var(--surface-2);border-block:1px solid var(--border)}
.ws-workspace .doc-index-filters.ws-filter-pop{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ws-workspace .doc-index-filters.ws-filter-pop label{display:grid;gap:6px;min-width:0}.ws-workspace .doc-index-filters.ws-filter-pop select{max-width:none;width:100%}
@media(max-width:600px){.ws-workspace .doc-index-filters.ws-filter-pop{grid-template-columns:1fr}}
html #content .ws-lists .chip.on{box-shadow:none}
.ws-lists{display:flex;align-items:center;gap:16px}.ws-lists>.chips{flex:1}.ws-lists>.ws-saved{padding:0!important;flex-shrink:0}.ws-sort-control{font-size:16px}
@media(max-width:600px){.ws-lists>.ws-saved{margin-left:8px!important}}

/* OS469: one table surface for flat, grouped and hierarchical records. */
html #content .ws-table-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0 10px;color:var(--muted);font-size:12px}
html #content .ws-table-options{display:flex;align-items:center;flex-wrap:wrap;gap:4px}
html #content .ws-table-options .btn{min-height:28px;padding:4px 8px;font-size:12px;gap:5px}
html #content .ws-table-options svg{width:14px;height:14px}
html #content .ws-table-options [aria-pressed=true]{background:var(--surface-2);color:var(--text);box-shadow:inset 0 0 0 1px var(--border)}
html #content .ws-table-help{position:relative;flex:none}
html #content .ws-table-help summary{list-style:none;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;width:24px;height:24px;cursor:pointer;font-family:serif}
html #content .ws-table-help[open] p{position:absolute;right:0;top:24px;z-index:20;width:min(350px,calc(100vw - 48px));padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--os-radius-card);box-shadow:var(--os-shadow-menu);line-height:1.6;color:var(--text)}
html #content .ws-data-table{background:var(--surface);border:1px solid var(--border)}
html #content .ws-data-table table{width:100%;border-collapse:separate;border-spacing:0}
html #content .ws-data-table td{position:relative;vertical-align:middle;border-bottom:1px solid var(--border);height:42px;max-width:340px}
html #content .ws-data-table tbody tr:last-child td{border-bottom:0}
html #content .ws-data-table .ws-name-cell{min-width:260px;width:38%;font-weight:500}
html #content .ws-name-line{display:flex;align-items:center;gap:4px;min-width:0}
html #content .ws-name-value{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
html #content .ws-property-value{display:flex;align-items:center;gap:6px;min-width:80px;max-width:260px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:400}
html #content .ws-data-table.ws-wrap :is(.ws-name-value,.ws-property-value){white-space:normal;overflow-wrap:anywhere}
html #content .ws-row-context{display:flex;flex-wrap:wrap;gap:4px;font-weight:400;font-size:11px;color:var(--muted)}
html #content .ws-row-context:empty{display:none}
html #content .ws-row-context>span{margin-top:3px}
html #content .ws-indent{display:flex;align-items:center;padding-left:calc(var(--ws-depth)*18px);flex:none;border-left:1px solid var(--border)}
html #content .ws-branch,html #content .ws-branch-spacer{display:grid;place-items:center;width:24px;height:26px;flex:none;border:0;border-radius:5px;background:transparent;color:var(--muted);font-size:15px}
html #content .ws-branch:hover{background:var(--surface-2);color:var(--text)}
html #content .ws-context-row{background:var(--surface-2)}
html #content .ws-context-tag{color:var(--muted);font-size:11px;font-weight:400}
html #content .ws-cell-edit{position:absolute;right:3px;top:50%;transform:translateY(-50%);width:24px;height:24px;border:1px solid var(--border);border-radius:5px;background:var(--surface);color:var(--muted);cursor:pointer;opacity:0}
html #content td:hover>.ws-cell-edit,html #content td:focus-within>.ws-cell-edit{opacity:1}
html #content .ws-data-table tr:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
html #content .ws-group-toggle{display:flex;align-items:center;gap:8px;border:0;background:none;color:var(--text);font:inherit;font-weight:600;cursor:pointer;padding:2px 0;width:100%;text-align:left}
html #content .ws-group-toggle>span:last-child{font-weight:400;color:var(--muted);font-size:11px}
html #content .ws-table-group th{background:var(--surface-2);padding:8px 12px}
html #drawer .ws-col-option{display:flex;align-items:center;gap:6px;padding:3px 0;border-bottom:1px solid var(--border)}
html #drawer .ws-col-option label{flex:1;margin:0}
html #drawer .ws-col-option .btn{min-height:28px;padding:3px 8px}
@media(max-width:700px){
 html #content .ws-table-options .btn{min-height:36px}
 html #content .ws-data-table table,html #content .ws-data-table tbody{display:block;width:100%}
 html #content .ws-data-table thead{display:none}
 html #content .ws-data-table tr[data-ws-row]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 8px;padding:10px;border-bottom:1px solid var(--border)}
 html #content .ws-data-table td{display:block;width:auto;min-width:0;max-width:none;height:auto;border:0;padding:6px 0}
 html #content .ws-data-table td::before{content:attr(data-label);display:block;font-size:10px;color:var(--muted);margin-bottom:3px;font-weight:400}
 html #content .ws-data-table :is(.ws-name-cell,.bulk-td){grid-column:1/-1;width:auto;min-width:0}
 html #content .ws-data-table .bulk-td{padding:0}
 html #content .ws-data-table :is(.ws-name-cell,.bulk-td)::before{display:none}
 html #content .ws-data-table .ws-name-value{white-space:normal;overflow-wrap:anywhere}
 html #content .ws-data-table .ws-property-value{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
 html #content .ws-data-table .ws-indent{padding-left:calc(min(var(--ws-depth),4)*10px)}
 html #content .ws-data-table .ws-table-group{display:block}
 html #content .ws-data-table .ws-table-group th{display:block;width:100%;box-sizing:border-box}
 html #content .ws-data-table tfoot{display:block}
 html #content .ws-data-table tfoot tr{display:flex;gap:10px;flex-wrap:wrap;padding:8px}
 html #content .ws-cell-edit{position:static;transform:none;opacity:1;width:28px;height:28px;float:right}
}
@media(max-width:600px){
 html #content .ws-controls{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px 8px}
 html #content .ws-controls>.ws-sort-control{grid-column:2;grid-row:2}
 html #content .ws-controls>.ws-sort-direction{grid-column:1;grid-row:2}
 html #content .ws-controls>:is(.ws-group-control,.ws-sort-control){width:100%;max-width:none}
 html #content .ws-controls>:is(.ws-group-control,.ws-sort-control)>select{width:100%;max-width:none;min-width:0;font-size:12px}
 html #content .ws-data-table tr[data-ws-row]{position:relative}
 html #content .ws-data-table td.bulk-td{position:absolute;right:8px;top:8px;width:24px;min-height:28px;margin:0}
 html #content .ws-data-table .ws-name-cell{padding-right:32px}
 html #content .ws-data-table .ws-name-cell>.ws-cell-edit{position:absolute;right:2px;top:auto;bottom:2px;float:none}
}
@media(max-width:700px){html #content .ws-data-table td::before{max-width:none}}

/* OS470: named workspaces, explicit drafts and a complete hierarchy path. */
html #content .sv-workspaces{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0;padding:8px 0;border-bottom:1px solid var(--border);position:relative}
html #content .td-workspace>.sv-workspaces{margin:0 24px;padding:8px 0}
html #content .ws-workspace>.sv-workspaces{padding:8px 24px}
html #content .sv-tabs{display:flex;align-items:center;gap:4px;max-width:100%;overflow-x:auto;scrollbar-width:thin;flex:1 1 350px}
html #content .sv-tab{display:inline-flex;align-items:center;gap:6px;flex:none;max-width:250px;padding:7px 10px;min-height:32px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-2);font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}
html #content .sv-tab>span{overflow:hidden;text-overflow:ellipsis}
html #content .sv-tab svg{width:14px;height:14px}
html #content .sv-tab.on{background:var(--accent-bg);color:var(--accent);border-color:var(--accent-border)}
html #content .sv-tab i{font-size:8px;color:var(--accent);font-style:normal}
html #content .sv-actions{display:flex;align-items:center;gap:4px;flex-wrap:wrap;min-width:0}
html #content .sv-actions .btn{font-size:12px;min-height:30px;padding:5px 8px}
html #content .sv-local{font-size:10px;color:var(--muted);margin-left:4px}
html #content .sv-save{color:var(--accent);border:1px solid var(--accent-border);background:var(--accent-bg)}
html #content .sv-menu{position:relative}
html #content .sv-menu>summary{list-style:none;cursor:pointer}
html #content .sv-menu>summary::-webkit-details-marker{display:none}
html #content .sv-menu-pop{position:absolute;right:0;top:calc(100% + 5px);z-index:35;display:flex;flex-direction:column;width:248px;padding:6px;border:1px solid var(--border);border-radius:var(--os-radius-card);background:var(--surface);box-shadow:var(--os-shadow-menu)}
html #content .sv-menu-pop>strong{font-size:12px;padding:8px;overflow-wrap:anywhere}
html #content .sv-menu-pop>button{font:inherit;text-align:left;font-size:12px;padding:9px 8px;border:0;border-radius:5px;background:none;color:var(--text);cursor:pointer}
html #content .sv-menu-pop>button:hover{background:var(--surface-2)}
html #content .sv-menu-pop>button:disabled{opacity:.45;cursor:default}
html #content .sv-menu-pop>.sv-danger{color:var(--danger,#b42318);border-top:1px solid var(--border);margin-top:4px}
html #content .sv-menu-pop>p{font-size:11px;color:var(--muted);padding:8px;margin:0;line-height:1.5}
html #content .ws-hierarchy-notice{font-size:11px;line-height:1.5;color:var(--muted);padding:0 0 10px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
html #content .ws-hierarchy-notice .btn{font-size:11px;padding:3px 7px;min-height:26px}
html #content .ws-level-tag{font-size:10px;color:var(--text-2);font-variant-numeric:tabular-nums}
html #content .ws-structure-row td{background:var(--surface-2);font-size:12px;color:var(--text-2)}
html #content .ws-structure-row .ws-name-line{flex-wrap:wrap}
html #content .ws-data-table[data-density=comfortable] td{padding-top:13px;padding-bottom:13px;line-height:1.65}
html #content .ws-density-label{display:flex;align-items:center;gap:5px;font-size:11px}
html #content .ws-density-label select{font:inherit;min-height:28px;padding:3px 6px;border:1px solid var(--border);border-radius:5px;background:var(--surface);color:var(--text)}
@media(max-width:700px){
 html #content .td-workspace>.sv-workspaces{margin:0 16px}
 html #content .ws-workspace>.sv-workspaces{padding:8px 16px}
 html #content .sv-tabs{flex-basis:100%}
 html #content .sv-actions .btn,html #content .sv-tab{min-height:36px}
 html #content .sv-local{display:none}
 html #content .sv-menu[open]>.sv-menu-pop{position:fixed;left:16px;right:16px;top:auto;bottom:24px;width:auto;max-height:65vh;overflow-y:auto;z-index:120}
 html #content .ws-data-table .ws-structure-row td{grid-column:1/-1;min-width:0}
 html #content .ws-data-table .ws-structure-row td::before{display:none}
 html #content .ws-structure-row .ws-name-line{font-size:11px}
 html #content .ws-level-tag{font-size:10px}
}

/* OS471: readable wide tables, editable widths and efficient selection. */
html #content .ws-data-table table{table-layout:fixed;width:100%;min-width:var(--ws-table-width)}
html #content .ws-data-table table.ws-sized{width:var(--ws-table-width);min-width:0}
html #content .ws-data-table td{max-width:none;box-sizing:border-box}
html #content .ws-data-table .ws-name-cell{width:auto;min-width:0}
html #content .ws-data-table :is(.ws-property-value,.ws-name-value){max-width:100%}
html #content .ws-data-table th[data-ws-field]{position:relative;padding-right:28px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html #content .ws-col-resize{position:absolute;right:0;top:0;bottom:0;display:block;width:9px;cursor:col-resize;touch-action:none;z-index:5}
html #content .ws-col-resize::after{content:'';position:absolute;right:3px;top:6px;bottom:6px;width:2px;border-radius:2px;background:var(--border);opacity:.5}
html #content .ws-col-resize:hover::after,html #content .ws-col-resize:focus-visible::after{background:var(--accent);opacity:1}
html #content .ws-col-resize:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
html.ws-resizing,html.ws-resizing *{cursor:col-resize!important;user-select:none!important}
@media(min-width:701px){
 html #content .ws-pin-first .bulk-td,html #content .ws-pin-first .bulk-th{position:sticky;left:0;z-index:3;background:var(--surface)}
 html #content .ws-pin-first .ws-name-cell{position:sticky;left:0;z-index:2;background:var(--surface);box-shadow:1px 0 0 var(--border)}
 html #content .ws-pin-first[data-ws-bulk=true] .ws-name-cell{left:var(--ws-select-width,34px)}
 html #content .ws-pin-first[data-ws-bulk=true] th[data-ws-field]:nth-child(2),html #content .ws-pin-first[data-ws-bulk=false] th[data-ws-field]:first-child{position:sticky;left:var(--ws-select-width,0px);z-index:4;background:var(--surface-2);box-shadow:1px 0 0 var(--border)}
 html #content .ws-pin-first .row-sel :is(.ws-name-cell,.bulk-td){background:var(--accent-bg)}
 html #content .ws-pin-first .ws-context-row :is(.ws-name-cell,.bulk-td){background:var(--surface-2)}
 html #content .ws-pin-first tr:hover .ws-name-cell{background:var(--surface-2)}
}
html #drawer .ws-column-settings{max-width:100%}
html #drawer .ws-column-search{display:grid;gap:5px;font-size:12px;color:var(--text-2);margin:12px 0}
html #drawer .ws-column-search input{font:inherit;padding:9px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);min-width:0;width:100%;box-sizing:border-box}
html #drawer .ws-pin-setting{display:flex;align-items:center;gap:8px;font-size:12px;margin:12px 0}
html #drawer .ws-column-quick{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
html #drawer .ws-column-quick button{font-size:11px}
html #drawer .ws-column-legend{display:flex;justify-content:space-between;padding:4px 0;color:var(--muted);font-size:11px}
html #drawer .ws-col-option{padding:5px 0}
html #drawer .ws-col-option[hidden]{display:none}
html #drawer .ws-col-option label{display:flex;gap:7px;align-items:center;min-width:0;font-size:12px;overflow-wrap:anywhere}
html #drawer .ws-column-width{width:76px;flex:none;min-width:0;box-sizing:border-box;font:inherit;font-size:12px;padding:5px;border:1px solid var(--border);border-radius:5px;background:var(--surface);color:var(--text)}
html #drawer .ws-column-settings .ff-actions{position:sticky;bottom:-32px;background:var(--surface);padding:12px 0;border-top:1px solid var(--border);z-index:2}
@media(max-width:700px){
 html #content .ws-data-table table,html #content .ws-data-table table.ws-sized{table-layout:auto;width:100%;min-width:0;max-width:100%}
 html #content .ws-data-table colgroup{display:none}
 html #drawer .ws-column-width{width:65px}
 html #drawer .ws-col-option{gap:4px}
 html #drawer .ws-col-option .btn{padding:4px;min-width:28px}
 html #drawer .ws-column-settings .ff-actions{flex-wrap:wrap}
}
html #content .ws-pin-note{font-size:11px;color:var(--muted);line-height:1.5;margin:0 0 8px}
@media(min-width:701px){
 html #content .ws-pin-first[data-ws-bulk=true] th[data-ws-field]:nth-child(2),html #content .ws-pin-first[data-ws-bulk=false] th[data-ws-field]:first-child{z-index:8}
 html #content .ws-pin-first th.bulk-th{z-index:9;background:var(--surface-2)}
}

/* OS472 · direct editing, quick entry and group calculations */
.ws-data-table td.wf-editing{overflow:visible;white-space:normal;position:relative;z-index:12;background:var(--surface,#fff);box-shadow:inset 0 0 0 2px var(--accent,#7537e8);min-width:180px}
.wf-cell-editor{display:flex;flex-wrap:wrap;gap:5px;min-width:100px;padding:4px}
.wf-cell-editor input,.wf-cell-editor select{width:100%;min-width:0;min-height:30px;background:var(--bg,#fff);color:inherit;border:1px solid var(--border,#ddd);border-radius:5px;padding:4px 6px;font:inherit}
.wf-cell-actions{display:flex;gap:4px}.wf-cell-actions .btn{padding:2px 8px;min-height:26px}.wf-cell-editor small{flex:1 0 100%;font-size:11px;white-space:normal;color:var(--muted,#777)}
.wf-total-line:empty{display:none}.wf-total-line,.wf-group-totals{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:11px;font-weight:400;color:var(--muted,#777)}
.wf-total-line{padding:4px 0 10px}.wf-group-totals{padding:4px 10px}.wf-aggregates{display:grid;gap:12px}.wf-aggregates label{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:center}.wf-aggregates select{min-width:0;padding:6px;font:inherit;color:inherit;background:var(--bg,#fff);border:1px solid var(--border,#ddd);border-radius:6px}
.wf-quick{padding:12px;border:1px solid var(--accent,#7537e8);border-radius:8px;margin:8px 0}.wf-quick form{display:grid;gap:8px}.wf-quick label{display:flex;gap:10px;align-items:center}.wf-quick input{flex:1;min-width:0;padding:7px;font:inherit;color:inherit;background:var(--bg,#fff);border:1px solid var(--border,#ddd);border-radius:6px}.wf-quick small{font-size:12px;color:var(--muted,#777)}
.wf-links{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}.wf-link-chip{font:inherit;font-size:10px;line-height:1.4;padding:2px 5px;border:1px solid var(--border,#ddd);border-radius:4px;color:var(--muted,#666);background:transparent;cursor:pointer}.wf-link-chip:hover{color:var(--accent,#7537e8);border-color:currentColor}.wf-add{font-size:11px!important;padding:3px 6px!important;min-height:24px!important}.wf-links-preview{position:relative;white-space:normal;max-width:100%;background:var(--surface,#fff);border:1px solid var(--border,#ddd);border-radius:8px;padding:10px;margin-top:8px;box-shadow:0 4px 15px #0001}.wf-links-preview header{display:flex;align-items:center;justify-content:space-between;gap:8px}.wf-linked-record{display:block;width:100%;font:inherit;text-align:left;padding:7px 0;background:none;border:0;color:inherit;cursor:pointer}.wf-links-preview p{font-size:12px;color:var(--muted,#777)}
.wf-team{display:grid;gap:12px}.wf-team article{display:grid;gap:8px;padding:12px;border:1px solid var(--border,#ddd);border-radius:8px}.wf-team article small{display:block;font-size:11px;color:var(--muted,#777);margin-top:4px}.wf-team-actions{display:flex;gap:6px;flex-wrap:wrap}.wf-team form{display:grid;gap:8px;margin-top:8px}.wf-team label{display:grid;gap:6px}.wf-team input{font:inherit;min-width:0;padding:7px;background:var(--bg,#fff);color:inherit;border:1px solid var(--border,#ddd);border-radius:6px}.wf-team [role=alert]{color:var(--danger,#b33);font-size:12px}
@media(max-width:700px){.wf-quick label{display:grid;gap:5px}.wf-aggregates label{grid-template-columns:1fr}.wf-cell-editor{padding:6px}.wf-links{gap:4px}.wf-team-actions{display:grid}}

#wf-notice{position:fixed;z-index:1500;right:20px;bottom:20px;display:flex;align-items:center;gap:8px;max-width:min(520px,calc(100vw - 32px));background:var(--surface);color:var(--text);border:1px solid var(--accent-border);border-radius:9px;box-shadow:0 4px 24px #0002;padding:10px 12px;font-size:12px}#wf-notice[hidden]{display:none}#wf-notice>span{flex:1;min-width:0}#wf-notice .btn{flex-shrink:0;padding:4px 7px}@media(max-width:700px){#wf-notice{right:16px;bottom:16px;flex-wrap:wrap}#wf-notice>span{flex-basis:100%}}

/* OS473 · compact groups and readable WBS branches; shared across registry tables. */
html #content .ws-table-group th{padding:5px 10px}
html #content .ws-group-head{display:flex;align-items:center;gap:8px;min-width:0;min-height:28px}
html #content .ws-group-head .ws-group-toggle{width:auto;min-width:0;max-width:65%;flex:0 1 auto;gap:6px;padding:2px 0;line-height:1.35}
html #content .ws-group-head .ws-group-toggle span{margin:0;flex:none}
html #content .ws-group-head>.wf-add{flex:none;white-space:nowrap;margin:0;font-weight:400}
html #content .ws-group-head>.wf-group-totals{margin:0 0 0 auto;padding:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap;text-align:right;font-size:11px}
html #content .ws-group-head>.wf-group-totals:empty{display:none}
html #content .ws-group-head>.wf-group-totals span{margin:0;font-size:inherit}
html #content .ws-data-table[data-density=compact] td{height:32px;padding-top:5px;padding-bottom:5px}
html #content .ws-table-tools{padding-top:4px;padding-bottom:6px;gap:6px}
html #content .ws-table-options{gap:3px}

html #content .td-view-nav{padding-top:4px;padding-bottom:6px}
html #content .td-workspace>.sv-workspaces{padding-top:5px;padding-bottom:5px}
html #content .td-tabs>button{padding-top:5px;padding-bottom:5px;min-height:32px}

html #content .td-context-strip{padding-top:2px;padding-bottom:4px}
html #content .td-view-body{padding-top:6px;padding-bottom:12px}
html #content .td-view-options{margin-bottom:3px}
html #content .td-view-options>summary{padding:3px 0}
html #content .wf-total-line{padding-top:0;padding-bottom:5px}
html #content .wf-links:empty{display:none}
html #content .wf-links{margin-top:0}
html #content .ws-name-line{align-items:stretch;gap:5px}
html #content .ws-name-body{flex:1;min-width:0;align-self:center}
html #content .ws-title-line{display:flex;align-items:center;gap:6px;min-height:26px;min-width:0}
html #content .ws-title-line>.ws-name-value{flex:1;min-width:0}
html #content .ws-title-actions{display:flex;align-items:center;gap:4px;flex:none;padding-right:22px}
html #content .ws-title-actions:empty{display:none}
html #content .ws-title-actions .td-task-links{font-size:10px;padding:2px 4px;min-height:23px;line-height:1.2}
html #content .ws-title-actions .td-task-links svg{width:12px;height:12px}
html #content .ws-child-add{opacity:0;width:24px;min-width:24px;font-size:16px!important;line-height:1;padding:0!important;transition:opacity .12s}
html #content tr:hover .ws-child-add,html #content tr:focus-within .ws-child-add{opacity:1}
html #content .ws-row-context{gap:3px 5px;line-height:1.35}
html #content .ws-row-context>span{margin-top:0}
html #content .ws-row-context .wf-links{display:contents}
html #content .ws-row-context>.wf-links:empty{display:none}
html #content .ws-indent{padding-left:0!important;border:0;display:flex;align-items:stretch;flex:none;position:relative}
html #content .ws-tree-lane{position:relative;display:block;flex:0 0 18px;width:18px;min-height:26px}
html #content .ws-tree-lane:before{content:'';position:absolute;left:8px;top:-6px;bottom:-6px;border-left:1px solid var(--border-3)}
html #content .ws-tree-lane:not(.ws-tree-continues):not(.ws-tree-elbow):before{display:none}
html #content .ws-tree-elbow:after{content:'';position:absolute;left:8px;right:0;top:13px;border-top:1px solid var(--border-3)}
html #content .ws-tree-elbow:not(.ws-tree-continues):before{bottom:auto;height:19px}
html #content .ws-tree-lane:nth-last-child(n+10){display:none}
html #content .ws-branch,html #content .ws-branch-spacer{align-self:flex-start;width:24px;height:26px;flex:none}
html #content .ws-branch svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.7;transition:transform .12s}
html #content .ws-branch[aria-expanded=true] svg{transform:rotate(90deg)}
html #content .ws-branch-spacer>i{width:4px;height:4px;background:var(--border-3);border-radius:50%}
html #content .ws-wbs-code{display:inline-block;flex:none;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;line-height:18px;padding:0 4px;border:1px solid var(--border);border-radius:4px;color:var(--text-2);background:var(--surface-2);font-variant-numeric:tabular-nums;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html #content .ws-child-count{flex:none;font-size:10px;font-weight:400;color:var(--muted);min-width:17px;text-align:center;border-radius:4px;background:var(--surface-2);padding:0 3px;line-height:18px}
html #content tr[data-ws-root=true] .ws-name-value{font-weight:650}
html #content tr[data-ws-root=true] .ws-wbs-code{color:var(--accent);border-color:var(--accent-border);background:var(--accent-bg)}
html #content .ws-structure-row td{border-bottom:1px dashed var(--border-3);background:var(--surface-2);height:auto}
html #content .ws-structure-row .ws-name-line{flex-wrap:nowrap}
html #content .ws-structure-row .ws-context-tag{font-size:10px;line-height:1.4;color:var(--warn-text)}
html #content .ws-structure-row .ws-title-line{min-height:26px;font-weight:500}
html #content .ws-loose-header th{padding:7px 12px;background:var(--surface-2);text-align:left;font-size:11px;font-weight:600;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
html #content .ws-loose-header span{font-weight:400;color:var(--muted);margin-left:8px}
html #content .ws-tree-info{position:relative;font-size:11px;color:var(--muted)}
html #content .ws-tree-info summary{list-style:none;cursor:pointer;padding:4px 6px;border:1px dashed var(--border-3);border-radius:5px;line-height:18px}
html #content .ws-tree-info>div{position:absolute;top:calc(100% + 5px);left:0;z-index:40;width:min(360px,calc(100vw - 48px));padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--os-shadow-menu);color:var(--text);line-height:1.5}
html #content .ws-tree-info p{margin:7px 0 0}
html #content .ws-tree-info code{font-size:11px;background:var(--surface-2);padding:1px 3px;border-radius:3px}
html #content .ws-hierarchy-notice{padding:0 0 6px;font-size:11px}
@media(max-width:700px){
 html #content .ws-data-table[data-density=compact] td{height:auto;padding-top:4px;padding-bottom:4px}
 html #content .ws-group-head{flex-wrap:wrap;gap:4px 8px}
 html #content .ws-group-head .ws-group-toggle{max-width:calc(100% - 118px);min-height:32px}
 html #content .ws-group-head>.wf-add{min-height:32px!important}
 html #content .ws-group-head>.wf-group-totals:not(:empty){flex-basis:100%;margin-left:0;text-align:left;padding:0 0 2px}
 html #content .ws-data-table .ws-property-cell{padding-right:32px;min-height:52px}
 html #content .ws-property-cell>.ws-cell-edit{position:absolute;right:0;top:20px;float:none;transform:none}
 html #content .ws-title-actions{padding-right:0;gap:2px}
 html #content .ws-title-actions .td-task-links{font-size:0;width:28px;height:28px;padding:4px;justify-content:center}
 html #content .ws-title-actions .td-task-links svg{width:14px;height:14px}
 html #content .ws-child-add{opacity:1;width:28px;min-width:28px;min-height:28px!important}
 html #content .ws-tree-lane{flex-basis:11px;width:11px}
 html #content .ws-tree-lane:before,html #content .ws-tree-elbow:after{left:4px}
 html #content .ws-tree-lane:nth-last-child(n+6){display:none}
 html #content .ws-title-line{flex-wrap:wrap;gap:3px 5px}
 html #content .ws-title-line>.ws-name-value{flex-basis:calc(100% - 75px)}
 html #content .ws-wbs-code{max-width:100%;font-size:10px;order:-1}
 html #content .ws-title-line:has(.ws-wbs-code)>.ws-name-value{flex-basis:100%;order:1}
 html #content .ws-title-actions{margin-left:auto}
 html #content .ws-loose-header,html #content .ws-loose-header th{display:block;width:auto}
 html #content .ws-loose-header span{display:block;margin:3px 0 0}
 html #content .ws-tree-info[open]>div{position:fixed;left:16px;right:16px;bottom:20px;top:auto;width:auto;max-height:65vh;overflow:auto}
 html #content .ws-table-tools{align-items:flex-start}
}

html #content .ws-group-head .ws-group-toggle .ws-group-name{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:inherit;color:inherit}html #content .ws-group-head>.wf-group-totals{flex:1;min-width:0;justify-content:flex-end}

html #content .ws-tree-lane:before,html #content .ws-tree-elbow:after{border-color:color-mix(in srgb,var(--text-2) 70%,var(--surface))}

/* OS474 · one compact toolbar scale, direct column controls and floating scroll. */
:root{--os-toolbar-height:30px;--os-toolbar-font:12px}
html #content :is(.ws-toolbar,.td-toolbar,.wp-toolbar,.td-header-actions,.ws-table-options,.ws-column-quick){gap:6px}
html #content :is(.ws-controls,.ws-toolbar,.td-toolbar,.wp-toolbar,.td-header-actions,.ws-table-options) :is(.btn,select,.td-primary,.td-quiet){min-height:var(--os-toolbar-height);height:var(--os-toolbar-height);padding:3px 8px;font-size:var(--os-toolbar-font);line-height:1.4;box-sizing:border-box}
html #content .ws-controls>label>select{padding-right:24px;max-width:210px}
html #content .ws-controls{gap:6px}
html #content .ws-controls>label{gap:4px}
html #content .ws-controls>label>svg{width:14px;height:14px}

html #content .td-search{min-height:var(--os-toolbar-height);height:var(--os-toolbar-height);box-sizing:border-box;padding:0 8px;gap:6px}
html #content .td-search input{padding:0;min-height:0;font-size:var(--os-toolbar-font);line-height:1.4}
html #content .tbl-search input{min-height:var(--os-toolbar-height);height:var(--os-toolbar-height);padding:4px 8px;font-size:var(--os-toolbar-font)}

html #content :is(.ws-views .vt,.td-view-nav .vt){min-height:30px;padding:4px 8px;font-size:12px}
html #content .ws-lists .chip{min-height:32px;padding:6px 0;font-size:12px}
html #content .ws-list-all{padding:7px 0;font-size:12px}

html #content .td-context-strip{display:flex;align-items:center;justify-content:flex-start;flex-wrap:nowrap;gap:8px;padding-top:2px;padding-bottom:3px;min-height:30px}
html #content .td-attention{display:flex;align-items:center;flex-wrap:nowrap;flex:none;gap:3px}
html #content .td-attention button{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;min-height:28px;padding:3px 6px;font-size:11px;border-radius:5px}
html #content .td-attention button span{margin-left:0}
html #content .td-context-strip>.td-view-options{margin:0;flex:none;position:relative}
html #content .td-context-strip>.td-view-options>summary{cursor:pointer;white-space:nowrap;min-height:28px;padding:5px 8px;box-sizing:border-box;font-size:11px;line-height:18px;border:1px solid var(--border);border-radius:5px;color:var(--text-2)}
html #content .td-context-strip>.td-view-options[open]>.chips{position:fixed;z-index:50;padding:12px;margin:0;display:flex;flex-wrap:wrap;gap:6px;width:min(600px,calc(100vw - 32px));max-height:50vh;overflow:auto;box-sizing:border-box;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--os-shadow-menu)}
html #content .td-context-strip>.td-list-count{margin-left:auto;font-size:10px;white-space:nowrap}
html #content .ws-data-table th[data-ws-field]{padding-left:24px;padding-right:36px}
html #content .ws-col-grip{position:absolute;left:4px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:16px;height:25px;color:var(--muted);opacity:0;cursor:grab;user-select:none;font-size:17px;font-weight:400}
html #content th:hover>.ws-col-grip,html #content th:focus-within>.ws-col-grip{opacity:1}
html #content .ws-column-menu-button{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--muted);font-size:17px;cursor:pointer}
html #content .ws-column-menu-button:hover,html #content .ws-column-menu-button[aria-expanded=true]{background:var(--accent-bg);color:var(--accent)}
html #content th.ws-drop-target{box-shadow:inset 3px 0 var(--accent)!important;background:var(--accent-bg)!important}
html #content th.ws-drag-source{opacity:.5}
.ws-column-menu{position:fixed;z-index:1200;width:238px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto;box-sizing:border-box;padding:6px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;box-shadow:var(--os-shadow-menu);font-family:inherit;font-size:12px;line-height:1.4}
.ws-column-menu strong{display:block;padding:6px 8px 8px;font-size:12px;overflow-wrap:anywhere}
.ws-column-menu button{display:block;width:100%;min-height:30px;text-align:left;padding:5px 8px;border:0;border-radius:4px;background:transparent;color:inherit;font-family:inherit;font-size:12px;line-height:1.4;cursor:pointer}
.ws-column-menu button:hover:not(:disabled),.ws-column-menu button:focus-visible{background:var(--accent-bg);color:var(--accent);outline:1px solid var(--accent-border)}
.ws-column-menu button:disabled{opacity:.45;cursor:default}
.ws-column-menu button[data-column-action=fit],.ws-column-menu button[data-column-action=left],.ws-column-menu button[data-column-action=columns]{border-top:1px solid var(--border);border-radius:0}
@media(min-width:701px){
 html #content .ws-data-table .ws-pin-cell{position:sticky;left:var(--ws-pin-left);z-index:2;background:var(--surface);box-shadow:none}
 html #content .ws-data-table th[data-ws-field].ws-pin-cell{position:sticky;left:var(--ws-pin-left);z-index:4;background:var(--surface-2)}
 html #content .ws-data-table .ws-pin-edge{box-shadow:2px 0 0 var(--border)}
 html #content .ws-data-table .row-sel>.ws-pin-cell{background:var(--accent-bg)}
 html #content .ws-data-table .ws-context-row>.ws-pin-cell,html #content .ws-data-table tr:hover>.ws-pin-cell{background:var(--surface-2)}
}
.ws-scroll-dock{position:fixed;bottom:0;height:19px;box-sizing:border-box;overflow-x:scroll;overflow-y:hidden;z-index:90;background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -2px 8px #0001;scrollbar-width:auto;scrollbar-color:var(--text-2) var(--surface-2);overscroll-behavior-x:contain}
.ws-scroll-dock[hidden]{display:none}
.ws-scroll-dock::-webkit-scrollbar{height:14px}
.ws-scroll-dock::-webkit-scrollbar-track{background:var(--surface-2)}
.ws-scroll-dock::-webkit-scrollbar-thumb{background:var(--text-2);border:3px solid var(--surface-2);border-radius:8px}
.ws-scroll-dock:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.ws-scroll-track{height:1px;pointer-events:none}
html #drawer .ws-pin-setting select{min-height:30px;padding:3px 6px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:5px;font:inherit;max-width:230px}
@media(max-width:700px){
 :root{--os-toolbar-height:36px}
 html #content .ws-controls{grid-template-columns:auto minmax(0,1fr);gap:4px 6px}
 html #content .ws-controls>label>select{max-width:none;font-size:13px}
 html #content .ws-controls>label>svg{display:none}
 html #content .td-toolbar{gap:5px}
 html #content :is(.td-search input,.tbl-search input){font-size:16px}
 html #content .td-context-strip{overflow-x:auto;scrollbar-width:thin;gap:5px;min-height:38px;padding-bottom:2px}
 html #content .td-attention button{min-height:32px;padding:3px 5px}
 html #content .td-context-strip>.td-view-options>summary{min-height:32px;padding:6px;font-size:11px}
 html #content .td-context-strip>.td-list-count{flex:none}
 html #content :is(.ws-views .vt,.td-view-nav .vt){min-height:36px}
 html #content .ws-table-options{gap:3px}
 html #content .ws-table-options .btn{font-size:11px;padding:3px 6px}
 html #drawer .ws-pin-setting{flex-wrap:wrap}
}

/* An explicit thumb stays visible even on systems with auto-hiding native scrollbars. */
.ws-scroll-dock{overflow:hidden;touch-action:none;cursor:pointer;background:var(--surface-2)}
.ws-scroll-thumb{position:fixed;bottom:4px;height:10px;min-width:36px;background:var(--text-2);border-radius:6px;cursor:grab;opacity:.7;touch-action:none}
.ws-scroll-dock:hover .ws-scroll-thumb,.ws-scroll-dock:focus-visible .ws-scroll-thumb{opacity:1}
.ws-scroll-thumb:active{cursor:grabbing}

@media(min-width:701px){html #content .ws-data-table .ws-group-head{position:sticky;left:0;max-width:var(--ws-viewport-width);box-sizing:border-box}}
@media(max-width:700px){html #content [data-ws-pin]{display:none}}

/* OS475 · disclosure-based controls and chrome that yields space to the table. */
.ws-top-grip{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:none;width:100%;height:24px;min-height:24px;padding:0 18px;border:0;border-bottom:1px solid var(--border);background:var(--surface);color:var(--muted);font:11px system-ui;cursor:pointer;box-sizing:border-box}
.ws-top-grip>span:first-child{max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}
.ws-top-grip>i{display:block;width:34px;height:3px;border-radius:3px;background:var(--border-3)}
.ws-top-grip:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
html.ws-top-folded #sh-top{display:none!important;height:0!important;max-height:0!important;min-height:0!important;overflow:hidden!important;visibility:hidden}

html #content .sv-workspaces{padding-top:3px;padding-bottom:3px;gap:5px;flex-wrap:nowrap}
html #content .sv-tabs{flex:1 1 120px;min-width:100px}
html #content .sv-actions{flex:0 1 auto;justify-content:flex-end}
html #content .sv-tab{padding-top:4px;padding-bottom:4px;min-height:30px}
html #content .td-view-nav{padding-top:2px;padding-bottom:4px}
html #content .ws-table-tools{padding-top:2px;padding-bottom:4px}
html #content .ws-table-more>summary{display:inline-flex;align-items:center;list-style:none;cursor:pointer;border:1px solid var(--border);border-radius:5px}
html #content .ws-table-more>summary::-webkit-details-marker{display:none}
html #content .ws-table-more[open]>summary{background:var(--accent-bg);color:var(--accent)}
html #content .ws-table-more-panel{position:fixed;left:12px;top:12px;z-index:70;width:278px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;box-sizing:border-box;display:flex;align-items:stretch;flex-direction:column;gap:3px;padding:8px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;box-shadow:var(--os-shadow-menu)}
html #content .ws-table-more-panel>.btn{justify-content:flex-start;text-align:left}
html #content .ws-table-more-panel>.ws-density-label{display:flex;justify-content:space-between;padding:4px 8px}
html #content .ws-row-number{font:10px/18px ui-monospace,monospace;color:var(--muted);min-width:20px;text-align:right;flex:none;padding-right:3px;font-variant-numeric:tabular-nums}

html #content .ws-data-table td.ws-find-match{box-shadow:inset 0 0 0 1px var(--accent-border);background:var(--accent-bg)}
html #content .ws-data-table td.ws-find-current{outline:2px solid var(--accent);outline-offset:-2px}
@media(max-width:700px){
 .ws-top-grip{padding:0 14px}
 html #content .sv-actions .btn{font-size:11px;padding:4px 6px;min-height:34px}
 html #content .sv-tabs{min-width:96px}
 html #content .sv-local{display:none}
 html #content .sv-tab{font-size:11px;padding:5px 7px;min-height:34px}
 html #content .ws-table-more-panel>.btn{min-height:36px}

}
@media(max-width:700px){html #content .ws-data-table tfoot td.bulk-td{display:none}}

/* OS476 · stable rows, precise editors and a single view ribbon. */
html #content .ws-view-ribbon{display:flex;flex-wrap:wrap;align-items:center;border-bottom:1px solid var(--border);min-width:0}
html #content .ws-view-ribbon :is(.td-view-nav,.ws-views){flex:0 1 auto;margin:0;padding:0;border:0;min-height:32px}
html #content .ws-view-ribbon .sv-bar{flex:1 1 400px;min-width:0;max-width:100%;margin:0;padding:0;border:0;gap:4px}

html #content .ws-table-tools{margin-top:0;padding-top:2px;padding-bottom:2px}
html #content .ws-table-options{gap:3px}
html #content .ws-table-options svg{width:14px;height:14px;flex:none;vertical-align:middle}
html #content .ws-table-options .btn{display:inline-flex;align-items:center;gap:4px}
html #content .ws-cell-edit{display:grid;place-items:center;border:0;background:var(--surface-2);color:var(--text-2)}
html #content .ws-cell-edit svg{width:14px;height:14px}
html #content .ws-cell-edit:hover{color:var(--accent);background:var(--accent-bg)}
html #content td.wf-editing{outline:2px solid var(--accent);outline-offset:-2px;background:var(--accent-bg)}
.wf-cell-popover{position:fixed;z-index:1201;box-sizing:border-box;width:320px;max-width:calc(100vw - 16px);display:flex;flex-direction:column;gap:4px;min-width:0;padding:6px;background:var(--surface);color:var(--text);border:1px solid var(--accent-border);border-radius:8px;box-shadow:var(--os-shadow-menu);overflow:auto;font-size:12px}
.wf-editor-label{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--text-2);font-size:11px;line-height:1.3;min-height:24px;padding-left:4px}
.wf-editor-label>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wf-editor-line{display:flex;align-items:center;gap:4px;min-width:0}
.wf-cell-popover .wf-editor-line [data-wf-input]{flex:1;min-width:0;width:0;height:32px;min-height:32px;box-sizing:border-box;padding:4px 7px;background:var(--surface);border-radius:5px;font:inherit}
.wf-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px;padding:0;border:0;border-radius:5px;background:transparent;color:var(--text-2);cursor:pointer}
.wf-icon svg,.ws-column-menu svg{width:15px;height:15px;flex:none;vertical-align:middle}
.wf-icon:hover{background:var(--surface-2);color:var(--text)}
.wf-icon.wf-save{background:var(--accent);color:#fff}
.wf-icon:disabled{opacity:.35;cursor:default}
.wf-icon:focus-visible,.ws-cell-edit:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.wf-cell-popover small{flex:none;font-size:11px;line-height:1.45;padding:3px 4px;color:var(--danger,var(--text))}
.wf-cell-popover small:empty{display:none}
.ws-column-menu button{display:flex;align-items:center;gap:8px}
.ws-column-menu button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;background:var(--accent-bg)}
html #content .ws-filter-pop{padding:10px;border-radius:8px;box-shadow:var(--os-shadow-menu)}
html #content .ws-filter-heading{margin-bottom:8px;font-size:12px}
html #content .ws-rule{gap:5px;margin-bottom:6px}
html #content .ws-filter-pop p{margin-top:8px;font-size:11px}
html #content .ws-table-more-panel{padding:6px;gap:2px}
@media(min-width:1100px){html #content .ws-view-ribbon .sv-bar{flex-basis:300px}html #content .td-context-strip{min-height:26px;padding-top:0;padding-bottom:0}}
@media(max-width:700px){html #content .ws-view-ribbon .sv-bar{flex-basis:100%}.wf-cell-popover{width:350px;padding:8px}.wf-cell-popover .wf-editor-line [data-wf-input]{font-size:16px;height:40px;min-height:40px}.wf-icon{width:36px;height:36px}.wf-editor-label .wf-icon{height:32px}.wf-cell-popover small{font-size:12px}html #content .ws-cell-edit{width:32px;height:32px}}
@media(forced-colors:active){.wf-cell-popover,html #content td.wf-editing{border:1px solid CanvasText}.wf-icon.wf-save{border:1px solid ButtonText}}

.ws-column-menu [data-column-action=asc] svg{transform:rotate(180deg)}
.ws-column-menu [data-column-action=left] svg{transform:rotate(180deg)}
@media(max-width:700px){
 html #content .ws-table-tools{position:relative}
 html #content .ws-table-options{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding-bottom:4px;min-width:0;scroll-padding:8px}
 html #content .ws-table-options>.btn,html #content .ws-table-options>details{flex:none}
}

/* OS478 · six conditional states share the same compact layout. */
html #content .ws-filter:has(.ws-rule-summary)>summary{color:var(--accent);background:var(--accent-bg);border-color:var(--accent-border)}
html #content .ws-filter-pop .ws-rule-summary{padding:0 0 6px;gap:4px;font-size:11px}
html #content .ws-rule-summary>span{display:inline-flex;align-items:center;gap:3px;max-width:100%;padding:1px 2px 1px 6px;border-radius:5px;background:var(--surface-2)}
html #content .ws-rule-summary>span>span{min-width:0;max-width:440px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html #content .ws-rule-summary .wf-icon{width:24px;height:24px}
html #content .ws-special-filters{margin-bottom:6px;padding-bottom:6px}
html #content .ws-special-filters>summary{margin-bottom:0;font-size:12px;cursor:pointer}
html #content .ws-special-filters[open]>summary{margin-bottom:6px}
html #content .ws-selection-active>.ws-table-options{display:none}
html #content .ws-table-tools>.bulk-bar{flex:1;min-width:0;display:flex;align-items:center;flex-wrap:nowrap;gap:5px;padding:2px 4px;margin:0;border:0;border-radius:5px;overflow-x:auto;scrollbar-width:thin}
html #content .bulk-bar>*{flex:none}
html #content .bulk-bar :is(.btn,select){min-height:30px;height:30px;max-width:190px;padding:3px 7px;box-sizing:border-box;font-size:12px}
html #content .bulk-bar .bulk-n{font-size:12px;white-space:nowrap;padding:0 4px}
html #content .sv-save{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
html #content .sv-save svg{width:14px;height:14px}
html #content .sv-menu-pop>button{min-height:30px;padding:5px 8px}
html #content .sv-menu-pop>strong{padding:5px 8px}
html #content .sv-menu-pop>p{padding:5px 8px}
html #content .ws-floating-surface{z-index:1250;margin:0;box-shadow:var(--os-shadow-menu);border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);padding:8px;font-size:12px;line-height:1.5}
html #content .wf-quick{padding:6px 8px;margin:4px 0;border-color:var(--accent-border);background:var(--accent-bg)}
html #content .wf-quick form{display:flex;align-items:center;flex-wrap:wrap;gap:5px}
html #content .wf-quick .wf-quick-field{display:flex;align-items:center;flex:1;gap:8px;min-width:140px}
html #content .wf-quick-field>span{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;color:var(--text-2)}
html #content .wf-quick input{height:32px;box-sizing:border-box;padding:4px 8px;font-size:13px;background:var(--surface)}
html #content .wf-quick-actions{display:flex;align-items:center;gap:4px}
html #content .wf-quick-actions .btn{display:inline-flex;align-items:center;gap:4px;min-height:30px;height:30px;padding:3px 8px;font-size:12px}
html #content .wf-quick-actions svg{width:14px;height:14px}
html #content .wf-quick small{flex:1 0 100%;font-size:11px;margin:0}
html #content .wf-quick small:empty{display:none}
html #content .wf-quick-help>summary{display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--accent-border);border-radius:50%;font-size:11px;cursor:pointer;list-style:none}
html #content .wf-total-line{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;gap:12px;padding:4px 6px;margin:0;font-size:11px;white-space:nowrap}
html #content .wf-total-line:empty{display:none}
html #content .wf-total-line>span{flex:none}
html #content .wf-group-totals{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding:2px 0;gap:12px;white-space:nowrap}
html #content .wf-group-totals>span{flex:none}
.wf-floating-preview{position:fixed;z-index:1202;margin:0;padding:8px;font-size:12px;box-sizing:border-box;box-shadow:var(--os-shadow-menu);color:var(--text)}
.wf-floating-preview header{font-size:12px;min-height:28px}
.wf-floating-preview .btn{min-height:30px;padding:4px 8px;font-size:12px}
.wf-floating-preview p{margin:6px 0;line-height:1.5}
.wf-floating-preview .wf-linked-record{padding:5px 3px;border-bottom:1px solid var(--border)}
@media(max-width:700px){
 html #content .wf-quick .wf-quick-field{flex:1 1 100%;flex-wrap:wrap;gap:3px}
 html #content .wf-quick-field>span{flex-basis:100%;max-width:100%}
 html #content .wf-quick input{height:36px;font-size:16px}
 html #content .wf-quick-actions{margin-left:auto}
 html #content .ws-table-tools>.bulk-bar :is(button,select){min-height:34px;height:34px}
 html #content .sv-menu-pop>button{min-height:36px}
 html #content .ws-rule-summary>span>span{max-width:260px}
 html #content .ws-rule-summary .wf-icon{width:28px;height:28px}
 html #content .wf-group-totals{max-width:100%;padding:2px 0}
 .wf-floating-preview .btn{min-height:36px}
}
@media(max-width:700px){
 html #content .ws-view-ribbon .sv-bar{display:grid;grid-template-columns:minmax(0,1fr);width:100%;gap:2px}
 html #content .ws-view-ribbon .sv-tabs{width:100%;min-width:0}
 html #content .ws-view-ribbon .sv-actions{flex-wrap:nowrap;max-width:100%;overflow-x:auto;scrollbar-width:thin;min-height:34px}
 html #content .ws-view-ribbon .sv-actions>*{flex:none}
}
html #content .ws-rule input{border:1px solid var(--os-field-border,var(--border));border-radius:5px;background:var(--surface);color:var(--text);font:inherit}
html #content .ws-special-filters>summary{display:flex;align-items:center;gap:6px;min-height:28px}
html #content .ws-special-filters>summary:before{content:'›';font-size:16px;line-height:1;transform:rotate(0);transition:transform .12s}
html #content .ws-special-filters[open]>summary:before{transform:rotate(90deg)}
@media(min-width:701px){html #content .ws-rule :is(input,select){height:32px;min-height:32px;padding-top:4px;padding-bottom:4px;font-size:12px}}

/* OS479 · application chrome and consistent controls across all view types. */
.ws-page-chrome{display:flex;align-items:center;flex:none;min-height:24px;border-bottom:1px solid var(--border);background:var(--surface);position:relative;z-index:80}
.ws-page-chrome .ws-top-grip{flex:1;min-width:0;border:0}
.ws-chrome-options{flex:none;margin-right:8px}
.ws-chrome-options>summary{display:grid;place-items:center;width:28px;height:24px;list-style:none;cursor:pointer;border-radius:4px;color:var(--muted)}
.ws-chrome-options>summary::-webkit-details-marker{display:none}
.ws-chrome-options svg{width:14px;height:14px}
.ws-chrome-options[open]>summary,.ws-chrome-options>summary:hover{background:var(--accent-bg);color:var(--accent)}
.ws-chrome-options>div{position:absolute;right:8px;top:27px;width:210px;max-width:calc(100vw - 16px);display:flex;flex-direction:column;padding:5px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--os-shadow-menu)}
.ws-chrome-options button{font:inherit;font-size:12px;text-align:left;min-height:32px;padding:5px 8px;border:0;border-radius:4px;background:transparent;color:var(--text);cursor:pointer}
.ws-chrome-options button[aria-pressed=true]{background:var(--accent-bg);color:var(--accent)}
html #content .ws-surface-menu{flex:none}
html #content .ws-surface-menu>summary{display:flex;align-items:center;gap:4px;cursor:pointer;list-style:none;min-height:30px;padding:3px 8px;font-size:12px;box-sizing:border-box}
html #content .ws-surface-menu>summary::-webkit-details-marker{display:none}
html #content .ws-surface-menu svg{width:14px;height:14px}
html #content .ws-surface-menu>div{display:flex;flex-direction:column;gap:6px}
html #content .ws-surface-menu label{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px}
html #content .ws-surface-menu select{min-width:0;max-width:190px;min-height:30px;padding:3px 6px;font:inherit;border:1px solid var(--border);border-radius:5px;background:var(--surface);color:var(--text)}
html #content .ws-surface-menu small{font-size:11px;color:var(--muted)}
html #content .ws-today{min-height:30px;padding:3px 8px;font-size:12px}
html #content :is(.ws-workspace,.td-workspace)[data-density=compact] :is(.kb-card,.okr-card,.wp-plan-card,.art-card){padding:8px;border-radius:8px}
html #content :is(.ws-workspace,.td-workspace)[data-density=comfortable] :is(.kb-card,.okr-card,.wp-plan-card,.art-card){padding:14px}
html #content [data-density=compact] :is(.wp-card-grid,.okr-collection,.art-cards){gap:8px}
html #content [data-density=comfortable] :is(.wp-card-grid,.okr-collection,.art-cards){gap:14px}
html #content .ws-board-toggle{display:flex;align-items:center;gap:5px;width:100%;min-height:30px;padding:2px 0;border:0;background:transparent;color:var(--text);text-align:left;cursor:pointer;font:inherit;margin:0 0 6px}
html #content .ws-board-toggle>svg{width:13px;height:13px;flex:none;transform:rotate(90deg)}
html #content .ws-board-toggle[aria-expanded=false]>svg{transform:none}
html #content .ws-board-toggle .cnt{margin-left:auto}
html #content .ws-board-collapsed{width:160px;min-width:160px;align-self:flex-start}
html #content .kb-cards[hidden]{display:none!important}
html #content .kb-col{padding:8px;border-radius:8px}
html #content .kb{gap:8px;min-width:0;max-width:100%}
html #content .ws-board-toggle:focus-visible,html #content :is(.g-label,.g-bar,.g-mile,.kb-card):focus-visible{outline:2px solid var(--accent);outline-offset:2px}
html #content .gantt{min-width:0;max-width:100%;position:relative}
html #content .ws-time-canvas{min-width:640px;box-sizing:border-box}
html #content .ws-time-canvas :is(.g-label,.g-corner){position:sticky;left:0;z-index:3;background:var(--surface)}
html #content .ws-time-canvas .g-phase{position:sticky;left:0;width:max-content;max-width:100%;box-sizing:border-box}
html #content [data-density=comfortable] .g-row{min-height:40px}
html #content [data-density=comfortable] .g-track{min-height:40px}
html #content [data-density=comfortable] .g-bar{top:13px}
html #content :is(.pt-row,.wp-toolbar,.okr-layouts,.set-tabs) .btn{min-height:30px;padding:4px 8px;font-size:12px}
html #content .okr-layouts{margin-bottom:6px;gap:4px}
html #content :is(.wp-quarter>h2,.ws-group>h2){margin-top:8px;margin-bottom:6px;font-size:13px}
@media(max-width:700px){.ws-chrome-options button{min-height:36px}html #content .ws-surface-menu select{min-height:36px;font-size:16px}html #content .ws-surface-menu>summary,html #content .ws-today{min-height:34px}html #content .ws-time-canvas{min-width:600px}html #content .ws-board-toggle{min-height:36px}}
html #content .gantt>.g-legend{position:sticky;left:0;width:max-content;max-width:100%;box-sizing:border-box;background:var(--surface)}
html #content [data-density=compact] .cat-items .rowline{padding-top:5px;padding-bottom:5px}
html #content [data-density=comfortable] .cat-items .rowline{padding-top:11px;padding-bottom:11px}

/* OS480 · canonical geometry. Keep page gutters, title rows, collection controls
   and transient surfaces here, not in per-registry or per-view overrides. */
:root{--os-page-gutter:24px;--os-page-top:16px;--os-section-gap:12px;--os-control-gap:6px;--os-title-icon:24px;--os-view-pad:8px;--os-menu-row:32px}
html #content{padding:var(--os-page-top) var(--os-page-gutter) 40px;scroll-padding-top:12px}
html #content :is(.ws-workspace,.td-workspace){margin:calc(-1 * var(--os-page-top)) calc(-1 * var(--os-page-gutter)) 0;min-height:100%;min-width:0}
html #content :is(.ws-header,.td-header){padding:12px var(--os-page-gutter) 8px;min-height:56px;gap:12px;box-sizing:border-box;flex-wrap:wrap}
html #content :is(.ws-heading,.td-heading){gap:8px;min-width:0;max-width:100%;flex:1 1 auto}
html #content :is(.ws-heading,.td-heading) h1{font-family:inherit;font-size:var(--os-font-title);font-weight:650;line-height:1.3;letter-spacing:-.025em;margin:0;min-width:0;overflow-wrap:anywhere}
html #content :is(.ws-heading,.td-heading)>.os-page-icon{width:var(--os-title-icon);height:var(--os-title-icon);font-size:var(--os-title-icon);margin:0;flex:none}
html #content :is(.ws-heading,.td-heading)>.os-page-icon svg{width:100%;height:100%}
html #content .td-total{font-size:12px;line-height:18px;padding:1px 6px;flex:none;white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:6px}
html #content :is(.ws-header .wp-toolbar,.td-header-actions){gap:var(--os-control-gap);flex-shrink:0;flex-wrap:wrap;max-width:100%}
html #content .ws-view-ribbon{padding:0 var(--os-page-gutter) 4px;gap:4px 12px}
html #content :is(.ws-views,.td-view-nav){padding-inline:var(--os-page-gutter)}
html #content .ws-view-ribbon :is(.ws-views,.td-view-nav){padding:0;min-height:32px}
html #content .ws-views .view-toggle{margin:0}
html #content .ws-workspace>.ws-views{padding-bottom:4px;min-height:37px;box-sizing:border-box}
html #content :is(.ws-views .vt,.td-view-nav>button){display:inline-flex;align-items:center;gap:4px;min-height:var(--os-toolbar-height);padding:4px 8px;font-size:var(--os-toolbar-font);line-height:1.4}
html #content :is(.ws-views .view-toggle,.td-view-nav){gap:4px}
html #content :is(.ws-lists,.td-tabs){padding-inline:var(--os-page-gutter);gap:20px;min-height:34px}
html #content :is(.ws-lists .chip,.td-tabs>button){min-height:34px;padding:6px 0;font-size:12px;line-height:20px;box-sizing:border-box}
html #content .ws-list-all{padding:7px 0;line-height:20px;box-sizing:border-box}
html #content :is(.ws-toolbar,.td-toolbar){padding:6px var(--os-page-gutter);min-height:42px;gap:var(--os-control-gap);align-items:center}
html #content :is(.ws-body,.td-view-body){padding:var(--os-view-pad) var(--os-page-gutter) 24px;margin:0;min-width:0}
html #content :is(.ws-workspace,.td-workspace) :is(.ws-header,.td-header,.ws-toolbar,.td-toolbar,.ws-lists,.td-tabs,.td-context-strip,.td-foot,.ws-view-ribbon,.ws-body,.td-view-body){padding-inline:var(--os-page-gutter)}
html #content :is(.pt-row,.wp-project-head){gap:12px;margin-bottom:var(--os-section-gap)}
html #content .pt-row{min-height:36px}
html #content .ws-table-tools{gap:var(--os-control-gap);padding:0 0 4px;margin:0}
html #content :is(.ws-table-options,.ws-controls){gap:var(--os-control-gap)}
html #content :is(.pt-row,.wp-toolbar,.okr-layouts,.ws-header,.td-header-actions) :is(.btn,.td-primary,.td-quiet,.ws-data-actions>summary){min-height:var(--os-toolbar-height);height:auto;padding:4px 8px;line-height:1.4;font-size:var(--os-toolbar-font);border-radius:var(--os-radius-control);box-sizing:border-box}
html #content :is(.ws-table-options,.ws-controls,.ws-surface-menu) svg{width:14px;height:14px;flex:none}
html #content .ws-sort-control>svg{width:14px;height:14px}
html #content :is(.ws-table-wrap,.tw){margin-bottom:var(--os-section-gap)}
html #content .ws-data-table :is(th,td){font-variant-numeric:tabular-nums}
html #content .ws-data-table tbody tr[data-ws-row]:focus-visible{outline:2px solid var(--os-focus);outline-offset:-2px}

/* Search is one component in tasks, registries and documents. The original
   input and handler remain, so query semantics, focus and selection survive. */
html #content .ws-search{display:flex;align-items:center;gap:6px;flex:0 1 260px;min-width:160px;max-width:100%;height:var(--os-toolbar-height);min-height:var(--os-toolbar-height);margin:0;padding:0 8px;border:1px solid var(--os-field-border);border-radius:var(--os-radius-control);background:var(--surface);box-sizing:border-box;color:var(--text-2)}
html #content .ws-search>svg{width:14px;height:14px;flex:none}
html #content .ws-search input{width:100%;min-width:0;flex:1;border:0;box-shadow:none;outline:0;background:transparent;height:100%;min-height:0;padding:0;font:inherit;font-size:var(--os-toolbar-font);color:var(--text);line-height:1.4}
html #content .ws-search input::-webkit-search-cancel-button{-webkit-appearance:none}
html #content .ws-search:focus-within{border-color:var(--os-focus);outline:2px solid var(--os-focus);outline-offset:2px}
html #content .ws-search kbd{font-family:inherit;font-size:11px;line-height:16px;border:1px solid var(--border);border-radius:4px;padding:0 4px;background:var(--surface);color:var(--text-2)}
html #content .ws-search-clear{display:grid;place-items:center;flex:none;width:24px;height:24px;padding:0;min-height:0;border:0;border-radius:4px;background:transparent;color:var(--text-2);cursor:pointer}
html #content .ws-search-clear svg{width:14px;height:14px}
html #content .ws-search-clear:hover{color:var(--text);background:var(--surface-hover)}
html #content .ws-search-clear[hidden],html #content .ws-search kbd[hidden]{display:none}
html #content .ws-search-clear:focus-visible{outline:2px solid var(--os-focus);outline-offset:1px}

/* A single spacing/shape scale for open states, including portals under body. */
:is(.ws-column-menu,.wf-cell-popover,.wf-floating-preview),html #content :is(.ws-floating-surface,.ws-table-more-panel,.td-pop){padding:8px;border-radius:var(--os-radius-card);box-shadow:var(--os-shadow-menu);border-color:var(--os-card-border);font-size:12px;line-height:1.5}
.ws-column-menu button,html #content .sv-menu-pop>button{min-height:var(--os-menu-row);padding:6px 8px;border-radius:var(--os-radius-control);font:inherit;font-size:12px;line-height:1.4;gap:8px}
html #content :is(.ws-floating-surface,.ws-table-more-panel) :is(.btn,select,input:not([type=checkbox])){min-height:var(--os-menu-row);height:auto;font-size:12px;border-radius:var(--os-radius-control)}
html #content :is(.ws-filter-heading,.ws-rule){gap:8px;margin-bottom:8px}
html #content .ws-rule-summary{gap:4px}
html #content .ws-surface-menu label{gap:12px}
html #content .okr-layouts{margin:0 0 var(--os-section-gap)}
html #content .wp-quarter{margin:16px 0}
html #content .wp-quarter:first-child{margin-top:0}
.wf-icon.wf-save{background:var(--os-action);color:var(--os-action-ink)}
.wf-icon.wf-save:hover:not(:disabled){background:var(--os-action-hover);color:var(--os-action-ink)}
:is(.ws-column-menu,.wf-cell-popover,.wf-floating-preview) :is(button,input,select):focus-visible{outline:2px solid var(--os-focus);outline-offset:1px}

@media(max-width:700px){
 :root{--os-page-gutter:16px;--os-page-top:12px;--os-title-icon:22px;--os-section-gap:8px;--os-menu-row:36px}
 html #content :is(.ws-header,.td-header){padding-top:12px;padding-bottom:8px;gap:8px}
 html #content :is(.ws-heading,.td-heading) h1{font-size:22px}
 html #content :is(.ws-toolbar,.td-toolbar){padding-top:6px;padding-bottom:6px}
 html #content .ws-search{flex:1 1 100%;width:100%;min-width:0}
 html #content .ws-search input{font-size:16px}
 html #content .ws-search kbd{display:none}
 html #content .ws-search-clear{width:30px;height:30px}
 html #content .ws-view-ribbon{gap:4px}
 html #content .ws-view-ribbon .sv-bar{display:flex;flex-wrap:nowrap;align-items:center;gap:6px}
 html #content .ws-view-ribbon .sv-tabs{flex:1 1 110px;width:auto;min-width:0}
 html #content .ws-view-ribbon .sv-actions{flex:0 1 auto;max-width:68%;min-height:var(--os-toolbar-height)}
 html #content .sv-tab{min-height:var(--os-toolbar-height)}
 html #content :is(.ws-floating-surface,.ws-table-more-panel) :is(input:not([type=checkbox]),select){font-size:16px}
}
@media(pointer:coarse){
 :root{--os-toolbar-height:44px;--os-menu-row:44px}
 html #content :is(.ws-lists .chip,.td-tabs>button){min-height:44px}
 html #content .ws-search-clear{width:36px;height:36px}
}
@media(prefers-reduced-motion:reduce){html #content :is(button,a,input,select,summary){transition:none}}

/* OS481 · visible state, useful cell preview and a search palette without reflow. */
html #content .ws-controls .ws-query-active{color:var(--accent)}
html #content .ws-controls .ws-query-active>select{border-color:var(--accent-border);background:var(--accent-bg);color:var(--accent)}
html #content .ws-controls select option{background:var(--surface);color:var(--text)}
html #content .ws-sort-reset{width:var(--os-toolbar-height);padding:0!important;flex:none}
html #content .ws-sort-direction svg,html #content .ws-sort-reset svg{width:14px;height:14px}
html #content .ws-data-table th:is([aria-sort=ascending],[aria-sort=descending]){background:var(--accent-bg);box-shadow:inset 0 -2px var(--accent);color:var(--accent)}
.ws-cell-menu{width:320px;max-width:calc(100vw - 16px);box-sizing:border-box}
.ws-cell-value{font-size:13px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;max-height:112px;overflow:auto;padding:8px;margin:0 0 6px;border:1px solid var(--border);border-radius:var(--os-radius-control);background:var(--surface-2);color:var(--text);user-select:text}
.ws-cell-empty{color:var(--text-2);font-style:italic}
.ws-cell-value:focus-visible{outline:2px solid var(--os-focus);outline-offset:-2px}
.ws-find{position:fixed;z-index:1250;display:flex;flex-direction:column;gap:6px;box-sizing:border-box;margin:0;padding:8px;max-width:calc(100vw - 16px);background:var(--surface);color:var(--text);border:1px solid var(--os-card-border);border-radius:var(--os-radius-card);box-shadow:var(--os-shadow-menu);font-family:inherit;font-size:12px;line-height:1.5}
.ws-find-line{display:flex;align-items:center;gap:4px;min-width:0}
.ws-find svg{width:14px;height:14px;flex:none}
.ws-find input{flex:1;min-width:0;width:0;height:32px;padding:4px 6px;border:1px solid var(--os-field-border);border-radius:var(--os-radius-control);background:var(--surface);color:var(--text);font:inherit;font-size:13px;box-sizing:border-box}
.ws-find input:focus{outline:2px solid var(--os-focus);outline-offset:1px}
.ws-find [role=status]{flex:none;min-width:38px;font-size:11px;text-align:center;color:var(--text-2);font-variant-numeric:tabular-nums;white-space:nowrap}
.ws-find button{display:inline-flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px;min-height:0;padding:0;border:1px solid transparent;border-radius:var(--os-radius-control);background:transparent;color:var(--text-2);font:inherit;font-size:12px;cursor:pointer}
.ws-find button:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}
.ws-find button:disabled{opacity:.4;cursor:default}
.ws-find button:focus-visible{outline:2px solid var(--os-focus);outline-offset:1px}
.ws-find-options{display:flex;align-items:center;flex-wrap:wrap;gap:4px}
.ws-find-options button{width:auto;padding:2px 6px;border-color:var(--border)}
.ws-find .ws-find-options button[aria-pressed=true]{background:var(--accent-bg);color:var(--accent);border-color:var(--accent-border)}
.ws-find-options small{font-size:11px;color:var(--text-2);margin-left:auto}
html #content .sv-menu>summary:focus-visible{outline:2px solid var(--os-focus);outline-offset:2px}
@media(max-width:700px){
 html #content .ws-controls:has(.ws-sort-reset){grid-template-columns:auto minmax(0,1fr) auto}
 html #content .ws-controls:has(.ws-sort-reset)>.ws-group-control{grid-column:2/-1}
 html #content .ws-controls>.ws-sort-reset{grid-column:3;grid-row:2}
 html #content [data-registry=documents] .ws-controls>.ws-sort-reset{grid-column:1;grid-row:2}
 html #content [data-registry=documents] .ws-controls>.ws-sort-control{grid-column:2/-1}
 .ws-find input{height:36px;font-size:16px}
 .ws-find button{height:32px;width:32px}
 .ws-find-options button{width:auto}
}
@media(pointer:coarse){.ws-find button{min-height:40px;min-width:36px}.ws-find input{height:40px}.ws-cell-menu button{min-height:44px}}

html #content .ws-record-menu{display:inline-flex;align-items:center;justify-content:center;flex:none;width:24px;height:24px;min-height:0;padding:0;border:0;border-radius:var(--os-radius-control);background:transparent;color:var(--text-2);cursor:pointer;opacity:0}
html #content .ws-record-menu svg{width:16px;height:16px}
html #content tr:is(:hover,:focus-within) .ws-record-menu{opacity:1}
html #content .ws-record-menu:hover{background:var(--surface-hover);color:var(--text)}
html #content .ws-record-menu:focus-visible{outline:2px solid var(--os-focus);outline-offset:1px;opacity:1}
@media(max-width:700px),(pointer:coarse){html #content .ws-record-menu{opacity:1;width:32px;height:32px}}

/* OS482 — compact advanced controls share existing table geometry. */
.ws-multisort{display:inline-flex;flex:0 0 auto}.ws-multisort>summary{list-style:none;padding-inline:5px!important;gap:3px!important}.ws-multisort>summary::-webkit-details-marker{display:none}.ws-multisort:not([open])>.ws-sort-pop{display:none}.ws-sort-pop{padding:12px;max-width:calc(100vw - 24px)}.ws-sort-pop>strong{font-size:13px}.ws-sort-pop>p,.ws-format-pop>p{font-size:11px;color:var(--muted);line-height:1.5;margin:7px 0}.ws-sort-rule{display:grid;grid-template-columns:16px minmax(80px,1fr) minmax(68px,90px) 24px 24px;gap:4px;align-items:center;margin:6px 0}.ws-sort-rule select,.ws-format-pop select{width:100%;min-width:0;background:var(--bg);color:var(--text);border:1px solid var(--border-2);border-radius:5px;height:28px;font-size:12px;padding:2px 4px}.ws-sort-rule>span{font-size:11px;color:var(--muted)}.ws-sort-rank{font-size:10px;font-weight:600;color:var(--accent);margin-inline:4px;white-space:nowrap}.ws-format-pop{width:300px;padding:12px;z-index:1400}.ws-format-pop label{display:grid;grid-template-columns:55px 1fr;align-items:center;gap:8px;margin:10px 0;font-size:12px}.ws-format-pop>.btn{width:100%}
.ws-data-table td[data-cell-wrap="wrap"] :is(.ws-name-value,.ws-property-value){white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere;max-height:none!important;-webkit-line-clamp:unset!important;display:block!important}.ws-data-table td[data-cell-wrap="clip"] :is(.ws-name-value,.ws-property-value){white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-height:none!important;-webkit-line-clamp:unset!important;display:block!important}
.ws-data-table td[data-ws-cell]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;box-shadow:inset 0 0 0 1px var(--bg);z-index:3}.sv-cloud-status{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;border:0;background:none;color:var(--muted);font:inherit;font-size:10px;cursor:pointer;padding:3px 5px;border-radius:4px}.sv-cloud-status svg{width:12px;height:12px}.sv-cloud-status:hover,.sv-cloud-status:focus-visible{background:var(--surface-hover);color:var(--text)}.sv-cloud-status[data-sync-state="error"]{color:var(--danger)}.ws-state-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:10px}
@media(max-width:700px){.ws-sort-rule{grid-template-columns:12px minmax(70px,1fr) 72px 22px 22px;gap:3px}.ws-controls .ws-multisort{grid-row:2}.ws-sort-pop{padding:10px}.sv-cloud-status{font-size:10px}}

@media(max-width:600px){html #content .ws-controls:has(.ws-multisort){grid-template-columns:auto minmax(0,1fr) auto auto}html #content .ws-controls:has(.ws-multisort)>.ws-group-control{grid-column:2/-1}html #content .ws-controls>.ws-multisort{grid-column:3;grid-row:2}html #content .ws-controls:has(.ws-multisort)>.ws-sort-reset{grid-column:4;grid-row:2}}
.ws-format-pop{background:var(--surface);color:var(--text);border:1px solid var(--border-2);border-radius:var(--os-radius-card);box-shadow:var(--os-shadow-menu);font-size:12px;line-height:1.5}.ws-col-option:has(.ws-format-trigger){grid-template-columns:minmax(0,1fr) 68px 28px 28px 28px}.ws-format-trigger svg{width:14px;height:14px}.ws-format-pop .wf-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;min-height:24px;padding:0;border:0;background:transparent;color:var(--text);cursor:pointer}.ws-format-pop .wf-icon svg{width:14px;height:14px}.ws-format-pop .wf-editor-label{display:flex;align-items:center;justify-content:space-between;gap:6px}
@media(max-width:700px){.ws-format-pop select{font-size:16px;height:32px}}

/* Status rules stay next to the editor, without an extra permanent toolbar row. */
.wf-status-help{font-size:11px;color:var(--muted);line-height:1.4;margin-top:6px;max-width:320px}.wf-cell-popover:has(.wf-status-help){min-width:min(290px,calc(100vw - 16px))}.wf-cell-popover option:disabled{color:var(--muted)}

/* OS484: overview and settings pages share the collection design tokens. */
html #content:not([data-page=reg])>.pt,html #content:not([data-page=reg])>.pt-row{margin-top:0;margin-bottom:var(--os-section-gap)}
html #content:not([data-page=reg]) :is(.panel,.two-col,.metrics,.mg,.set-body) + :is(.panel,.two-col,.metrics,.mg){margin-top:var(--os-section-gap)}
html #content:not([data-page=reg]) .panel{padding:var(--os-card-pad);border-radius:var(--os-radius-card)}
html #content .set-nav{gap:4px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;margin:8px 0 14px;padding:0;scroll-padding:8px}
html #content .set-tab{display:inline-flex;align-items:center;gap:5px;flex:none;min-height:34px;padding:6px 9px;font-size:12px;white-space:nowrap}
html #content .set-tab svg{width:14px;height:14px;flex:none}
html #content .set-tab:focus-visible,html #content .ws-report-catalog>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
html #content .set-body .panel{margin-bottom:var(--os-section-gap)}
html #content .set-body .kv{padding:7px 0;font-size:13px}
html #content .set-body .set-note{padding:10px 12px;margin-top:12px;font-size:12px;line-height:1.5}
html #content .ws-report-toolbar{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;margin:8px 0 14px}
html #content .ws-report-toolbar .rep-select-m{display:flex;align-items:center;gap:8px;margin:0;flex:1;min-width:220px;max-width:560px}
html #content .ws-report-toolbar .rep-select-m .fl{margin:0;font-size:12px;flex:none}
html #content .ws-report-toolbar select{height:32px;min-width:0;padding:4px 8px;border-radius:var(--os-radius-control);border:1px solid var(--os-field-border);background:var(--surface);color:var(--text);font-size:12px}
html #content .ws-report-catalog{min-width:0;max-width:100%}
html #content .ws-report-catalog>summary{display:inline-flex;align-items:center;gap:6px;list-style:none;min-height:32px;box-sizing:border-box}
html #content .ws-report-catalog>summary::-webkit-details-marker{display:none}
html #content .ws-report-catalog>summary svg{width:14px;height:14px}
html #content .ws-report-catalog>summary span{color:var(--muted);font-size:11px}
html #content .ws-report-catalog[open]{flex-basis:100%;padding:10px;border:1px solid var(--border-2);border-radius:var(--os-radius-card);background:var(--surface)}
html #content .ws-report-catalog:not([open])>.rep-chips-d{display:none}
html #content .ws-report-catalog[open]>.rep-chips-d{display:block;margin-top:8px}
html #content .rep-group[hidden],html #content .rep-group .chip[hidden]{display:none!important}
html #content .rep-group .chips{margin-bottom:8px;gap:4px}
html #content #report-body>.tw{max-height:none;overflow-y:visible}
@media(max-width:700px){html #content .set-tab{min-height:36px;padding:7px 8px}html #content .ws-report-toolbar .rep-select-m{min-width:0;width:100%;max-width:none;flex-basis:100%}html #content .ws-report-toolbar select{height:36px;font-size:16px}html #content .ws-report-catalog>summary{min-height:36px}html #content .ws-report-catalog .tbl-search input{font-size:16px}}
@media print{.ws-report-toolbar,.set-nav{display:none!important}}

/* OS485: integration feedback remains local to each independent form. */
.ws-integration-scope{font-size:12px;color:var(--text-2);line-height:1.5;margin:0 0 var(--os-section-gap);max-width:680px}
.ws-integration-error{font-size:13px;line-height:1.5}.ws-integration-error p{margin:0 0 8px}
.set-body .ff-actions [role=status]{flex:1;min-width:160px;font-size:12px;line-height:1.5;color:var(--text-2)}
.set-body [aria-busy=true]{opacity:.8}

.ws-secret-dialog{width:min(420px,calc(100vw - 32px));box-sizing:border-box;border:1px solid var(--border-2);border-radius:var(--os-radius-card);padding:16px;background:var(--surface);color:var(--text)}
.ws-secret-dialog::backdrop{background:rgba(0,0,0,.4)}
.ws-secret-dialog label{display:grid;gap:10px;font-size:13px;line-height:1.5}
.ws-secret-dialog input{box-sizing:border-box;width:100%;min-width:0;background:var(--surface);color:var(--text);border:1px solid var(--border-2);border-radius:var(--os-radius-control);padding:8px;font-size:16px}
.ws-secret-dialog .sh-ask-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}

/* OS486: settings load/save feedback follows the form, without replacing its draft. */
.set-body [hidden]{display:none!important}
.set-body input:disabled,.set-body textarea:disabled{opacity:.65}

.ws-settings-dirty{margin-left:6px;font-size:11px;font-weight:500;color:var(--text-2);white-space:nowrap}
.ws-settings-dirty::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--accent);margin-right:5px;vertical-align:middle}

/* OS488: access management shares the compact form rhythm, with explicit delivery feedback. */
.set-body .ws-team-help{margin:0 0 8px;font-size:12px;color:var(--text-2)}
.set-body .ws-team-help>summary{cursor:pointer;padding:4px 0;line-height:1.5}
.set-body .ws-team-help .set-note{margin-top:8px}
.set-body .team-invite{gap:6px}
.set-body .team-invite input{min-width:160px;width:auto}
.set-body .team-invite select{min-width:0;max-width:100%;flex:0 1 240px}
.set-body .mem-row{gap:8px;padding:8px 0}
.set-body .mem-id{overflow-wrap:anywhere;line-height:1.45}
.set-body .mem-role{max-width:240px;color:var(--text)}
.set-body .ws-invite-link{display:flex;align-items:center;gap:6px;margin-top:6px}
.set-body .ws-invite-link input{flex:1;min-width:0;font-size:12px}
.set-body #inv-err:empty,.set-body #mem-status:empty,.set-body #pend-status:empty,.set-body #team-roles-state:empty{display:none}
@media(max-width:700px){
 .set-body .team-invite input{flex-basis:100%}
 .set-body .team-invite select{flex:1}
 .set-body .mem-row{flex-wrap:wrap}
 .set-body .mem-row .mem-id{flex-basis:100%}
 .set-body .mem-role{flex:1;max-width:none;min-width:0;min-height:36px}
 .set-body .ws-invite-link{flex-wrap:wrap}
 .set-body .ws-invite-link input{flex-basis:100%}
}

.set-body #inv-err,.set-body #mem-status,.set-body #pend-status{color:var(--text-2);font-size:12px;line-height:1.5}
.set-body #inv-err[data-error=true],.set-body #mem-status[data-error=true],.set-body #pend-status[data-error=true]{color:var(--red,#c23b2a)}
.set-body .ws-invite-link input{box-sizing:border-box;width:100%;min-height:32px;border:1px solid var(--border-2);border-radius:var(--os-radius-control);padding:6px 8px;font:inherit;font-size:12px;background:var(--surface);color:var(--text)}
@media(max-width:700px){.set-body .ws-invite-link input{min-height:36px;font-size:16px}}

/* OS489: personal team binding follows the shared compact form layout. */
.set-body #pl-box .ws-person-create{margin:10px 0;font-size:13px}
.set-body #pl-box .ws-person-create>summary{cursor:pointer;min-height:32px;display:list-item;align-content:center;color:var(--text-2)}
.set-body #pl-box .ws-person-create[open]>summary{margin-bottom:8px}
.set-body :is(#pl-box,.ws-person-link-picker) select{width:100%;max-width:100%;min-width:0;box-sizing:border-box;background:var(--surface);color:var(--text);border:1px solid var(--border-2);border-radius:var(--os-radius-control);padding:7px 9px;font:inherit;font-size:13px}
.set-body #pl-box #pl-err{font-size:12px;line-height:1.5;color:var(--text-2);margin-top:8px;overflow-wrap:anywhere}
.set-body #pl-box #pl-err[data-error=true]{color:var(--red,#c23b2a)}
.set-body #pl-box #pl-err:empty{display:none}
.set-body #pl-box .ws-person-scope{margin-top:10px}
@media(max-width:700px){.set-body :is(#pl-box,.ws-person-link-picker) select{font-size:16px;min-height:36px}.set-body #pl-box .ff-actions>.btn{white-space:normal;text-align:left}}

/* OS490: security setup and recovery use the same compact form controls. */
.set-body .ws-security-status{font-size:12px;line-height:1.5;color:var(--text-2);overflow-wrap:anywhere;margin-top:6px}
.set-body .ws-security-status:empty{display:none}
.set-body .ws-security-status[data-error=true]{color:var(--red,#c23b2a)}
.set-body .ws-security-details{font-size:12px;margin:8px 0}
.set-body .ws-security-details>summary{cursor:pointer;min-height:28px;align-content:center}
.set-body #mfa-backup{box-sizing:border-box;width:100%;resize:vertical;background:var(--surface);color:var(--text);border:1px solid var(--border-2);border-radius:var(--os-radius-control);padding:8px;font:13px/1.6 monospace}
.set-body #mfa-box .mfa-qr{margin:8px 0;text-align:left}
.set-body #mfa-box .mfa-qr canvas{max-width:100%;height:auto}
.set-body #mfa-box .ff-actions{flex-wrap:wrap;gap:6px}
@media(max-width:700px){.set-body #mfa-box input{font-size:16px}.set-body .ws-security-details>summary{min-height:36px}}

/* Telegram enrolment: compact disclosure and readable command on small screens. */
.set-body #tg-box .mfa-qr{margin:8px 0;text-align:left}
.set-body #tg-box .mfa-qr canvas{max-width:100%;height:auto}
.set-body #tg-box #tg-command{font-family:var(--font-mono,monospace);font-size:12px}
.set-body #tg-box #tg-expiry{font-variant-numeric:tabular-nums}

/* Rights editor retains hidden rows and their selected values. */
.set-body #adm-rights [data-right-person][hidden]{display:none!important}
.set-body #adm-rights .ws-right-create{display:flex;align-items:center;gap:6px;font-size:12px}
.set-body #adm-rights .ws-right-create input{width:16px;height:16px;min-height:0;flex:none}
.set-body #adm-rights .mem-role,.set-body #adm-rights select{max-width:100%}
.set-body #adm-rights .mem-id{min-width:120px;overflow-wrap:anywhere}

/* Administrative member actions: readable role picker and explicit remove icon. */
.set-body #adm-mem-panel .set-h{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.set-body #adm-mem-panel .set-h>.btn{margin-left:auto}
.set-body #adm-mem-panel .btn-icon svg{width:16px;height:16px;display:block;flex:none}
.set-body #adm-mem-panel #adm-add-role{min-width:150px}

/* OS494: one-time credentials stay masked and use the standard compact controls. */
.set-body .ws-admin-secret{margin-top:10px;padding:10px;border:1px solid var(--border-2);border-radius:var(--os-radius-control);background:var(--surface)}
.set-body .ws-admin-secret input{display:block;width:100%;box-sizing:border-box;min-height:32px;padding:6px 9px;border:1px solid var(--border-2);border-radius:var(--os-radius-control);background:var(--surface);color:var(--text);font:13px/1.5 var(--font-mono,monospace)}
.set-body .ws-admin-secret .fl{display:block;margin-bottom:6px;font-size:12px;color:var(--text-2)}
.set-body #adm-new-panel .ff-actions,.set-body #adm-pack-panel .ff-actions{flex-wrap:wrap;gap:6px}
.set-body #adm-new-panel .fl{overflow-wrap:anywhere}
@media(max-width:700px){.set-body #adm-new-panel input{font-size:16px}.set-body #adm-new-panel .ff-actions>.btn,.set-body #adm-pack-panel .ff-actions>.btn{white-space:normal;text-align:left}}

/* OS496: wrong credentials are inline errors, without ending the current session. */
.set-body #pf-err[data-error=true],.set-body #cp-err[data-error=true]{color:var(--red,#c23b2a)}

/* OS497: compact form feedback; field errors remain next to their controls. */
html #drawer-form-status:not(:empty){padding:6px var(--os-drawer-pad,20px);font-size:12px;line-height:1.45}
html #drawer-form-status[data-state="error"]{color:var(--danger-text)}
html #drawer-form-status[data-state="pending"]{color:var(--accent)}
html #drawer [aria-invalid="true"]{border-color:var(--danger-text)}
html #drawer #form-err>button{display:block;margin-top:8px}
html #drawer .wq-form-find{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 12px;margin:0;padding:8px 10px}
html #drawer .wq-form-find>label{margin:0;font-size:12px}
html #drawer .wq-form-find>input{min-height:32px;padding:5px 8px;font-size:13px}
html #drawer #wq-field-results{grid-column:1/-1;margin:0}
html #drawer #wq-field-results:empty{display:none}
@media(max-width:700px),(pointer:coarse){html #drawer .wq-form-find{grid-template-columns:1fr}html #drawer .wq-form-find>input{min-height:44px;font-size:16px}}

body.ws-drawer-open :is(.ws-page-chrome,#sh-top,#sh-foot){visibility:hidden!important;pointer-events:none}

/* OS498: explicit three-way review, readable on a phone and by keyboard. */
.wd-version-review{grid-column:1/-1;padding:14px;border:1px solid var(--accent-border);border-radius:var(--os-radius-card);background:var(--surface-2);min-width:0}
.wd-version-review>h2{font-size:16px;margin:0 0 8px}.wd-version-review>p{font-size:12px;line-height:1.6;margin:0 0 12px;color:var(--text-2)}
.wd-conflict-field{min-width:0;margin:0 0 12px;padding:10px;border:1px solid var(--border);border-radius:var(--os-radius-control);background:var(--surface)}
.wd-conflict-field>legend{font-size:13px;font-weight:600;padding:0 5px}.wd-version-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.wd-version-values>div{min-width:0}.wd-version-values b{font-size:11px;color:var(--muted);font-weight:500}.wd-version-values p{font-size:13px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;max-height:180px;overflow:auto;margin:5px 0 8px}
.wd-conflict-field>label{display:inline-flex;align-items:center;gap:6px;min-height:32px;font-size:12px;margin-right:12px;cursor:pointer}.wd-conflict-field>small{display:block;color:var(--text-2);font-size:12px}
.wd-version-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.wd-version-actions>span{font-size:12px;color:var(--text-2)}
@media(max-width:700px){.wd-version-values{grid-template-columns:1fr;gap:4px}.wd-version-values>div+div{border-top:1px solid var(--border);padding-top:6px}.wd-conflict-field>label{min-height:44px}.wd-version-review{padding:10px}}

/* OS499: local draft information beside the form, without a separate toolbar. */
.wd-draft-state{grid-column:1/-1;display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap;font-size:12px;line-height:1.5;padding:8px 10px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--os-radius-control);color:var(--text-2)}
.wd-draft-state[hidden]{display:none}.wd-draft-state>span{flex:1 1 240px;min-width:0}.wd-draft-state[data-error="true"]{border-color:var(--danger-text);color:var(--danger-text)}
html #drawer .wd-draft-state>.btn{font-size:12px}

/* OS500 · Separate confirmed creation from task-link recovery. */
.tc-create-origin,.tc-created-result{grid-column:1/-1;padding:10px 12px;border:1px solid var(--border);border-radius:var(--os-radius-control);background:var(--surface-2);font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.tc-create-origin{color:var(--text-2);margin-bottom:4px}.tc-created-result strong{display:block;color:var(--text);font-size:14px}.tc-created-result p{margin:5px 0}.tc-created-error{color:var(--danger-text)}
.tc-created-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tc-created-actions .btn{min-height:32px;padding:5px 9px;font-size:12px}.tc-created-result+.tc-created-result{margin-top:8px}#tc-created-notes:empty{display:none}
@media(max-width:600px){.tc-created-actions .btn{min-height:40px}.tc-created-result{padding:10px}}

/* OS501 · Document search and persistent selection share one compact row. */
.tc-doc-search{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.tc-doc-search label{flex:1 1 200px;min-width:0}.tc-doc-search>span{font-size:12px;color:var(--text-2);padding:8px 0}.tc-picker-error:empty{display:none}

.tc-generation-result{margin-top:10px}.tc-generation-candidate{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 0;border-top:1px solid var(--border)}.tc-generation-candidate>span{flex:1 1 160px;min-width:0;overflow-wrap:anywhere}.tc-generation-result:focus{outline:2px solid var(--accent);outline-offset:2px}

.tc-generation-result .td-quiet{display:inline-flex;align-items:center;min-height:32px;padding:5px 9px;border:1px solid var(--border);border-radius:var(--os-radius-control);background:var(--surface);color:var(--text);font-size:12px;text-decoration:none}@media(max-width:600px){.tc-generation-result .td-quiet{min-height:40px}}

/* OS502: compact phase cards, explicit partial data and independent actions. */
.ws-phase-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:var(--ws-gap,10px);margin-bottom:16px}
.ws-phase-card{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--border);border-radius:var(--os-radius-card);background:var(--surface);min-width:0}
.ws-phase-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.ws-phase-title{font-size:14px;font-weight:600;color:var(--text);line-height:1.45;overflow-wrap:anywhere;text-decoration:none}
.ws-phase-title:hover{text-decoration:underline}.ws-phase-title:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}
.ws-phase-summary{display:flex;justify-content:space-between;gap:8px;font-size:12px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}
.ws-phase-summary>span{flex-shrink:0;font-variant-numeric:tabular-nums;color:var(--text)}
.ws-phase-note,.ws-phase-empty{margin:0;font-size:12px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}.ws-phase-empty{padding:12px;margin-bottom:16px;border:1px solid var(--border);border-radius:var(--os-radius-card)}
.ws-phase-card .gate-actions{margin:0;gap:6px}.ws-phase-card .gate-actions .btn{white-space:normal;max-width:100%}
.ws-phase-result{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding-top:8px;border-top:1px solid var(--border);font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.ws-phase-result[role=alert]{color:var(--danger,#dc2626)}.ws-phase-result small{font:inherit;color:var(--muted)}

/* OS503: daily work uses separate task, source and prerequisite links. */
.ws-day-heading,.ws-day-actions,.ws-day-switch,.ws-day-main,.ws-day-timing,.ws-day-footer{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ws-day-heading,.ws-day-main,.ws-day-footer{justify-content:space-between}.ws-day-heading h2{margin:0;font-size:15px;line-height:1.4}.ws-day-heading>div>span{font-size:12px;color:var(--muted)}
.ws-day-actions{margin-left:auto}.ws-day-switch{gap:2px}.ws-day-switch [aria-pressed=true]{background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 1px var(--border)}
.ws-day-counts{display:flex;gap:6px 14px;align-items:center;flex-wrap:wrap;font-size:12px;margin:10px 0;color:var(--muted)}.ws-day-counts strong{color:var(--text);font-variant-numeric:tabular-nums}.ws-day-count-note{font-size:11px;margin-left:auto}
.ws-day-row{padding:10px 0;border-top:1px solid var(--border);min-width:0}.ws-day-title{font-size:13px;font-weight:500;color:var(--text);text-decoration:none;overflow-wrap:anywhere;flex:1 1 200px;min-width:0}.ws-day-title:hover{text-decoration:underline}
.ws-day-meta,.ws-day-blockers,.ws-day-unresolved{display:flex;align-items:baseline;gap:4px 12px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-top:5px;overflow-wrap:anywhere}.ws-day-blockers,.ws-day-unresolved{padding-left:8px;border-left:2px solid var(--border)}
.ws-day-source{border:0;padding:0;background:none;color:var(--accent);text-align:left;font:inherit;cursor:pointer;overflow-wrap:anywhere;max-width:100%}
.ws-day-title:focus-visible,.ws-day-source:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}.ws-day-panel .md-hint{margin:10px 0;background:var(--surface-2,var(--bg));color:var(--text-2);border-color:var(--border)}
.ws-day-footer{font-size:12px;color:var(--muted);margin-top:6px}.ws-day-footer:has(>span:empty):not(:has(button)){display:none}.ws-day-warning{font-size:12px;color:var(--text-2);padding:8px;border:1px solid var(--border);border-radius:6px;margin:8px 0}
@media(max-width:680px){.ws-day-actions{margin-left:0;width:100%;justify-content:space-between}.ws-day-main{align-items:flex-start}.ws-day-title{flex-basis:100%}.ws-day-timing{justify-content:flex-start}.ws-day-count-note{margin-left:0;width:100%}}

/* OS504: conditional transitions retain explicit outcomes and compact requirements. */
.ws-transition-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.ws-transition-result{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;padding:10px 0;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.ws-transition-result small{flex-basis:100%;font:inherit;color:var(--muted)}.ws-transition-result[role=alert]{color:var(--danger,#dc2626)}
.ws-transition-requires{padding:8px 0;font-size:12px;line-height:1.5;color:var(--text-2)}.ws-transition-requires ul{margin:4px 0;padding-left:18px}.ws-transition-recovery{padding:10px 12px;margin-bottom:12px;border:1px solid var(--border);border-radius:var(--os-radius-card);background:var(--surface)}.ws-transition-recovery>div{display:flex;align-items:center;gap:6px 12px;flex-wrap:wrap;font-size:12px;line-height:1.5}.ws-transition-recovery>div+div{border-top:1px solid var(--border);padding-top:8px;margin-top:8px}.ws-transition-recovery strong{overflow-wrap:anywhere}.ws-transition-recovery span{flex:1 1 240px;overflow-wrap:anywhere}

.ws-transition-heading{font-size:12px;font-weight:600;color:var(--text-2);margin:10px 0 6px}

/* OS506: compact primary material, deliberately separate from supporting links. */
.tc-primary-result{margin:12px 0;padding:12px;border:1px solid var(--border);border-radius:var(--os-radius-card);min-width:0}.tc-primary-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.tc-primary-heading h2{font-size:12px!important;margin:0!important}.tc-primary-title{display:flex;align-items:center;gap:8px;text-align:left;max-width:100%;border:0;background:none;color:var(--accent);font:inherit;font-size:13px;padding:8px 0;cursor:pointer}.tc-primary-title span{overflow-wrap:anywhere}.tc-primary-result .tc-note{margin:6px 0;font-size:12px}.tc-primary-clear{font-size:11px}.tc-primary-badge{display:inline-block;font-size:11px;white-space:normal;border:1px solid var(--border);border-radius:4px;padding:3px 6px;color:var(--text-2)}.tc-primary-row-action{flex:none;max-width:150px}.tc-primary-row-action button{font-size:11px}.tc-primary-outcome{font-size:12px;line-height:1.5;margin-top:8px;overflow-wrap:anywhere}.tc-primary-outcome small{display:block;color:var(--muted)}.tc-primary-outcome[role=alert]{color:var(--danger,#dc2626)}.tc-primary-search{display:block;font-size:12px;margin-top:10px}.tc-primary-search input{width:100%;box-sizing:border-box;margin-top:5px;min-height:32px;font-size:13px}.tc-primary-choices{display:grid;gap:4px;margin-top:8px;max-height:280px;overflow:auto}.tc-primary-option{display:flex;flex-direction:column;gap:3px;text-align:left;border:1px solid var(--border);border-radius:5px;background:var(--surface);color:var(--text);padding:8px;cursor:pointer;overflow-wrap:anywhere;min-width:0;font:inherit;font-size:12px}.tc-primary-option span{color:var(--muted);font-size:11px}.tc-primary-title:focus-visible,.tc-primary-option:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:680px){.tc-linked-row:has(.tc-primary-row-action){flex-wrap:wrap}.tc-primary-row-action{max-width:none}.tc-primary-heading{flex-wrap:wrap}.tc-primary-option{min-height:44px}.tc-primary-search input{min-height:40px}}

.tc-primary-result [hidden]{display:none!important}

/* OS507: one planning toolbar and comparable compact measures. */
.wp-measure-label{display:block;color:var(--muted);font-size:10px;line-height:1.4;margin-bottom:2px}.okr-percent{text-align:right}.wp-date-note{display:block;margin:0;color:var(--danger-text);font-size:12px;line-height:1.5;overflow-wrap:anywhere}html #content .wp-card-grid{gap:var(--os-section-gap);margin:0 0 var(--os-section-gap)}html #content .wp-plan-card{gap:8px}html #content .wp-plan-card .wp-record-title{font-size:15px;line-height:1.45}html #content .wp-plan-card .wp-key-result{font-size:13px;line-height:1.5}html #content .wp-plan-card .wp-relations{padding-top:8px}.okr-layouts button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.okr-measure>span{min-width:0;overflow-wrap:anywhere}

/* OS508: linked work has compact scoped controls and a natural-height table. */
.wp-create-origin{display:grid;gap:4px;border-left:2px solid var(--accent);padding:8px 10px;margin:0 0 12px;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.wp-create-origin small{color:var(--text-2);font-size:12px}.wp-create-origin a{color:var(--accent)}.wp-linked-workspace{min-width:0}.wp-linked-workspace .wp-linked-head{margin:10px 0 12px;align-items:flex-start}.wp-linked-head h1{font-size:22px;line-height:1.3;margin:0}.wp-linked-head h1>span{font-size:12px;font-weight:400;color:var(--muted);vertical-align:middle}.wp-linked-controls{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.wp-linked-controls label{display:grid;gap:3px;min-width:120px;max-width:220px;flex:1;font-size:11px;color:var(--text-2)}.wp-linked-controls .wp-linked-search{flex:2;max-width:320px}.wp-linked-controls .inp{min-width:0;width:100%;height:32px;font-size:12px;padding:4px 8px;box-sizing:border-box}.wp-linked-meta{font-size:12px;color:var(--text-2);margin:10px 0}.wp-linked-notice{font-size:12px;line-height:1.5;color:var(--danger-text)}.wp-linked-table-wrap{overflow-x:auto;max-height:none;margin-bottom:12px}.wp-linked-table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}.wp-linked-table th,.wp-linked-table td{padding:9px 10px;border-bottom:1px solid var(--border);vertical-align:top}.wp-linked-table thead th{font-weight:500;color:var(--text-2);white-space:nowrap}.wp-linked-table td:first-child{min-width:200px;width:50%;overflow-wrap:anywhere}.wp-linked-table td:not(:first-child){min-width:100px}.wp-linked-table .wp-linked-group th{background:var(--surface-2);font-size:12px}.wp-linked-record{color:var(--text);text-decoration:none;line-height:1.5}.wp-linked-record:hover{text-decoration:underline}.wp-linked-record:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.wp-linked-workspace .btn{min-height:30px;font-size:12px;padding:4px 8px}@media(max-width:680px){.wp-linked-controls label{max-width:none;min-width:130px}.wp-linked-controls .wp-linked-search{flex-basis:100%;max-width:none}.wp-linked-controls .inp,.wp-linked-workspace .btn{min-height:40px}.wp-linked-head h1{font-size:20px}}

.wp-linked-controls .inp{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--os-radius-control)}.wp-linked-controls .inp:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.wp-linked-table caption{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.wp-linked-table th,.wp-linked-table td{padding:6px 8px}

.wp-linked-views{display:flex;gap:4px;margin:0 0 8px}.wp-linked-views [aria-pressed=true]{background:var(--accent-bg);color:var(--accent)}.wp-linked-card-group{font-size:13px;margin:12px 0 8px}

/* OS509 · document generation/result shares the existing compact task controls. */
.dg-generator{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0;max-width:100%}
.dg-generator>select[hidden]{display:none}
.dg-generator>.tc-generation-context{flex:1 1 240px;margin:0;font-size:12px;line-height:1.45}
.dg-generator>[role=alert]:empty{display:none}
.dg-generator>[role=alert],.dg-generator>.tc-generation-result{flex-basis:100%;min-width:0;overflow-wrap:anywhere}
#record-documents>.rel-create{display:flex;flex-wrap:wrap;gap:6px}
.dg-generator[data-record-generator]{display:block;flex:0 1 auto}
.dg-generator[data-record-generator]>.tc-generation-context{display:none}
.dg-generator[data-record-generator].dg-has-result{flex-basis:100%}
.dg-record-origin{margin:8px 0;font-size:12px;line-height:1.45}
#op-generation{margin:0 0 12px}
#drawer .dg-document{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px 0;cursor:default}
.dg-doc-info{min-width:0;overflow-wrap:anywhere}.dg-doc-title{font-weight:500}.dg-doc-meta{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;color:var(--muted);font-size:11px;margin-top:4px}
.dg-document>.td-quiet{white-space:normal;text-align:center;max-width:140px}
@media(max-width:600px){.dg-generator>.tc-generation-context{flex-basis:100%}.dg-generator [data-generation-button]{white-space:normal;text-align:left}}

/* OS510 · one searchable related-action group instead of a wall of buttons. */
.wr-related{border-top:1px solid var(--border);padding:10px 0;margin:8px 0}
.wr-related>summary{cursor:pointer;font-size:13px;font-weight:500;line-height:1.5;padding:5px 0}
.wr-related-panel{padding:8px 0 0}.wr-related-panel>label{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}
.wr-related .wr-search{flex:1;min-width:0;max-width:420px;font:inherit;color:var(--text);background:var(--field);border:1px solid var(--border);border-radius:var(--os-radius-control,6px);padding:7px 9px}
.wr-related-meta{font-size:11px;line-height:1.5;color:var(--muted);margin:7px 0}
.wr-related-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.wr-related-option{display:flex;flex-direction:column;gap:2px;align-items:flex-start;text-align:left;border:1px solid var(--border);border-radius:var(--os-radius-control,6px);background:var(--surface);color:var(--text);font:inherit;font-size:12px;line-height:1.4;padding:8px 10px;cursor:pointer;min-width:0;overflow-wrap:anywhere}
.wr-related-option small{font-size:11px;color:var(--muted)}.wr-related-option:hover{background:var(--surface-2)}.wr-related-option:disabled{opacity:.6;cursor:wait}
.wr-related .wr-more{margin-top:8px}.wr-related .wr-more[hidden]{display:none}
.wr-related :is(button,input,summary):focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:600px){.wr-related-options{grid-template-columns:1fr}.wr-related-panel>label{display:block}.wr-related .wr-search{display:block;width:100%;max-width:none;min-height:44px;margin-top:5px;font-size:16px}.wr-related-option{min-height:44px}}

/* OS511 · comparable metrics, compact provenance and explicit missing values. */
.ws-controls>label[hidden]{display:none}
#content a.sp-card{display:block;color:var(--text);text-decoration:none;min-width:0;overflow-wrap:anywhere;box-sizing:border-box}
#content a.sp-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.wm-source,.wm-note,.wm-open,.wm-state{font-size:11px;line-height:1.5;overflow-wrap:anywhere}
.wm-source{margin-top:6px;color:var(--text-2)}.wm-note{margin-top:5px;color:var(--muted)}.wm-open{display:block;margin-top:8px;color:var(--accent)}
.wm-state{padding:8px 10px;border:1px solid var(--border);border-radius:var(--os-radius-control);color:var(--text-2)}
#content .ws-metric-card{min-width:0;overflow-wrap:anywhere}#content .ws-metric-card h2{margin:0 0 8px}
#content .ws-metric-card .ws-metric-note{font-size:12px;line-height:1.5;margin:6px 0}
#content .ws-metric-card .ch-wrap{padding:8px 0;margin:8px 0;border:0;box-shadow:none}
#content .ws-metric-card dl{font-size:11px;line-height:1.5;margin:8px 0 0;padding-top:8px}
#content .ws-metric-card dt{margin-top:5px}#content .ws-metric-value{overflow-wrap:anywhere}
#content .sp-card .wm-state{margin:6px 0}
#content .ws-metric-card .ch-ax{font-size:18px}
#content .op-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px}
#content .op-metric{min-width:0;overflow-wrap:anywhere}
@media(max-width:600px){#content .ws-metric-card .ch-ax{font-size:28px}#content .ws-metric-grid{grid-template-columns:minmax(0,1fr)}#content .sp-grid{grid-template-columns:minmax(0,1fr)}#content .wq-metric-points a{min-height:44px}}

/* OS512: complete risk coverage and readable, keyboard-accessible decision journals. */
#content .wrisk-summary{font-size:12px;color:var(--text-2);margin:8px 0 16px;line-height:1.6}
#content .wrisk-layout{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(320px,1.1fr);gap:var(--os-space-4);align-items:start}
#content .wrisk-caption{text-align:left;font-size:13px;font-weight:600;margin:0 0 8px}
#content .rm-table{width:100%;table-layout:fixed}#content .rm-table td{padding:3px}
#content .rm-cell{width:100%;height:auto;min-height:60px;border:0;padding:6px 2px;color:var(--on-solid);font:inherit}
#content .rm-cell small{display:block;font-size:10px}#content .rm-n{display:block;font-size:20px}
#content .rm-colh,#content .rm-rowh,#content .rm-corner{white-space:normal;font-size:11px;overflow-wrap:anywhere}
#content .wrisk-method{font-size:12px;line-height:1.6;margin:12px 0;color:var(--text-2)}
#content .wrisk-method summary,#content .wrisk-group>summary{cursor:pointer;padding:8px 0;font-weight:600}
#content .wrisk-method p{margin:8px 0}#content .wrisk-group{border-top:1px solid var(--border);margin:12px 0;font-size:13px}
#content .wrisk-group>summary span,#content .wrisk-priorities h2 span{color:var(--muted);font-size:12px;font-weight:400;margin-left:6px}
#content .wrisk-priorities h2{font-size:14px;margin:0 0 8px}#content .wrisk-row{padding:12px;border:1px solid var(--border);border-radius:var(--os-radius-card);background:var(--surface);margin:8px 0;min-width:0;overflow-wrap:anywhere}
#content .wrisk-row header,#content .adr-h{display:flex;align-items:start;justify-content:space-between;gap:8px;flex-wrap:wrap}
#content .wrisk-title,#content .adr-title{color:var(--text);font-size:14px;font-weight:600;line-height:1.5;text-decoration:none;overflow-wrap:anywhere}
#content .wrisk-title:hover,#content .adr-title:hover{text-decoration:underline}
#content .wrisk-band{font-size:11px;color:var(--text-2);margin-top:3px}
#content .wrisk-row dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 0;font-size:12px;line-height:1.5}
#content .wrisk-row dl>div:nth-last-child(-n+2){grid-column:1/-1}#content .wrisk-row dt{color:var(--muted);font-size:11px}#content .wrisk-row dd{margin:2px 0 0;white-space:pre-wrap}
#content .wrisk-selection{margin:14px 0;font-size:13px}#content .wrisk-selection[hidden]{display:none}
#content .wrisk-missing{color:var(--muted);font-size:12px}
#content .adr-card{cursor:auto;padding:var(--os-card-pad);box-shadow:none;overflow-wrap:anywhere}#content .adr-card:hover{box-shadow:none}
#content .adr-card.adr-sup{opacity:1}#content .adr-meta{display:flex;gap:6px 14px;flex-wrap:wrap;font-size:12px;line-height:1.6;margin-top:8px}#content .adr-meta b{font-weight:400;color:var(--muted)}
#content .adr-body{grid-template-columns:minmax(100px,150px) minmax(0,1fr);margin-bottom:0;gap:10px 14px}#content .adr-k{font-size:11px;text-transform:none;letter-spacing:normal}#content .adr-v{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}
#content .adr-kind,#content .adr-scope{font-size:12px;line-height:1.6;color:var(--text-2);margin:8px 0}
#content :is(.riskmatrix,.adr-log) :is(a,button,summary):focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:1000px){#content .wrisk-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){#content .adr-body{grid-template-columns:1fr;gap:3px}#content .adr-k:not(:first-child){margin-top:10px}#content .adr-meta{flex-direction:column;gap:3px}#content .wrisk-title,#content .adr-title{display:inline-flex;align-items:center;min-height:44px}#content .wrisk-row dd a,#content .adr-meta a{display:inline-flex;align-items:center;min-height:44px}#content .rm-cell{min-height:60px}#content .rm-table{min-width:0}}
#content .wrisk-row dd a,#content .adr-meta a{color:var(--accent);text-decoration:none}#content .wrisk-row dd a:hover,#content .adr-meta a:hover{text-decoration:underline}
#content .wrisk-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:12px}#content .wrisk-list .wrisk-row{margin:0}
#content .riskmatrix .rm-crit{background:#b91c1c;color:#fff}#content .riskmatrix .rm-low{background:#15803d;color:#fff}
#content .riskmatrix .rm-high,#content .riskmatrix .rm-med{color:#171717}#content .riskmatrix .rm-n{color:inherit}
@media(max-width:600px){#content .rm-rowh,#content .rm-corner{padding:4px 2px;font-size:10px;overflow-wrap:normal}#content .rm-colh{padding:4px 0;font-size:10px;letter-spacing:0}}

/* OS513: compact team workload with explicit data coverage and native task drilldown. */
#content .wtl-row{grid-template-columns:minmax(180px,1fr) minmax(220px,2fr);gap:10px 20px;cursor:default;align-items:start;padding:12px}
#content .wtl-row:hover{background:var(--surface)}#content .wtl-row .tl-name{font-size:14px;line-height:1.5;white-space:normal;overflow-wrap:anywhere;text-decoration:none}
#content .wtl-row .tl-name:hover{text-decoration:underline}#content .wtl-row .tl-role{line-height:1.5;margin-top:3px}
#content .wtl-work{min-width:0}#content .wtl-counts{display:flex;gap:6px 18px;flex-wrap:wrap;font-size:12px;line-height:1.6;margin-bottom:7px;font-variant-numeric:tabular-nums}
#content .wtl-counts b{font-size:15px}#content .wtl-total{color:var(--muted)}#content .wtl-row .tl-bar-wrap{height:5px}
#content .wtl-row .tl-est{grid-column:1/-1;display:flex;gap:6px 20px;flex-wrap:wrap;font-size:12px;color:var(--text-2);opacity:1;line-height:1.5;margin:0}
#content .wtl-empty{font-size:12px;color:var(--muted);margin:4px 0 0}#content .wtl-details{grid-column:1/-1;min-width:0}
#content .wtl-task-group{border-top:1px solid var(--border);font-size:12px}#content .wtl-task-group>summary,#content .wtl-method>summary{cursor:pointer;padding:8px 0;line-height:1.5}
#content .wtl-tasks{list-style:none;margin:0;padding:0}#content .wtl-tasks li{display:flex;align-items:start;flex-wrap:wrap;gap:4px 12px;padding:8px 0;border-top:1px solid var(--border);overflow-wrap:anywhere}
#content .wtl-tasks a{color:var(--text);text-decoration:none;font-size:13px;line-height:1.5;flex:1 1 220px;min-width:0}#content .wtl-tasks a:hover{text-decoration:underline}
#content .wtl-task-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;color:var(--text-2);line-height:1.5;font-size:11px}
#content .wtl-method{font-size:12px;margin:0 0 10px;color:var(--text-2)}#content .wtl-method p{margin:6px 0;line-height:1.6}
#content .wtl-state{line-height:1.6;margin:0 0 10px}#content .teamload :is(a,summary,button):focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:680px){#content .wtl-row{grid-template-columns:minmax(0,1fr);gap:8px;padding:10px}#content .wtl-row .tl-name,#content .wtl-task-group>summary,#content .wtl-method>summary,#content .wtl-tasks a{min-height:44px;display:flex;align-items:center}#content .wtl-task-group>summary,#content .wtl-method>summary{display:list-item;padding:12px 0;box-sizing:border-box}#content .wtl-row .tl-est{flex-direction:column;gap:4px}}

/* OS514: complete meeting list, readable notes and independent native links. */
#content .wmeet-zone{font-size:12px;line-height:1.6;color:var(--text-2);margin:0 0 12px}
#content .wmeet-section{margin:0 0 20px}#content .wmeet-section h2{display:flex;gap:8px;align-items:center;font-size:13px;margin:14px 0 8px}#content .wmeet-section h2 span{color:var(--muted);font-size:12px;font-weight:400}
#content .wmeet-card{border:1px solid var(--border);border-radius:var(--os-radius-card);background:var(--surface);padding:12px;margin:8px 0;cursor:auto;min-width:0;overflow-wrap:anywhere}
#content .wmeet-card header{display:flex;align-items:start;flex-wrap:wrap;gap:6px 12px}#content .wmeet-title{color:var(--text);font-weight:600;font-size:14px;line-height:1.5;text-decoration:none;flex:1 1 220px;min-width:0}#content .wmeet-title:hover{text-decoration:underline}
#content .wmeet-time{display:flex;gap:4px 14px;align-items:center;flex-wrap:wrap;font-size:12px;line-height:1.6;margin-top:6px;font-variant-numeric:tabular-nums}#content .wmeet-now{color:var(--accent);font-weight:500}#content .wmeet-unknown{color:var(--warn-text)}
#content .wmeet-people{font-size:12px;line-height:1.7;margin:8px 0;overflow-wrap:anywhere}#content .wmeet-people a{color:var(--accent);text-decoration:none}#content .wmeet-people a:hover{text-decoration:underline}
#content .wmeet-muted{color:var(--muted);font-size:12px;line-height:1.6}#content .wmeet-card p{margin:6px 0}
#content .wmeet-notes,#content .wmeet-linked{font-size:12px;border-top:1px solid var(--border);margin-top:8px}#content .wmeet-notes>summary,#content .wmeet-linked>summary{padding:8px 0;cursor:pointer;line-height:1.5}
#content .wmeet-notes dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:4px 0 8px}#content .wmeet-notes dt{font-size:11px;color:var(--muted);margin-bottom:5px}#content .wmeet-notes dd{margin:0;font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
#content .wmeet-widget .sh{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}#content .wmeet-widget .sh a{font-size:12px;font-weight:400}
#content :is(.meetings,.wmeet-widget) :is(a,summary):focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:680px){#content .wmeet-card{padding:10px}#content .wmeet-notes dl{grid-template-columns:minmax(0,1fr)}#content .wmeet-title,#content .wmeet-people a{display:inline-flex;align-items:center;min-height:44px}#content .wmeet-notes>summary,#content .wmeet-linked>summary{min-height:44px;padding:12px 0;box-sizing:border-box}}

#content .wmeet-type{font-size:11px;color:var(--muted);display:inline-flex;align-items:center;gap:5px}

/* OS515: approval state stays beside its file, without replacing the drawer. */
.ds-approval{display:flex;flex-direction:column;gap:5px;margin:5px 0 9px;min-width:0}
.ds-approval .tc-note{margin:0;overflow-wrap:anywhere}
.ds-approval .tc-created-actions{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.ds-approval .btn{min-height:28px;padding:4px 8px;font-size:12px;white-space:normal;text-align:left}
.ds-approval.ds-has-result{border-inline-start:2px solid var(--accent);padding-inline-start:8px}
.ds-document>.gate-note{overflow-wrap:anywhere}

/* OS518: report provenance and exact source records share the compact workspace scale. */
.ws-report-meta,.ws-report-source-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0;font-size:12px;color:var(--muted)}
.ws-report-meta .btn{margin-left:auto}.ws-report-origin{color:var(--accent)}
.ws-report-warning{padding:10px 12px;border:1px solid var(--border);border-left:3px solid #d69d24;border-radius:8px;font-size:12px}
.ws-report-note{font-size:12px;color:var(--muted);line-height:1.5;margin:8px 0}
.ws-report-value{display:inline-flex;align-items:center;gap:6px;padding:2px 0;background:transparent;border:0;color:var(--accent);font:inherit;text-align:left;cursor:pointer;max-width:100%;overflow-wrap:anywhere}
.ws-report-value svg{width:13px;height:13px;flex:none}.ws-report-value:hover{text-decoration:underline}.ws-report-value:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}
.ws-report-table th[scope=row]{font-weight:400}.ws-report-table tr[data-level="0"] th,.ws-report-table tr[data-level="2"] th{font-weight:600}.ws-report-table tr[data-level="1"] th{padding-left:24px}
.ws-report-source{border:1px solid var(--border);border-radius:10px;padding:12px;margin:12px 0}.ws-report-source-head{justify-content:space-between;color:inherit}.ws-report-source h2{font-size:14px;line-height:1.4;margin:0}.ws-report-source .tw{max-height:none}.ws-report-source[hidden]{display:none}
@media(max-width:600px){.ws-report-meta{gap:6px}.ws-report-meta .btn{margin-left:0}.ws-report-source{padding:8px}.ws-report-source-head{align-items:flex-start}}
.ws-report-table caption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.ws-report-table th[scope=row]{background:transparent;color:var(--text);font-size:13px;letter-spacing:normal;text-transform:none;white-space:normal;vertical-align:top;border-bottom:1px solid var(--surface-3)}
.ws-report-table .num{text-align:right}.ws-report-source .tw{margin-bottom:6px}.ws-report-table tbody tr,.ws-report-source tbody tr{cursor:default}
@media(max-width:700px){
 #report-body .tw{overflow-x:auto}
 #report-body .tw table{display:table;width:100%;table-layout:auto}
 #report-body .tw thead{display:table-header-group;position:static;left:auto}
 #report-body .tw tbody{display:table-row-group}
 #report-body .tw tr{display:table-row;border:0;border-radius:0;padding:0;margin:0;background:transparent}
 #report-body .tw td,#report-body .tw th{display:table-cell;width:auto;min-width:0;padding:8px;white-space:normal;vertical-align:top}
 #report-body .tw td:first-child{font-size:13px;font-weight:400;margin:0}
 #report-body .tw td::before{content:none}
 #report-body .ws-report-source td:last-child{white-space:nowrap;font-size:12px}
}

/* OS519: concrete action beside the backlinks; no extra oversized action row. */
.tc-backlinks{padding:12px;margin-bottom:12px}.tc-backlinks-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.tc-backlinks-head h2{font-size:13px;margin:0;font-weight:600}.tc-create-task{display:inline-flex;align-items:center;gap:5px;font-size:12px}.tc-create-task svg{width:14px;height:14px;flex:none}.tc-backlinks>.tc-backlink-record{padding:6px 0;font-size:13px}.tc-backlinks .tc-note{font-size:12px;margin:6px 0 0}.wmeet-card>.tc-create-task{margin-top:6px}

/* OS520: compact, explicit result acceptance within the task context. */
.tr-review{border:1px solid var(--border);border-radius:var(--os-radius-card);padding:12px;margin:12px 0}.tr-review>header{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.tr-review h2,.tr-inbox h2{font-size:14px;margin:0;flex:1}.tr-review .btn{font-size:12px}.tr-review .tr-refresh svg{width:14px;height:14px}.tr-note,.tr-meta{font-size:12px;color:var(--text-2);line-height:1.5;margin:7px 0}.tr-entry{padding:10px 0;border-top:1px solid var(--border)}.tr-entry>div:first-child{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:13px}.tr-summary,.tr-comment{font-size:13px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;margin:7px 0}.tr-label{display:grid;gap:5px;font-size:12px;margin:10px 0}.tr-label textarea,.tr-label select{box-sizing:border-box;width:100%;min-width:0;border:1px solid var(--border);border-radius:var(--os-radius-control);background:var(--surface);color:var(--text);font:inherit;padding:8px}.tr-actions{display:flex;gap:6px;flex-wrap:wrap}.tr-error{font-size:12px;color:var(--red,#b42318);white-space:pre-wrap}.tr-error:empty{display:none}.tr-history>summary{cursor:pointer;font-size:12px;padding:8px 0}.tr-recovery{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:12px;background:var(--surface-2);padding:10px;border-radius:var(--os-radius-control)}.tr-inbox-row{display:grid;gap:5px;width:100%;padding:12px 0;text-align:left;background:none;color:var(--text);border:0;border-bottom:1px solid var(--border);font-size:13px;cursor:pointer}.tr-inbox-row span{white-space:pre-wrap;overflow-wrap:anywhere}.tr-inbox-row small{font-size:12px;color:var(--text-2)}

.tr-status{font-size:12px;color:var(--text-2);margin:7px 0}.tr-status:empty{display:none}.tr-status:focus-visible,.tr-error:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* OS521: file editions in the same compact material card. */
.mf-file{display:flex;align-items:center;gap:8px;padding:8px 0;border-top:1px solid var(--border)}.mf-file>div{min-width:0;flex:1}.mf-file strong{display:block;font-size:13px;overflow-wrap:anywhere}.mf-file small{display:block;margin-top:4px;color:var(--text-2);font-size:12px}.mf-upload{margin-top:10px}.mf-upload input{max-width:100%;font-size:12px}.mf-upload .tr-label{margin-bottom:6px}

/* Shared linked collections retain the fixed parent beside their view controls. */
.ws-linked-scope{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%;font-size:12px;color:var(--muted);overflow-wrap:anywhere}.ws-linked-scope svg{width:14px;height:14px;flex:none}.wp-linked-workspace>.wp-back{display:inline-flex;align-items:center;max-width:100%;width:fit-content;margin:8px 24px 0;color:var(--muted);font-size:12px;text-decoration:none}.wp-linked-workspace>.wp-back:hover{color:var(--accent);text-decoration:underline}.ws-linked-help{font-size:12px;color:var(--muted);margin-top:8px}.ws-linked-help p{max-width:70ch}.wp-linked-workspace .ws-views .view-toggle{display:contents}

/* HR context stays in the shared compact drawer rhythm. */
html #drawer .wh-context{padding:10px 0;display:grid;gap:6px}html #drawer .wh-context .wp-actions{margin:0;gap:6px;flex-wrap:wrap}html #drawer .wh-context .tc-note{margin:2px 0 0}html #drawer .wh-context>.btn{justify-self:start;white-space:normal;text-align:left}
html #drawer .wh-context .btn svg{width:16px;height:16px;flex:0 0 16px}

/* OS528: personal counts are scoped, inspectable work lists. */
.ws-work-kind{display:inline-flex;align-items:center;gap:5px;font:inherit;font-size:12px;color:var(--text-2);background:transparent;border:1px solid transparent;border-radius:6px;padding:5px 8px;cursor:pointer;min-height:30px}.ws-work-kind[aria-pressed=true]{color:var(--accent);background:var(--accent-soft);border-color:var(--border)}.ws-work-kind:hover{background:var(--surface-2,var(--bg))}.ws-work-kind:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ws-day-counts:has(.ws-work-kind){gap:4px;margin:8px 0 4px}.ws-work-explanation{font-size:11px;color:var(--muted);line-height:1.5;margin:4px 0 8px;overflow-wrap:anywhere}.ws-work-summary{font-size:12px;line-height:1.5;color:var(--text-2);margin:4px 0;overflow-wrap:anywhere;white-space:pre-line}

.ws-work-refresh{flex:none}.ws-work-refresh svg{width:16px;height:16px;flex:none}
@media(max-width:680px){.ws-day-counts:has(.ws-work-kind){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}.ws-work-kind{flex-direction:column;gap:1px;padding:4px 2px;min-width:0;font-size:11px;white-space:normal}.ws-day-count-note{grid-column:1/-1}.ws-day-actions:has(.ws-work-refresh){gap:4px;justify-content:space-between}.ws-work-explanation{margin-top:6px}}

/* OS529: compact, explicit phase/material scope; no unverified completion bar. */
.ws-minimum header,.ws-minimum-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ws-minimum header{justify-content:space-between}.ws-minimum h2{font-size:14px;margin:0}
.ws-minimum-controls{margin:8px 0}.ws-minimum-controls select{flex:1;min-width:0;max-width:420px}
.ws-minimum .ps{margin:6px 0}.ws-minimum details,.ws-material-summary{font-size:12px;color:var(--text-2)}
.ws-material-summary{margin:8px 0}.ws-minimum summary,.ws-material-summary summary{cursor:pointer}
@media(max-width:600px){.ws-minimum-controls select{max-width:calc(100% - 50px)}.ws-minimum-controls .wp-link{width:100%;justify-content:center}}
.ws-minimum header .btn{width:28px;min-width:28px;height:28px;padding:5px}.ws-minimum header svg{display:block;width:16px;height:16px}.ws-minimum-controls select{font:inherit;border:1px solid var(--border);border-radius:6px;padding:5px 8px;background:var(--bg);color:var(--text)}

/* OS530: compact result-to-gate handoff and live source facts. */
.gs-picker{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0}.gs-picker label{font-size:12px}.gs-picker select{flex:1;min-width:150px;max-width:100%;font:inherit;padding:5px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text)}
.gs-error,.gs-warning{color:var(--warning,#a35c00)}.gs-valid{color:var(--success,#217644)}.gs-state{font-size:13px;font-weight:600;margin:8px 0}
.gs-file{display:flex;align-items:center;justify-content:space-between;gap:8px}.gs-file span{min-width:0;overflow-wrap:anywhere}.gs-file small{display:block;color:var(--text-2);font-size:11px}
.gs-source-row{display:flex;flex-direction:column;gap:3px;padding:8px 0;border-bottom:1px solid var(--border);color:inherit;text-decoration:none}.gs-source-row span{font-size:12px}
#evidence-task-source header .btn{width:28px;min-width:28px;height:28px;padding:5px}#evidence-task-source header svg{display:block;width:16px;height:16px}
@media(max-width:600px){.gs-picker select{flex-basis:100%}.gs-file{align-items:flex-start;flex-wrap:wrap}}

/* OS534: compact own-session inventory, no nested scrolling. */
.set-body .ws-sessions-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.set-body .ws-sessions-heading .set-h{margin:0}
.set-body .ws-sessions-caption,.set-body .ws-sessions-empty{font-size:12px;line-height:1.5;color:var(--text-2);margin:8px 0}
.set-body .ws-session-list{padding:0;margin:8px 0;list-style:none}
.set-body .ws-session-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line,var(--border))}
.set-body .ws-session-info{min-width:0}
.set-body .ws-session-name{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;overflow-wrap:anywhere}
.set-body .ws-session-current{font-size:11px;color:var(--text-2);border:1px solid var(--line,var(--border));border-radius:5px;padding:2px 5px}
.set-body .ws-session-dates{font-size:11px;line-height:1.5;color:var(--text-2);margin-top:3px}
.set-body .ws-session-dates span{display:block}
.set-body .ws-session-row>.btn{flex-shrink:0}
.set-body .ws-sessions-toolbar,.set-body .ws-sessions-pager{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;margin-top:8px;flex-wrap:wrap}
@media(max-width:600px){.set-body .ws-session-row{align-items:flex-start;gap:8px}.set-body .ws-session-row>.btn{min-height:36px}.set-body .ws-session-name{gap:4px}.set-body .ws-sessions-toolbar>.btn{min-height:36px}}
