@import url('./fonts/inter.css');
@import url('./workbench-tokens.css');
/* Opt-in profile. Existing .btn/.table/.track-web styles are untouched.
   Generic workbench classes use the wb- prefix; page-specific styles live next to each example. */
:where(.aham-workbench){display:grid;grid-template-columns:var(--wb-rail) minmax(0,1fr);height:100vh;height:100dvh;overflow:hidden;background:var(--wb-panel);color:var(--wb-ink);font:var(--wb-body)/1.55 var(--wb-font);font-feature-settings:var(--wb-font-features);text-align:start;color-scheme:light}
:where(.aham-workbench) *{box-sizing:border-box}
:where(.aham-workbench) [hidden]{display:none!important}
:where(.aham-workbench) :is(h1,h2,h3,p){margin:0}
:where(.aham-workbench) :is(button,input,textarea,select){font:inherit;color:inherit}
:where(.aham-workbench) button{cursor:pointer}
:where(.aham-workbench) :focus-visible{outline:2px solid var(--wb-blue);outline-offset:2px}
:where(.aham-workbench) [aria-invalid=true]{outline:2px solid var(--wb-danger);outline-offset:-2px}
:where(.aham-workbench) svg{width:var(--wb-s4);height:var(--wb-s4);flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
/* Shell: navigation sits on the panel tier; the content card is the white tier. No border, no resting shadow. */
:where(.aham-workbench) .wb-rail{display:flex;flex-direction:column;align-items:center;gap:var(--wb-s5);min-height:0;overflow-y:auto;padding:var(--wb-s4) var(--wb-s2);background:var(--wb-panel)}
:where(.aham-workbench) .wb-brand{display:grid;place-items:center;width:var(--wb-s6);height:var(--wb-s6);font-size:var(--wb-title);font-weight:600;color:var(--wb-blue)}
:where(.aham-workbench) .wb-nav-item{display:flex;align-items:center;justify-content:center;gap:var(--wb-s2);background:transparent;border:0;border-radius:var(--wb-radius);width:var(--wb-nav-item);height:var(--wb-nav-item);color:var(--wb-muted)}
:where(.aham-workbench) a.wb-nav-item{text-decoration:none}
:where(.aham-workbench) .wb-crumbs a{color:inherit;text-decoration:none}
:where(.aham-workbench) .wb-crumbs a:hover{color:var(--wb-ink);text-decoration:underline;text-underline-offset:3px}
:where(.aham-workbench) .wb-related a{color:inherit;text-decoration:none}
:where(.aham-workbench) .wb-related a:hover{text-decoration:underline;text-underline-offset:3px}
:where(.aham-workbench) .wb-nav-item[aria-current=page]{background:var(--wb-selected);color:var(--wb-ink)}
:where(.aham-workbench) .wb-nav-item span{display:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
:where(.aham-workbench) .wb-nav-group{display:grid;gap:var(--wb-s1)}
:where(.aham-workbench) .wb-nav-foot{margin-block-start:auto;padding-block-start:var(--wb-s5)}
:where(.aham-workbench) .wb-avatar{color:var(--wb-muted)}
:where(.aham-workbench).expanded{grid-template-columns:var(--wb-nav) minmax(0,1fr)}
:where(.aham-workbench).expanded .wb-rail{align-items:stretch}
:where(.aham-workbench).expanded .wb-nav-item{justify-content:start;width:100%;padding-inline:var(--wb-s2)}
:where(.aham-workbench).expanded .wb-nav-item span{display:inline}
:where(.aham-workbench) .wb-main{grid-column:2;display:flex;flex-direction:column;min-width:0;min-height:0;margin:var(--wb-gutter) var(--wb-gutter) var(--wb-gutter) 0;border-radius:var(--wb-shell-radius);background:var(--wb-bg);overflow:hidden}
:where(.aham-workbench) .wb-scrim{position:fixed;inset:0;z-index:var(--wb-z-scrim);background:var(--wb-scrim)}
/* Header: one or two 40px rows. Row 1 = where am I; row 2 = count, filter, panel toggles, display options. */
:where(.aham-workbench) .wb-header{flex:none}
:where(.aham-workbench) .wb-header-row{display:flex;align-items:center;justify-content:space-between;gap:var(--wb-s3);height:var(--wb-header-row);padding:0 var(--wb-s4);border-bottom:1px solid var(--wb-line);color:var(--wb-muted)}
:where(.aham-workbench) :is(.wb-header-lead,.wb-header-trail){display:flex;align-items:center;gap:var(--wb-s2);min-width:0}
:where(.aham-workbench) .wb-header-lead{flex:1}
:where(.aham-workbench) .wb-icon-btn{display:inline-grid;place-items:center;flex:none;width:var(--wb-header-control);height:var(--wb-header-control);padding:0;border:0;border-radius:var(--wb-radius);background:transparent;color:var(--wb-muted)}
:where(.aham-workbench) .wb-icon-btn:hover{background:var(--wb-panel);color:var(--wb-ink)}
:where(.aham-workbench) .wb-icon-btn[aria-pressed=true]{background:var(--wb-selected);color:var(--wb-ink)}
:where(.aham-workbench) .wb-crumbs{display:flex;align-items:center;gap:var(--wb-s3);min-width:0;overflow:hidden;white-space:nowrap}
:where(.aham-workbench) .wb-crumbs strong{font-weight:400;font-family:var(--wb-mono);font-feature-settings:normal}
:where(.aham-workbench) .wb-crumbs [aria-current=page]{color:var(--wb-ink)}
:where(.aham-workbench) .wb-count{color:var(--wb-muted);font-variant-numeric:tabular-nums}
:where(.aham-workbench) .wb-page-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:var(--wb-s3);padding:var(--wb-s4);border-bottom:1px solid var(--wb-line)}
:where(.aham-workbench) :is(.wb-page-head-lead,.wb-page-head-trail){display:flex;align-items:center;gap:var(--wb-s3);flex-wrap:wrap}
:where(.aham-workbench) h1{font-size:var(--wb-title);font-weight:500}
:where(.aham-workbench) :is(h2,h3){font-size:var(--wb-body);font-weight:600}
:where(.aham-workbench) .wb-status{display:inline-flex;align-items:center;gap:var(--wb-dot);color:var(--wb-ink);white-space:nowrap}
:where(.aham-workbench) .wb-status b{width:var(--wb-dot);height:var(--wb-dot);border-radius:50%;background:var(--wb-muted)}
/* Risk (WORKBENCH §1.2): the status dot stays gray; a real risk is a separate line or value in the semantic text colour,
   with an icon (outside table cells) and words that say what is wrong. Warning text reaches 4.5:1 only on the white tier,
   so on panel surfaces the words turn ink and only the icon keeps the warning colour. */
:where(.aham-workbench) .wb-risk{display:inline-flex;align-items:center;gap:var(--wb-s1);color:var(--wb-danger)}
:where(.aham-workbench) .wb-risk.warning{color:var(--wb-warning)}
:where(.aham-workbench) .wb-risk svg{width:var(--wb-s3);height:var(--wb-s3)}
:where(.aham-workbench) :is(.wb-context,.wb-comment,.wb-ai,.wb-composer,.wb-doc-group) .wb-risk.warning{color:var(--wb-ink)}
:where(.aham-workbench) :is(.wb-context,.wb-comment,.wb-ai,.wb-composer,.wb-doc-group) .wb-risk.warning svg{color:var(--wb-warning)}
:where(.aham-workbench) :is(.wb-meta,.wb-crumbs-meta){color:var(--wb-muted)}
:where(.aham-workbench) .wb-mono{font-family:var(--wb-mono);font-feature-settings:normal}
:where(.aham-workbench) .wb-note{display:block;color:var(--wb-muted);margin-block-start:var(--wb-s5)}
:where(.aham-workbench) .wb-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--wb-s2);border:0;border-radius:var(--wb-radius);background:var(--wb-bg);box-shadow:inset 0 0 0 1px var(--wb-line);height:var(--wb-control);padding:0 var(--wb-s3);white-space:nowrap}
:where(.aham-workbench) .wb-btn.sm{height:var(--wb-header-control);padding:0 var(--wb-s2)}
:where(.aham-workbench) .wb-btn:hover{background:var(--wb-hover)}
:where(.aham-workbench) .wb-btn.ghost{background:transparent;box-shadow:none;color:var(--wb-muted)}
:where(.aham-workbench) .wb-btn.ghost:hover{background:var(--wb-panel);color:var(--wb-ink)}
:where(.aham-workbench) .wb-btn.ghost[aria-pressed=true]{background:var(--wb-selected);color:var(--wb-ink)}
:where(.aham-workbench) .wb-btn.primary{background:var(--wb-action);box-shadow:none;color:var(--wb-on)}
:where(.aham-workbench) .wb-btn.primary:hover{background:var(--wb-action-hover)}
:where(.aham-workbench) button:disabled{opacity:.4;cursor:not-allowed}
/* Scroll areas: header rows stay put, the body scrolls. Side panels scroll on their own. */
:where(.aham-workbench) .wb-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) auto}
:where(.aham-workbench) .wb-layout>.wb-document{min-height:0;overflow:auto}
:where(.aham-workbench) .wb-document{min-width:0;padding:var(--wb-s4)}
:where(.aham-workbench) .wb-panel{width:var(--wb-panel-narrow);min-width:0;min-height:0;overflow:auto;background:var(--wb-bg);border-inline-start:1px solid var(--wb-line)}
:where(.aham-workbench) .wb-panel[data-size=wide]{width:var(--wb-panel-wide)}
:where(.aham-workbench) .wb-peek{display:grid;align-content:start;gap:var(--wb-s3);padding:var(--wb-s4)}
:where(.aham-workbench) .wb-peek h2{font-size:var(--wb-title);font-weight:500}
:where(.aham-workbench) .wb-section-head{display:flex;align-items:center;justify-content:space-between;margin-block-end:var(--wb-s3);gap:var(--wb-s2)}
:where(.aham-workbench) .wb-section-head>span{color:var(--wb-muted)}
:where(.aham-workbench) .wb-link{border:0;background:transparent;color:var(--wb-muted);padding:var(--wb-s1);min-height:var(--wb-s6)}
:where(.aham-workbench) .wb-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--wb-s2) var(--wb-s4);margin-block-end:var(--wb-s5)}
:where(.aham-workbench) .wb-fields label{display:grid;grid-template-columns:var(--wb-label) minmax(0,1fr);align-items:center;gap:var(--wb-s2);min-width:0}
:where(.aham-workbench) .wb-fields label>span{color:var(--wb-muted);white-space:nowrap}
:where(.aham-workbench) .wb-fields input{height:var(--wb-field);width:100%;min-width:0;padding:0;border:0;background:transparent;border-radius:var(--wb-radius-sm);text-overflow:ellipsis}
:where(.aham-workbench) .wb-fields input:not([readonly]){background:var(--wb-panel);padding-inline:var(--wb-s1)}
:where(.aham-workbench) .wb-tabs-bar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--wb-line);gap:var(--wb-s2)}
:where(.aham-workbench) .wb-tabs{display:flex;gap:var(--wb-s5)}
:where(.aham-workbench) .wb-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;padding:var(--wb-s2) 0;color:var(--wb-muted);white-space:nowrap}
:where(.aham-workbench) .wb-tabs button.active{color:var(--wb-ink);border-bottom-color:var(--wb-blue)}
:where(.aham-workbench) .wb-seg{display:flex;gap:var(--wb-s1);background:var(--wb-panel);padding:var(--wb-s1);border-radius:var(--wb-radius)}
:where(.aham-workbench) .wb-seg button{background:transparent;border:0;border-radius:var(--wb-radius-sm);padding:var(--wb-s1) var(--wb-s2);color:var(--wb-muted)}
:where(.aham-workbench) .wb-seg button[aria-pressed=true]{background:var(--wb-selected);color:var(--wb-ink);font-weight:500}
:where(.aham-workbench) .wb-seg.sm{height:var(--wb-header-control);padding:0;gap:0}
:where(.aham-workbench) .wb-seg.sm button{height:100%;padding:0 var(--wb-s2)}
:where(.aham-workbench) .wb-seg button{white-space:nowrap}
:where(.aham-workbench) .wb-toolbar{display:flex;justify-content:space-between;align-items:center;padding:var(--wb-s2) 0;color:var(--wb-muted);gap:var(--wb-s2)}
:where(.aham-workbench) .wb-sep{padding-inline:var(--wb-s2)}
:where(.aham-workbench) .wb-find{display:flex;align-items:center;gap:var(--wb-s2);max-width:40%}
:where(.aham-workbench) .wb-find input{background:transparent;width:100%;min-width:0;border:0;padding:var(--wb-s1)}
/* position:relative keeps visually hidden text inside table cells within the scroll area. */
:where(.aham-workbench) .wb-table-scroll{position:relative;overflow-x:auto;max-width:100%}
:where(.aham-workbench) .wb-table{width:100%;min-width:var(--wb-table-min);border-collapse:collapse;table-layout:fixed}
:where(.aham-workbench) .wb-table th{font-weight:500;color:var(--wb-muted);text-align:start;background:var(--wb-bg);height:var(--wb-row);white-space:nowrap}
:where(.aham-workbench) .wb-table :is(th,td){padding:0 var(--wb-s2);border-bottom:1px solid var(--wb-line)}
:where(.aham-workbench) .wb-table td{height:var(--wb-row);vertical-align:middle;white-space:nowrap}
:where(.aham-workbench) .wb-table tr:hover td{background:var(--wb-panel)}
:where(.aham-workbench) .wb-table .number{text-align:end;font-family:var(--wb-mono);font-feature-settings:normal;font-variant-numeric:tabular-nums}
:where(.aham-workbench) .wb-table th.number{font-family:var(--wb-font);font-feature-settings:var(--wb-font-features)}
:where(.aham-workbench) .wb-cell-title{display:block;overflow:hidden;text-overflow:ellipsis}
:where(.aham-workbench) .wb-cell-sub{display:none;color:var(--wb-muted);font-family:var(--wb-mono);font-feature-settings:normal}
:where(.aham-workbench) .wb-table input{display:block;text-align:end;font-family:var(--wb-mono);font-feature-settings:normal;border:1px solid transparent;border-radius:var(--wb-radius-sm);width:100%;height:var(--wb-field);padding:0 var(--wb-s1);background:transparent;appearance:textfield}
:where(.aham-workbench) .wb-table input::-webkit-inner-spin-button{appearance:none}
:where(.aham-workbench) .wb-table input:hover{background:var(--wb-bg);border-color:var(--wb-line)}
:where(.aham-workbench) .wb-table tfoot td{height:var(--wb-header-row);font-weight:500;border-bottom:0}
:where(.aham-workbench) .wb-table-hint{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--wb-s2);color:var(--wb-muted);padding:var(--wb-s1) 0 var(--wb-s4)}
:where(.aham-workbench) .wb-doc-notes{border-top:1px solid var(--wb-line);padding-block-start:var(--wb-s4);display:grid;grid-template-columns:1fr 1fr;gap:var(--wb-s5)}
:where(.aham-workbench) dl{margin:var(--wb-s3) 0 0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--wb-s2) var(--wb-s3)}
:where(.aham-workbench) dt{color:var(--wb-muted)}
:where(.aham-workbench) dd{margin:0}
:where(.aham-workbench) textarea{display:block;resize:vertical;min-height:var(--wb-s8);width:100%;border:0;background:var(--wb-panel);border-radius:var(--wb-radius);padding:var(--wb-s2);margin-block-start:var(--wb-s2);line-height:1.75}
:where(.aham-workbench) .wb-context{background:var(--wb-panel);padding:var(--wb-s4);min-width:0;border-inline-start:0}
:where(.aham-workbench) .wb-context>section{padding-block-end:var(--wb-s5);margin-block-end:var(--wb-s5);border-bottom:1px solid var(--wb-line)}
:where(.aham-workbench) .wb-context>section:last-child{border:0;padding:0;margin:0}
:where(.aham-workbench) .wb-total-label{color:var(--wb-muted);margin:var(--wb-s4) 0 var(--wb-s2)}
:where(.aham-workbench) .wb-total{font:500 var(--wb-total)/1.4 var(--wb-mono);overflow-wrap:anywhere}
:where(.aham-workbench) .wb-context dd{text-align:end;font-family:var(--wb-mono);font-feature-settings:normal}
:where(.aham-workbench) :is(.wb-summary-foot,.wb-payment>div){display:flex;align-items:center;justify-content:space-between;gap:var(--wb-s2);margin-block-start:var(--wb-s3)}
:where(.aham-workbench) .wb-summary-foot{color:var(--wb-muted)}
:where(.aham-workbench) small{font-size:inherit;color:var(--wb-muted)}
:where(.aham-workbench) .wb-payment strong{font-family:var(--wb-mono);font-feature-settings:normal;font-weight:400}
:where(.aham-workbench) .wb-approval ol{list-style:none;margin:var(--wb-s3) 0 0;padding:0}
:where(.aham-workbench) .wb-approval li{display:flex;gap:var(--wb-s3);padding-block-end:var(--wb-s4)}
:where(.aham-workbench) .wb-step-dot{width:var(--wb-dot);height:var(--wb-dot);border:1px solid var(--wb-muted);border-radius:50%;margin-block-start:var(--wb-s2);flex:none}
:where(.aham-workbench) .wb-approval .done .wb-step-dot{background:var(--wb-muted)}
:where(.aham-workbench) .wb-approval small{display:block}
:where(.aham-workbench) .wb-history p{margin-block-start:var(--wb-s3)}
:where(.aham-workbench) .wb-history>span{display:block;color:var(--wb-muted)}
:where(.aham-workbench) .wb-feedback:not(:empty){margin-block-start:var(--wb-s3);padding:var(--wb-s2) var(--wb-s3);background:var(--wb-panel);border-radius:var(--wb-radius)}
:where(.aham-workbench)[data-density=compact]{--wb-body:var(--wb-body-dense)}
:where(.aham-workbench)[data-density=detail]{--wb-row:var(--wb-row-detail)}
:where(.aham-workbench)[data-density=detail] .wb-cell-sub{display:block}
:where(.aham-workbench)[data-density=detail] .wb-fields input{height:var(--wb-control)}
/* Utilities */
:where(.aham-workbench).wb-bare{display:block;height:auto;overflow:visible;background:var(--wb-bg)}
:where(.aham-workbench) .wb-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* .outline is kept for 7.2.0 markup; it now looks the same as the default secondary button. */
:where(.aham-workbench) .wb-btn.icon-only{padding:0;width:var(--wb-header-control)}
:where(.aham-workbench) .wb-btn{position:relative}
:where(.aham-workbench) .wb-dot{position:absolute;top:var(--wb-s1);right:var(--wb-s1);width:var(--wb-dot);height:var(--wb-dot);border-radius:50%;background:var(--wb-ink)}
:where(.aham-workbench) .wb-input{height:var(--wb-header-control);min-width:0;padding:0 var(--wb-s2);border:0;border-radius:var(--wb-radius);background:var(--wb-hover)}
:where(.aham-workbench) .wb-select{height:var(--wb-header-control);padding:0 var(--wb-s2);border:0;border-radius:var(--wb-radius);background:var(--wb-hover);color:var(--wb-ink)}

/* Popover (workbench): hairline border + one soft shadow. The border is added to the base popover contract because a
   white popover over a white, dense list is not distinguishable by a 6% shadow alone. */
:where(.aham-workbench) .wb-popover{position:fixed;z-index:var(--wb-z-pop);min-width:var(--wb-pop-min);max-width:min(var(--wb-pop-max),calc(100vw - var(--wb-s4)));max-height:calc(100vh - var(--wb-s6));overflow:auto;padding:var(--wb-s1);border-radius:var(--wb-radius);background:var(--wb-pop-bg);box-shadow:0 0 0 1px var(--wb-line),var(--wb-shadow-pop);color:var(--wb-ink);font-size:var(--wb-text-sm)}
:where(.aham-workbench) .wb-popover.flush{padding:0}
:where(.aham-workbench) .wb-popover.form{width:var(--wb-pop-form);padding:0}

/* Command menu (cmdk pattern): search input, listbox, highlight follows ↑↓ and the pointer. Reused by filters,
   property pickers and the command palette. */
:where(.aham-workbench) .wb-command{display:flex;flex-direction:column;min-width:var(--wb-pop-min)}
:where(.aham-workbench) .wb-command-input{display:flex;align-items:center;gap:var(--wb-s2);height:var(--wb-command-input);padding:0 var(--wb-s3);border-bottom:1px solid var(--wb-line);color:var(--wb-muted)}
:where(.aham-workbench) .wb-command-input input{flex:1;min-width:0;height:100%;padding:0;border:0;background:transparent;color:var(--wb-ink);outline:0}
:where(.aham-workbench) .wb-command-list{max-height:300px;overflow-y:auto;margin:0;padding:var(--wb-s1);list-style:none;outline:0}
:where(.aham-workbench) .wb-command-list [data-index]{display:flex;align-items:center;gap:var(--wb-s2);min-height:var(--wb-nav-item);padding:0 var(--wb-s2);border-radius:var(--wb-radius-sm);cursor:default;user-select:none;white-space:nowrap}
:where(.aham-workbench) .wb-command-list [data-index][data-active]{background:var(--wb-hover)}
:where(.aham-workbench) .wb-command-list [data-index]>svg{color:var(--wb-muted)}
:where(.aham-workbench) .wb-command-list [data-index]>svg:last-child:not(:first-child){margin-inline-start:auto;visibility:hidden}
:where(.aham-workbench) .wb-command-list [data-index][data-active]>svg:last-child:not(:first-child){visibility:visible}
:where(.aham-workbench) .wb-command-list [aria-current=true]{font-weight:500}
:where(.aham-workbench) .wb-command-gap{flex:none;width:var(--wb-s4)}
:where(.aham-workbench) .wb-command-label{display:inline-flex;align-items:center;gap:var(--wb-s1);min-width:0}
:where(.aham-workbench) .wb-command-label svg{width:var(--wb-s3);height:var(--wb-s3);color:var(--wb-muted)}
:where(.aham-workbench) .wb-command-prefix{color:var(--wb-muted)}
:where(.aham-workbench) .wb-command-count{margin-inline-start:2px;color:var(--wb-muted);font-size:var(--wb-body);font-variant-numeric:tabular-nums}
:where(.aham-workbench) .wb-command-check{display:inline-grid;place-items:center;flex:none;width:14px;height:14px;border:1px solid var(--wb-muted);border-radius:var(--wb-radius-sm);color:var(--wb-on);opacity:0}
:where(.aham-workbench) .wb-command-check svg{width:10px;height:10px;stroke-width:2.5}
:where(.aham-workbench) [data-index][data-active] .wb-command-check,:where(.aham-workbench) [aria-checked=true] .wb-command-check{opacity:1}
:where(.aham-workbench) [aria-checked=true] .wb-command-check{border-color:var(--wb-ink);background:var(--wb-ink)}
:where(.aham-workbench) .wb-command-sep{height:1px;margin:var(--wb-s1) calc(-1 * var(--wb-s1));background:var(--wb-line)}
:where(.aham-workbench) .wb-command-empty{padding:var(--wb-s5) var(--wb-s3);text-align:center;color:var(--wb-muted)}
:where(.aham-workbench) .wb-command-head{display:flex;align-items:center;gap:var(--wb-s1);min-height:var(--wb-command-input);padding:0 var(--wb-s2);border-bottom:1px solid var(--wb-line);font-weight:500}
:where(.aham-workbench) .wb-value-editor{gap:var(--wb-s3);padding-bottom:var(--wb-s3);min-width:280px}
:where(.aham-workbench) .wb-value-editor>.wb-seg{margin:0 var(--wb-s3);align-self:flex-start}
:where(.aham-workbench) .wb-value-inputs{display:flex;align-items:center;gap:var(--wb-s2);padding:0 var(--wb-s3)}
:where(.aham-workbench) .wb-value-inputs .wb-input{flex:1}
:where(.aham-workbench) .wb-value-error{margin:0 var(--wb-s3);color:var(--wb-danger)}
:where(.aham-workbench) .wb-value-error:empty{display:none}

/* List page (7.2 P2): filter row, grouped table with sticky headers, bulk mode, pager. */
:where(.aham-workbench) .wb-list{display:flex;flex-direction:column;min-width:0;min-height:0}
:where(.aham-workbench) .wb-list-scroll{flex:1;min-height:0;overflow:auto}
:where(.aham-workbench) .wb-list>.wb-feedback:not(:empty){margin:var(--wb-s2) var(--wb-s4) 0}
:where(.aham-workbench) .wb-list-scroll>.wb-note{margin:var(--wb-s4)}
:where(.aham-workbench) .wb-filter-bar{flex:none;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--wb-s2);padding:var(--wb-s2) var(--wb-s4);border-bottom:1px solid var(--wb-line)}
:where(.aham-workbench) .wb-filter-chips{display:flex;flex-wrap:wrap;gap:var(--wb-s2);min-width:0}
:where(.aham-workbench) .wb-chip{display:inline-flex;align-items:stretch;max-width:100%;height:var(--wb-header-control);border-radius:var(--wb-radius-pill);background:var(--wb-bg);box-shadow:inset 0 0 0 1px var(--wb-line)}
:where(.aham-workbench) .wb-chip>*{display:inline-flex;align-items:center;gap:var(--wb-s1);min-width:0;padding:0 var(--wb-s2);border:0;background:transparent;white-space:nowrap}
:where(.aham-workbench) .wb-chip>*+*{box-shadow:inset 1px 0 0 var(--wb-line)}
:where(.aham-workbench) .wb-chip>button:hover{background:var(--wb-hover)}
:where(.aham-workbench) .wb-chip-field{font-weight:500}
:where(.aham-workbench) .wb-chip-op{color:var(--wb-muted)}
:where(.aham-workbench) .wb-chip-value span{overflow:hidden;text-overflow:ellipsis;max-width:240px}
:where(.aham-workbench) .wb-chip-remove{justify-content:center;width:var(--wb-header-control);padding:0;color:var(--wb-muted)}
:where(.aham-workbench) .wb-toggle-chips{display:flex;flex-wrap:wrap;gap:var(--wb-s1)}
:where(.aham-workbench) .wb-toggle-chip{height:var(--wb-s5);padding:0 var(--wb-s2);border:0;border-radius:var(--wb-radius-pill);background:transparent;box-shadow:inset 0 0 0 1px var(--wb-line);color:var(--wb-muted);font-size:var(--wb-body)}
:where(.aham-workbench) .wb-toggle-chip[aria-pressed=true]{background:var(--wb-selected);box-shadow:none;color:var(--wb-ink)}
/* List rows: header, group rows and data rows share one height (DESIGN §8.13); the header has no fill of its own (DESIGN §0) and
   uses the content surface only so that it covers rows scrolling beneath it. */
:where(.aham-workbench) .wb-list-table{--wb-list-row:var(--wb-row-list)}
:where(.aham-workbench) .wb-list[data-list-density=compact] .wb-list-table{--wb-list-row:var(--wb-row)}
:where(.aham-workbench) .wb-list-table thead th{position:sticky;top:0;z-index:2;height:var(--wb-list-row)}
:where(.aham-workbench) .wb-list-table td{height:var(--wb-list-row)}
:where(.aham-workbench) .wb-list-table tr[data-selected] td{background:var(--wb-selected)}
:where(.aham-workbench) .wb-list-table :is(th,td).wb-check{padding:0;text-align:center}
:where(.aham-workbench) .wb-check-hit{display:grid;place-items:center;min-height:calc(var(--wb-row) - 1px);cursor:pointer}
:where(.aham-workbench) .wb-list-table input[type=checkbox]{display:inline-block;width:auto;height:auto;margin:0;padding:0;border:0;appearance:auto;accent-color:var(--wb-ink);vertical-align:middle}
:where(.aham-workbench) .wb-group-head th{position:sticky;top:var(--wb-list-row);z-index:1;height:var(--wb-list-row);background:var(--wb-bg);color:var(--wb-ink);font-weight:500}
:where(.aham-workbench) .wb-group-toggle{display:inline-flex;align-items:center;gap:var(--wb-s2);height:var(--wb-header-control);padding:0 var(--wb-s1);border:0;border-radius:var(--wb-radius);background:transparent;font-weight:500}
:where(.aham-workbench) .wb-group-toggle:hover{background:var(--wb-hover)}
:where(.aham-workbench) .wb-group-toggle svg{transition:transform var(--wb-fast) var(--wb-ease)}
:where(.aham-workbench) .wb-group-toggle[aria-expanded=false] svg{transform:rotate(-90deg)}
:where(.aham-workbench) .wb-group-count{color:var(--wb-muted);font-weight:400;font-variant-numeric:tabular-nums}
:where(.aham-workbench) .wb-sort{display:inline-flex;align-items:center;gap:var(--wb-s1);max-width:100%;height:100%;padding:0;border:0;background:transparent;font-weight:inherit;color:inherit}
:where(.aham-workbench) .wb-sort svg{width:var(--wb-s3);height:var(--wb-s3)}
:where(.aham-workbench) .wb-row-link{display:block;max-width:100%;padding:0;border:0;background:transparent;text-align:start;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:where(.aham-workbench) .wb-row-link:hover{text-decoration:underline;text-underline-offset:3px}
:where(.aham-workbench) .wb-empty{display:grid;justify-items:start;gap:var(--wb-s2);padding:var(--wb-s7) var(--wb-s4)}
:where(.aham-workbench) .wb-empty strong{font-size:var(--wb-text-base);font-weight:500}
:where(.aham-workbench) .wb-empty p{color:var(--wb-muted)}
:where(.aham-workbench) .wb-empty>div{display:flex;flex-wrap:wrap;gap:var(--wb-s2)}
:where(.aham-workbench) .wb-pager{flex:none;display:flex;align-items:center;justify-content:space-between;gap:var(--wb-s3);min-height:var(--wb-header-row);padding:0 var(--wb-s4);border-top:1px solid var(--wb-line);color:var(--wb-muted);font-variant-numeric:tabular-nums}
:where(.aham-workbench) .wb-pager>div{display:flex;align-items:center;gap:var(--wb-s2)}
:where(.aham-workbench) .wb-bulk-count{color:var(--wb-ink);font-variant-numeric:tabular-nums}
:where(.aham-workbench) .wb-btn.danger{background:var(--wb-bg);color:var(--wb-danger);box-shadow:inset 0 0 0 1px var(--wb-line)}
:where(.aham-workbench) .wb-btn.danger:hover{background:var(--wb-danger-bg)}
:where(.aham-workbench) .wb-btn.ghost.danger{background:transparent;color:var(--wb-danger);box-shadow:none}
:where(.aham-workbench) .wb-btn.ghost.danger:hover{background:var(--wb-hover)}
:where(.aham-workbench) .wb-search{display:flex;align-items:center;gap:var(--wb-s1);width:var(--wb-search-width);height:var(--wb-header-control);padding:0 var(--wb-s2);border-radius:var(--wb-radius);background:var(--wb-hover)}
:where(.aham-workbench) .wb-search input{flex:1;min-width:0;height:100%;padding:0;border:0;background:transparent}

/* List keyboard focus (7.2 P3): one row is in the tab order; ↑↓ move it, Space previews, Enter opens. */
:where(.aham-workbench) :is(.wb-list-table,.wb-tree-table) tbody tr[data-id]{outline:0}
:where(.aham-workbench) :is(.wb-list-table,.wb-tree-table) tbody tr[data-id]:focus-visible td{background:var(--wb-hover);box-shadow:inset 0 1px 0 var(--wb-blue),inset 0 -1px 0 var(--wb-blue)}
:where(.aham-workbench) :is(.wb-list-table,.wb-tree-table) tbody tr[data-id]:focus-visible td:first-child{box-shadow:inset 2px 0 0 var(--wb-blue),inset 0 1px 0 var(--wb-blue),inset 0 -1px 0 var(--wb-blue)}
:where(.aham-workbench) .wb-list-table tbody tr[data-previewing] td{background:var(--wb-hover)}

/* Record detail (7.2 P3): centred reading column + properties panel, as in Circle's issue page. */
:where(.aham-workbench) .wb-record-nav{display:flex;align-items:center;gap:var(--wb-s1);color:var(--wb-muted);font-variant-numeric:tabular-nums}
:where(.aham-workbench) .wb-record-nav>span{margin-inline-end:var(--wb-s1)}
:where(.aham-workbench) .wb-detail{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) auto}
:where(.aham-workbench) .wb-detail-scroll{min-height:0;overflow-y:auto}
:where(.aham-workbench) .wb-detail-main{max-width:var(--wb-detail-width);margin:0 auto;padding:var(--wb-s6)}
:where(.aham-workbench) .wb-detail-title{font-size:var(--wb-detail-title);font-weight:500;line-height:1.35}
:where(.aham-workbench) .wb-detail-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--wb-s3);margin-block-start:var(--wb-s2);color:var(--wb-muted)}
:where(.aham-workbench) .wb-detail-body{margin-block-start:var(--wb-s5);line-height:1.75}
:where(.aham-workbench) .wb-detail-body p+p{margin-block-start:var(--wb-s2)}
:where(.aham-workbench) .wb-detail-section{margin-block-start:var(--wb-s6)}
:where(.aham-workbench) .wb-section-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--wb-s2);margin-block-end:var(--wb-s2)}
:where(.aham-workbench) .wb-section-heading h2{font-size:var(--wb-text-sm);font-weight:500}
:where(.aham-workbench) .wb-section-heading h2 span{margin-inline-start:var(--wb-s1);color:var(--wb-muted);font-weight:400;font-variant-numeric:tabular-nums}
:where(.aham-workbench) .wb-related{margin:0;padding:0;list-style:none;border-top:1px solid var(--wb-line)}
:where(.aham-workbench) .wb-related li{display:flex;align-items:center;gap:var(--wb-s3);min-height:var(--wb-row-list);padding:0 var(--wb-s1);border-bottom:1px solid var(--wb-line)}
:where(.aham-workbench) .wb-related li:hover{background:var(--wb-hover)}
:where(.aham-workbench) .wb-related .wb-mono{flex:none;color:var(--wb-muted)}
:where(.aham-workbench) .wb-related .wb-grow{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:where(.aham-workbench) .wb-divider{height:1px;margin-block:var(--wb-s6) 0;border:0;background:var(--wb-line)}

/* Properties panel: label + value rows (Aham keeps labels; Circle's project panel uses the same row form). */
:where(.aham-workbench) .wb-props{display:grid;align-content:start;gap:var(--wb-s5);padding:var(--wb-s5) var(--wb-s4)}
:where(.aham-workbench) .wb-props-section{display:grid;gap:var(--wb-s1)}
:where(.aham-workbench) .wb-props-title{margin-block-end:var(--wb-s1);color:var(--wb-muted);font-weight:500}
:where(.aham-workbench) .wb-prop{display:grid;grid-template-columns:var(--wb-label) minmax(0,1fr);align-items:center;gap:var(--wb-s2);min-height:var(--wb-header-control)}
:where(.aham-workbench) .wb-prop>span:first-child{color:var(--wb-muted);white-space:nowrap}
:where(.aham-workbench) .wb-prop-value{display:flex;align-items:center;gap:var(--wb-s1);min-width:0;min-height:var(--wb-header-control);padding:0 var(--wb-s1);margin-inline-start:calc(-1 * var(--wb-s1));border:0;border-radius:var(--wb-radius);background:transparent;text-align:start;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:where(.aham-workbench) button.wb-prop-value:hover{background:var(--wb-hover)}
:where(.aham-workbench) .wb-prop-value.is-empty{color:var(--wb-muted)}

/* Activity feed: events as quiet lines with a 20px icon disc; comments on the panel tier; composer sends with ⌘/Ctrl+Enter. */
:where(.aham-workbench) .wb-activity{display:grid}
:where(.aham-workbench) .wb-activity-event{display:flex;align-items:center;gap:var(--wb-s2);padding-block:var(--wb-s1);color:var(--wb-muted)}
:where(.aham-workbench) .wb-activity-event strong{color:var(--wb-ink);font-weight:500}
:where(.aham-workbench) .wb-activity-icon{display:inline-grid;place-items:center;flex:none;width:var(--wb-activity-icon);height:var(--wb-activity-icon);border-radius:50%;background:var(--wb-panel);color:var(--wb-muted)}
:where(.aham-workbench) .wb-activity-icon svg{width:var(--wb-s3);height:var(--wb-s3)}
:where(.aham-workbench) .wb-activity-time{flex:none}
:where(.aham-workbench) .wb-comment{margin-block:var(--wb-s2);padding:var(--wb-s3);border-radius:var(--wb-radius);background:var(--wb-panel)}
:where(.aham-workbench) .wb-comment-head{display:flex;align-items:center;gap:var(--wb-s2);margin-block-end:var(--wb-s1)}
:where(.aham-workbench) .wb-comment-head strong{font-weight:500}
:where(.aham-workbench) .wb-comment-head span:last-child{color:var(--wb-muted)}
:where(.aham-workbench) .wb-comment p{line-height:1.75}
:where(.aham-workbench) .wb-avatar-xs{display:inline-grid;place-items:center;flex:none;width:var(--wb-activity-icon);height:var(--wb-activity-icon);border-radius:50%;background:var(--wb-selected);color:var(--wb-ink);font-size:var(--wb-body)}
:where(.aham-workbench) .wb-composer{display:grid;gap:var(--wb-s2);margin-block-start:var(--wb-s3);padding:var(--wb-s3);border-radius:var(--wb-radius);background:var(--wb-panel)}
:where(.aham-workbench) .wb-composer textarea{display:block;width:100%;min-height:var(--wb-s7);margin:0;padding:0;border:0;background:transparent;resize:vertical;line-height:1.75}
:where(.aham-workbench) .wb-composer textarea:focus-visible{outline:0}
:where(.aham-workbench) .wb-composer:focus-within{box-shadow:0 0 0 2px var(--wb-blue)}
:where(.aham-workbench) .wb-composer-foot>span:first-child{margin-inline-end:auto}
:where(.aham-workbench) .wb-composer-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--wb-s2);color:var(--wb-muted)}

/* Interaction primitives (7.2 P4): headings and key hints in command lists, palette, context menu, toast, create dialog. */
:where(.aham-workbench) .wb-command-heading{padding:var(--wb-s2) var(--wb-s2) var(--wb-s1);color:var(--wb-muted);font-size:var(--wb-body);font-weight:500}
:where(.aham-workbench) .wb-command-list [data-index].is-danger{color:var(--wb-danger)}
:where(.aham-workbench) .wb-command-list [data-index].is-danger>svg{color:var(--wb-danger)}
:where(.aham-workbench) .wb-kbd-group{display:inline-flex;gap:var(--wb-s1);margin-inline-start:auto;padding-inline-start:var(--wb-s3)}
:where(.aham-workbench) .wb-kbd-group+svg{margin-inline-start:var(--wb-s2)!important}
:where(.aham-workbench) .wb-kbd{display:inline-grid;place-items:center;min-width:var(--wb-kbd);height:var(--wb-kbd);padding:0 var(--wb-s1);border-radius:var(--wb-radius-sm);background:var(--wb-bg);box-shadow:inset 0 0 0 1px var(--wb-line);color:var(--wb-muted);font:inherit;font-size:var(--wb-body)}
:where(.aham-workbench) .wb-popover.menu{width:var(--wb-menu-width)}
:where(.aham-workbench) .wb-palette,:where(.aham-workbench) .wb-create{width:min(var(--wb-overlay-width),calc(100vw - var(--wb-s6)));max-height:calc(100vh - var(--wb-palette-top) - var(--wb-s5));margin:var(--wb-palette-top) auto 0;padding:0;border:0;border-radius:var(--wb-radius-lg);background:var(--wb-pop-bg);color:var(--wb-ink);box-shadow:0 0 0 1px var(--wb-line),var(--wb-shadow-float);overflow:hidden}
:where(.aham-workbench) .wb-create{margin-top:var(--wb-create-top)}
:where(.aham-workbench) :is(.wb-palette,.wb-create)::backdrop{background:var(--wb-scrim,rgba(20,20,20,.28))}
:where(.aham-workbench) .wb-palette .wb-command-input{height:var(--wb-palette-input);padding:0 var(--wb-s4)}
:where(.aham-workbench) .wb-palette .wb-command-input input{font-size:var(--wb-text-base)}
:where(.aham-workbench) .wb-palette .wb-command-list{max-height:384px;padding:var(--wb-s2)}
:where(.aham-workbench) .wb-palette .wb-command-list [data-index]{min-height:var(--wb-palette-item);font-size:var(--wb-text-sm)}
:where(.aham-workbench) .wb-palette-context{padding:var(--wb-s3) var(--wb-s3) 0}
:where(.aham-workbench) .wb-palette-chip{display:inline-flex;align-items:center;gap:var(--wb-s1);max-width:100%;height:var(--wb-header-control);padding:0 var(--wb-s1) 0 var(--wb-s2);border-radius:var(--wb-radius);background:var(--wb-hover)}
:where(.aham-workbench) .wb-palette-chip>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:where(.aham-workbench) .wb-palette-chip button{display:inline-grid;place-items:center;width:var(--wb-s5);height:var(--wb-s5);padding:0;border:0;border-radius:var(--wb-radius-sm);background:transparent;color:var(--wb-muted)}
:where(.aham-workbench) .wb-toasts{position:fixed;right:var(--wb-s4);bottom:var(--wb-s4);z-index:var(--wb-z-toast);display:grid;gap:var(--wb-s2);width:min(var(--wb-toast-width),calc(100vw - var(--wb-s6)))}
:where(.aham-workbench) .wb-toast{display:flex;align-items:center;justify-content:space-between;gap:var(--wb-s3);min-height:var(--wb-header-row);padding:var(--wb-s2) var(--wb-s2) var(--wb-s2) var(--wb-s3);border-radius:var(--wb-radius);background:var(--wb-pop-bg);box-shadow:0 0 0 1px var(--wb-line),var(--wb-shadow-pop);color:var(--wb-ink)}
:where(.aham-workbench) .wb-create form{display:grid}
:where(.aham-workbench) .wb-create-head{display:flex;align-items:center;gap:var(--wb-s1);padding:var(--wb-s3) var(--wb-s4) 0;color:var(--wb-muted)}
:where(.aham-workbench) .wb-create-head svg{width:var(--wb-s3);height:var(--wb-s3)}
:where(.aham-workbench) .wb-create-scope{padding:0 var(--wb-s2);border-radius:var(--wb-radius-sm);background:var(--wb-hover);color:var(--wb-ink)}
:where(.aham-workbench) .wb-create-name{margin:var(--wb-s3) var(--wb-s4) 0;padding:0;border:0;background:transparent;font-size:var(--wb-title);font-weight:500;outline:0}
:where(.aham-workbench) .wb-create-name[aria-invalid=true]{outline:0;box-shadow:inset 0 -1px 0 var(--wb-danger)}
:where(.aham-workbench) .wb-create>form>.wb-value-error{margin:var(--wb-s1) var(--wb-s4) 0}
:where(.aham-workbench) .wb-create-desc{min-height:var(--wb-s8);margin:var(--wb-s2) var(--wb-s4) 0;padding:0;border:0;background:transparent;resize:vertical;line-height:1.75;outline:0}
:where(.aham-workbench) .wb-create-props{display:flex;flex-wrap:wrap;gap:var(--wb-s1);padding:var(--wb-s3) var(--wb-s4)}
:where(.aham-workbench) .wb-create-props .is-empty{color:var(--wb-muted)}
:where(.aham-workbench) .wb-create-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--wb-s3);padding:var(--wb-s2) var(--wb-s4);border-top:1px solid var(--wb-line);color:var(--wb-muted)}
:where(.aham-workbench) .wb-create-actions{display:flex;gap:var(--wb-s2)}
:where(.aham-workbench) .wb-switch{display:inline-flex;align-items:center;gap:var(--wb-s2);cursor:pointer;color:var(--wb-ink)}
:where(.aham-workbench) .wb-switch input{position:absolute;opacity:0;width:1px;height:1px}
:where(.aham-workbench) .wb-switch span{position:relative;width:28px;height:16px;border-radius:var(--wb-radius-pill);background:var(--wb-selected);transition:background var(--wb-fast) var(--wb-ease)}
:where(.aham-workbench) .wb-switch span::after{content:'';position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--wb-bg);transition:transform var(--wb-fast) var(--wb-ease)}
:where(.aham-workbench) .wb-switch input:checked+span{background:var(--wb-ink)}
:where(.aham-workbench) .wb-switch input:checked+span::after{transform:translateX(12px)}
:where(.aham-workbench) .wb-switch input:focus-visible+span{outline:2px solid var(--wb-blue);outline-offset:2px}
:where(.aham-workbench) .wb-cell-picker{display:inline-flex;align-items:center;gap:var(--wb-s1);max-width:100%;height:var(--wb-header-control);margin-inline-start:calc(-1 * var(--wb-s1));padding:0 var(--wb-s1);border:0;border-radius:var(--wb-radius);background:transparent;white-space:nowrap}
:where(.aham-workbench) .wb-cell-picker:hover{background:var(--wb-selected)}

/* Settings (7.2 P5): Circle's settings kit — shell, section, rows — with Aham's line-separated rows instead of bordered cards. */
:where(.aham-workbench) .wb-settings-layout{flex:1;min-height:0;display:grid;grid-template-columns:var(--wb-panel-narrow) minmax(0,1fr)}
:where(.aham-workbench) .wb-settings-nav{min-height:0;overflow-y:auto;padding:var(--wb-s4) var(--wb-s2);border-inline-end:1px solid var(--wb-line)}
:where(.aham-workbench) .wb-settings-nav h2{padding:var(--wb-s3) var(--wb-s2) var(--wb-s1);color:var(--wb-muted);font-size:var(--wb-body);font-weight:500}
:where(.aham-workbench) .wb-settings-nav ul{display:grid;gap:2px;margin:0;padding:0;list-style:none}
:where(.aham-workbench) .wb-settings-nav a{display:flex;align-items:center;gap:var(--wb-s2);min-height:var(--wb-nav-item);padding:0 var(--wb-s2);border-radius:var(--wb-radius);color:var(--wb-muted);text-decoration:none}
:where(.aham-workbench) .wb-settings-nav a:hover{background:var(--wb-hover);color:var(--wb-ink)}
:where(.aham-workbench) .wb-settings-nav a[aria-current=page]{background:var(--wb-selected);color:var(--wb-ink)}
:where(.aham-workbench) .wb-settings-scroll{min-height:0;overflow-y:auto}
:where(.aham-workbench) .wb-settings{max-width:var(--wb-detail-width);margin:0 auto;padding:var(--wb-s6) var(--wb-s5) var(--wb-s8)}
:where(.aham-workbench) .wb-settings>h1{font-size:var(--wb-detail-title);font-weight:500}
:where(.aham-workbench) .wb-settings>p{margin-block-start:var(--wb-s1);color:var(--wb-muted)}
:where(.aham-workbench) .wb-settings-section{margin-block-start:var(--wb-s6)}
:where(.aham-workbench) .wb-settings-section>header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--wb-s4);margin-block-end:var(--wb-s3)}
:where(.aham-workbench) .wb-settings-section h2{font-size:var(--wb-text-base);font-weight:500}
:where(.aham-workbench) .wb-settings-section header p{margin-block-start:2px;color:var(--wb-muted)}
:where(.aham-workbench) .wb-settings-rows{border-top:1px solid var(--wb-line)}
:where(.aham-workbench) .wb-setting{display:flex;align-items:center;justify-content:space-between;gap:var(--wb-s4);min-height:var(--wb-s8);padding:var(--wb-s3) 0;border-bottom:1px solid var(--wb-line)}
:where(.aham-workbench) .wb-setting>div:first-child{min-width:0}
:where(.aham-workbench) .wb-setting-title{font-size:var(--wb-text-sm);font-weight:500}
:where(.aham-workbench) .wb-setting-desc{margin-block-start:2px;color:var(--wb-muted)}
:where(.aham-workbench) .wb-setting-control{display:flex;flex:none;align-items:center;gap:var(--wb-s2)}
:where(.aham-workbench) .wb-setting-control .wb-select{min-width:160px}
:where(.aham-workbench) .wb-settings-section.is-danger h2{color:var(--wb-danger)}

/* Form-type popover sections (display options) */
:where(.aham-workbench) .wb-pop-title{color:var(--wb-muted)}
:where(.aham-workbench) .wb-pop-section{display:grid;gap:var(--wb-s2);padding:var(--wb-s3)}
:where(.aham-workbench) .wb-pop-section+.wb-pop-section{border-top:1px solid var(--wb-line)}
:where(.aham-workbench) .wb-pop-field{display:flex;align-items:center;justify-content:space-between;gap:var(--wb-s3)}
:where(.aham-workbench) .wb-pop-field>span{color:var(--wb-muted)}
:where(.aham-workbench) .wb-pop-field .wb-select{width:144px}
:where(.aham-workbench) .wb-pop-row{display:flex;align-items:center;gap:var(--wb-s1);min-width:0}
:where(.aham-workbench) .wb-pop-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--wb-s2);padding:var(--wb-s2) var(--wb-s3);border-top:1px solid var(--wb-line);color:var(--wb-muted)}

:where(.aham-workbench) .wb-dialog{width:min(var(--wb-dialog-width),calc(100vw - var(--wb-s6)));padding:var(--wb-s5);border:0;border-radius:var(--wb-radius-lg);background:var(--wb-pop-bg);color:var(--wb-ink);box-shadow:var(--wb-shadow-float)}
:where(.aham-workbench) .wb-dialog::backdrop{background:var(--wb-scrim,rgba(20,20,20,.28))}
:where(.aham-workbench) .wb-dialog h2{font-size:var(--wb-text-base)}
:where(.aham-workbench) .wb-dialog p{margin-block:var(--wb-s2) var(--wb-s5);color:var(--wb-muted)}
:where(.aham-workbench) .wb-dialog-foot{display:flex;justify-content:flex-end;gap:var(--wb-s2)}
/* Hit areas: 28px header controls keep their look; a transparent extension brings the target to --wb-hit (DESIGN §2.0). */
:where(.aham-workbench) :is(.wb-icon-btn,.wb-btn.sm,.wb-chip>button){position:relative}
:where(.aham-workbench) :is(.wb-icon-btn,.wb-btn.sm,.wb-chip>button)::after{content:'';position:absolute;inset:calc((var(--wb-header-control) - var(--wb-hit)) / 2) 0}
:where(.aham-workbench) .wb-icon-btn::after{inset:calc((var(--wb-header-control) - var(--wb-hit)) / 2)}
:where(.aham-workbench) .wb-chip>:first-child{border-start-start-radius:inherit;border-end-start-radius:inherit}
:where(.aham-workbench) .wb-chip>:last-child{border-start-end-radius:inherit;border-end-end-radius:inherit}
/* Tooltips: label + registered shortcut, Aham dark tip, shown after a short hover or on keyboard focus (WORKBENCH §12.7). */
:where(.aham-workbench) .wb-tooltip{position:fixed;z-index:var(--wb-z-toast);display:flex;align-items:center;gap:var(--wb-s2);max-width:var(--wb-pop-max);padding:var(--wb-s1) var(--wb-s2);border-radius:var(--wb-radius-sm);background:var(--wb-ink);color:var(--wb-bg);font-size:var(--wb-body);line-height:1.4;box-shadow:var(--wb-shadow-pop);pointer-events:none}
:where(.aham-workbench) .wb-tooltip .wb-kbd{min-width:auto;height:auto;padding:0 var(--wb-s1);background:transparent;box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 35%,transparent);color:inherit}
/* Object page (WORKBENCH §4.1–4.5, 7.5): the document is capped, sections are cards with a hairline, groups are panel-tier
   blocks with a 3px blue mark before the title, labels sit in a fixed column, and the same rows switch between read and edit
   mode in place. Container queries for the label column and the two-column form are in workbench-layout.css.in. */
:where(.aham-workbench) .wb-document.is-capped>*{max-width:calc(var(--wb-doc-max) + 2 * var(--wb-s5) + 2 * var(--wb-s4) + 2px)}
:where(.aham-workbench) .wb-doc-card{border:1px solid var(--wb-line);border-radius:var(--wb-radius-lg);padding:var(--wb-s3) var(--wb-s5) var(--wb-s5);margin-block-start:var(--wb-s4);scroll-margin-top:var(--wb-s5);container-type:inline-size}
:where(.aham-workbench) .wb-doc-card-head{display:flex;align-items:center;gap:var(--wb-s3);min-height:var(--wb-control);padding-block-end:var(--wb-s3);border-bottom:1px solid var(--wb-line)}
:where(.aham-workbench) .wb-doc-card-head h2{margin:0;font-size:var(--wb-text-md);font-weight:600}
/* A card with only its head (a folded section) drops the rule under the head and most of its bottom padding. */
:where(.aham-workbench) .wb-doc-card-head:last-child{border-bottom:0;padding-block-end:0}
:where(.aham-workbench) .wb-doc-card:has(>.wb-doc-card-head:last-child){padding-block-end:var(--wb-s3)}
:where(.aham-workbench) .wb-doc-group{background:var(--wb-panel);border-radius:var(--wb-radius);padding:var(--wb-s3) var(--wb-s4) var(--wb-s4);margin-block-start:var(--wb-s3);container-type:inline-size;min-width:0}
:where(.aham-workbench) .wb-doc-card-head+.wb-doc-group{margin-block-start:var(--wb-s4)}
:where(.aham-workbench) .wb-doc-group-title{display:flex;align-items:center;gap:var(--wb-s2);margin:0 0 var(--wb-s1);font-size:var(--wb-text-base);font-weight:600;line-height:24px}
:where(.aham-workbench) .wb-doc-group-title::before{content:"";flex:none;width:3px;height:14px;border-radius:2px;background:var(--wb-blue)}
:where(.aham-workbench) :is(.wb-doc-pair,.wb-doc-side,.wb-form-cols){display:grid;grid-template-columns:minmax(0,var(--wb-form-col-max));gap:0 var(--wb-s7)}
:where(.aham-workbench) .wb-doc-pair{gap:var(--wb-s4) var(--wb-s7)}
:where(.aham-workbench) .wb-doc-pair>.wb-doc-group{margin-block-start:0}
:where(.aham-workbench) .wb-form-col{container-type:inline-size;display:grid;align-content:start;min-width:0}
/* Form rows: label above the value by default; beside it, 148px wide and followed by a colon, once the column is wide enough. */
:where(.aham-workbench) .wb-form-row{display:grid;grid-template-columns:minmax(0,1fr);gap:0 var(--wb-s4);align-items:start}
:where(.aham-workbench) .wb-form-label{color:var(--wb-muted);line-height:20px;padding-block-start:6px;overflow-wrap:anywhere}
:where(.aham-workbench) .wb-form-label .wb-colon{display:none}
:where(.aham-workbench) .wb-form-required{color:var(--wb-danger);margin-inline-start:2px}
:where(.aham-workbench) .wb-form-value{position:relative;display:flex;align-items:flex-start;gap:0 var(--wb-s1);min-height:var(--wb-control);padding-block:var(--wb-s1);min-width:0}
:where(.aham-workbench) .wb-form-text{flex:1;min-width:0;line-height:24px;overflow-wrap:anywhere}
:where(.aham-workbench) [data-mode=read] .wb-form-value[tabindex]:focus-visible{outline:2px solid var(--wb-blue);border-radius:var(--wb-radius-sm)}
/* Values in read mode: a dashed underline marks what can be edited; a value to check gets a light mark behind the text only;
   a required value that is missing is written in danger text on danger-bg. The row itself is never filled. */
:where(.aham-workbench) .wb-value{font-variant-numeric:tabular-nums}
:where(.aham-workbench) .wb-value.is-editable{border-bottom:1px dashed var(--wb-faint);padding-bottom:1px;cursor:text}
:where(.aham-workbench) [data-mode=read] :is(.wb-form-value,td):hover .wb-value.is-editable{border-bottom-color:var(--wb-muted)}
:where(.aham-workbench) .wb-value.is-check{background:var(--wb-warning-mark);border-radius:var(--wb-radius-sm);padding-inline:var(--wb-s1);-webkit-box-decoration-break:clone;box-decoration-break:clone}
:where(.aham-workbench) .wb-value.is-missing{background:var(--wb-danger-bg);color:var(--wb-danger);border-radius:var(--wb-radius-sm);padding-inline:var(--wb-s1)}
:where(.aham-workbench) .wb-value.is-empty{display:inline-block;min-width:var(--wb-s6);color:var(--wb-muted);line-height:20px}
:where(.aham-workbench) .wb-source{flex:none;width:24px;height:24px;display:inline-grid;place-items:center;border-radius:var(--wb-radius-sm);color:var(--wb-muted);cursor:help}
:where(.aham-workbench) .wb-source:is(:hover,:focus-visible){background:var(--wb-hover);outline:none}
/* Edit mode: one value = one control filling the value cell; a value in several parts = groups of prefix + control + unit
   that never wrap inside; free text grows with its content. Controls are underlined so the row keeps its read-mode height:
   a control is --wb-hit (32px) tall for the hit target and takes back 4px above and below, so it fills the 24px line. */
:where(.aham-workbench) .wb-edit{flex:1;min-width:0;display:flex;align-items:flex-start;gap:0 var(--wb-s1);line-height:24px}
:where(.aham-workbench) .wb-edit>:is(.wb-edit-input,.wb-edit-area){flex:1 1 auto;width:auto;min-width:0}
:where(.aham-workbench) .wb-edit.is-groups{flex-wrap:wrap;gap:0 var(--wb-s2)}
:where(.aham-workbench) .wb-edit-group{display:inline-flex;align-items:flex-start;gap:0 var(--wb-s1);white-space:nowrap;max-width:100%}
:where(.aham-workbench) .wb-edit-group.is-fill{flex:1 1 140px;min-width:0}
:where(.aham-workbench) .wb-edit-group.is-fill>:is(.wb-edit-input,.wb-edit-area){flex:1 1 auto;width:auto;min-width:80px}
:where(.aham-workbench) .wb-edit-input{display:inline-block;height:var(--wb-hit);margin:-4px 1px;padding:0 3px;border:0;border-bottom:1px solid var(--wb-muted);border-radius:0;background:var(--wb-bg);color:inherit;font:inherit;line-height:20px;text-align:start;vertical-align:top;max-width:100%;min-width:0;outline:none}
:where(.aham-workbench) .wb-edit-input.is-number{text-align:end;font-family:var(--wb-mono);font-feature-settings:normal}
/* Inside a document table the edit controls keep their underline look; .wb-table input is for the dense quotation grid. */
:where(.aham-workbench) .wb-table .wb-edit-input{display:inline-block;width:auto;height:var(--wb-hit);padding:0 3px;border:0;border-bottom:1px solid var(--wb-muted);border-radius:0;background:var(--wb-bg);text-align:start;font-family:var(--wb-font);font-feature-settings:var(--wb-font-features)}
:where(.aham-workbench) .wb-table .wb-edit-input.is-number{text-align:end;font-family:var(--wb-mono);font-feature-settings:normal}
:where(.aham-workbench) select.wb-edit-input{padding:0}
:where(.aham-workbench) .wb-edit-area{display:block;width:100%;min-height:var(--wb-hit);margin-block:-4px;padding:4px 3px;border:0;border-bottom:1px solid var(--wb-muted);border-radius:0;background:var(--wb-bg);color:inherit;font:inherit;line-height:23px;resize:none;overflow:hidden;outline:none}
:where(.aham-workbench) :is(.wb-edit-input,.wb-edit-area):focus{border-bottom:2px solid var(--wb-blue)}
/* Value state (edit mode only): an error underlines in danger, a warning in the warning colour; the message floats under the
   value while it has focus, so it never pushes the rows below. */
:where(.aham-workbench) [data-state=error] :is(.wb-edit-input,.wb-edit-area){border-bottom:2px solid var(--wb-danger);background:var(--wb-danger-bg)}
:where(.aham-workbench) [data-state=warning] :is(.wb-edit-input,.wb-edit-area){border-bottom:2px solid var(--wb-warning)}
:where(.aham-workbench) .wb-value-state{display:none;position:absolute;inset-inline-start:0;top:calc(100% + 2px);z-index:var(--wb-z-pop);min-width:240px;max-width:var(--wb-pop-max);padding:var(--wb-s1) var(--wb-s2);border-radius:var(--wb-radius);box-shadow:var(--wb-shadow-pop);font-size:var(--wb-body-dense);line-height:18px}
:where(.aham-workbench) [data-state]:focus-within>.wb-value-state{display:block}
:where(.aham-workbench) [data-state=warning]>.wb-value-state{background:var(--wb-warning-mark);color:var(--wb-ink)}
:where(.aham-workbench) [data-state=error]>.wb-value-state{background:var(--wb-danger-bg);color:var(--wb-danger)}
/* Table inside a document: the toolbar is as wide as the table, title on the left, 添加 on the right; the table scrolls
   sideways inside its own box below its minimum width instead of squeezing columns or widening the page. */
:where(.aham-workbench) .wb-table-block{margin-block:var(--wb-s1);min-width:0}
:where(.aham-workbench) .wb-table-block.is-narrow{max-width:var(--wb-form-col-max)}
:where(.aham-workbench) .wb-table-toolbar{display:flex;align-items:center;gap:var(--wb-s2);min-height:var(--wb-header-control)}
:where(.aham-workbench) .wb-table-toolbar>.wb-doc-group-title{margin:0}
:where(.aham-workbench) .wb-table-toolbar>.wb-spacer{flex:1}
:where(.aham-workbench) .wb-table-block>.wb-table-scroll{position:relative;overflow-x:auto}
:where(.aham-workbench) .wb-table-block .wb-table{min-width:420px;table-layout:fixed;width:100%}
/* The table header is opaque for sticky scrolling; inside a group it takes the group's panel tier, not a white strip. */
:where(.aham-workbench) .wb-doc-group .wb-table thead th{background:var(--wb-panel)}
/* Edit footer: messages on the left, then optional fields for the whole save, then 保存 and 取消 on the right. Header
   actions marked data-edit-hide only lose their visibility in edit mode, so nothing above the form moves. A sticky
   element stops at the scroll container's padding, so bottom is minus the document's end padding (.wb-document). */
:where(.aham-workbench) .wb-edit-footer{position:sticky;bottom:calc(-1 * var(--wb-s4));z-index:var(--wb-z-pop);display:none;flex-wrap:wrap;align-items:center;gap:var(--wb-s2) var(--wb-s3);margin-block-start:var(--wb-s5);padding:var(--wb-s2) var(--wb-s5);background:var(--wb-bg);border-top:1px solid var(--wb-line)}
:where(.aham-workbench) [data-mode=edit] .wb-edit-footer{display:flex}
:where(.aham-workbench) .wb-edit-footer>.wb-spacer{flex:1}
:where(.aham-workbench) [data-mode=edit] [data-edit-hide]{visibility:hidden}
:where(.aham-workbench) [data-mode=read] .wb-edit,:where(.aham-workbench) [data-mode=edit] .wb-read{display:none}
:where(.aham-workbench) [data-mode=read] :is(.wb-form-required,[data-edit-only]){display:none}
:where(.aham-workbench) .wb-msg-btn{display:inline-flex;align-items:center;gap:var(--wb-s1);height:var(--wb-header-control);padding:0 var(--wb-s2);border:0;border-radius:var(--wb-radius);background:var(--wb-warning-mark);color:var(--wb-ink);font-weight:500}
:where(.aham-workbench) .wb-msg-btn.is-error{background:var(--wb-danger-bg);color:var(--wb-danger)}
:where(.aham-workbench) .wb-messages{display:grid;min-width:min(300px,calc(100vw - var(--wb-s6)));padding:var(--wb-s1) 0}
:where(.aham-workbench) .wb-messages h3{margin:var(--wb-s2) var(--wb-s3) var(--wb-s1);color:var(--wb-muted);font-size:var(--wb-body-dense);font-weight:500}
:where(.aham-workbench) .wb-messages button{display:grid;grid-template-columns:18px minmax(0,1fr);gap:2px var(--wb-s2);width:100%;padding:var(--wb-s1) var(--wb-s3);border:0;background:transparent;text-align:start}
:where(.aham-workbench) .wb-messages button:is(:hover,:focus-visible){background:var(--wb-hover)}
:where(.aham-workbench) .wb-messages small{grid-column:2;color:var(--wb-muted)}
:where(.aham-workbench) .wb-messages button>svg{width:14px;height:14px;margin-block-start:3px}
:where(.aham-workbench) .wb-messages [data-severity=error]>svg{color:var(--wb-danger)}
:where(.aham-workbench) .wb-messages [data-severity=warning]>svg{color:var(--wb-warning)}
:where(.aham-workbench) .wb-confirm-text{margin:var(--wb-s2) var(--wb-s3)}
:where(.aham-workbench) .wb-confirm-actions{display:flex;justify-content:flex-end;gap:var(--wb-s2);padding:0 var(--wb-s3) var(--wb-s2)}

/* Files, tree table and version compare (WORKBENCH §15). Gray drop feedback, ink progress, no colour for diff kinds. */
:where(.aham-workbench) .wb-drop{display:grid;justify-items:center;gap:var(--wb-s2);padding:var(--wb-s6) var(--wb-s5);border:1.5px dashed var(--wb-line);border-radius:var(--wb-radius-lg);color:var(--wb-muted);text-align:center;transition:border-color var(--wb-fast) var(--wb-ease),background var(--wb-fast) var(--wb-ease)}
:where(.aham-workbench) .wb-drop[data-drag=over]{border-color:var(--wb-muted);background:var(--wb-panel);color:var(--wb-ink)}
:where(.aham-workbench) .wb-drop>svg{width:var(--wb-s5);height:var(--wb-s5)}
:where(.aham-workbench) .wb-drop strong{color:var(--wb-ink);font-weight:500}
:where(.aham-workbench) .wb-drop-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--wb-s2)}
:where(.aham-workbench) .wb-files{margin:0;padding:0;list-style:none;border-top:1px solid var(--wb-line)}
:where(.aham-workbench) .wb-file{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(120px,200px) auto;align-items:center;gap:var(--wb-s3);min-height:var(--wb-row-list);padding:var(--wb-s1) var(--wb-s2);border-bottom:1px solid var(--wb-line)}
:where(.aham-workbench) .wb-file>svg{color:var(--wb-muted)}
:where(.aham-workbench) .wb-file-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:where(.aham-workbench) .wb-file-meta{display:block;color:var(--wb-muted);font-family:var(--wb-mono);font-feature-settings:normal;font-variant-numeric:tabular-nums}
:where(.aham-workbench) .wb-file-state{display:grid;gap:var(--wb-s1);min-width:0}
:where(.aham-workbench) .wb-file-actions{display:flex;gap:var(--wb-s1)}
:where(.aham-workbench) .wb-progress{display:block;height:var(--wb-s1);border-radius:var(--wb-radius-pill);background:var(--wb-line);overflow:hidden}
:where(.aham-workbench) .wb-progress>span{display:block;height:100%;background:var(--wb-ink);transition:width var(--wb-fast) var(--wb-ease)}
/* Viewer: toolbar row, a scrolling stage on the panel tier, the page on the white tier. The field mark is an ink outline. */
:where(.aham-workbench) .wb-viewer{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0}
:where(.aham-workbench) .wb-viewer-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--wb-s2);height:var(--wb-header-row);padding:0 var(--wb-s3);border-bottom:1px solid var(--wb-line);color:var(--wb-muted)}
:where(.aham-workbench) .wb-viewer-bar>div{display:flex;align-items:center;gap:var(--wb-s1);min-width:0}
:where(.aham-workbench) .wb-viewer-bar .wb-input{width:calc(var(--wb-s7) - var(--wb-s2));text-align:center;font-family:var(--wb-mono);font-feature-settings:normal}
:where(.aham-workbench) [data-viewer=zoom]{min-width:var(--wb-s7);text-align:center;font-family:var(--wb-mono);font-feature-settings:normal;font-variant-numeric:tabular-nums}
:where(.aham-workbench) .wb-viewer-stage{overflow:auto;padding:var(--wb-s4);background:var(--wb-panel);outline-offset:-2px}
:where(.aham-workbench) .wb-viewer-stage[data-pan=true]{cursor:grab}
:where(.aham-workbench) .wb-viewer-stage[data-dragging]{cursor:grabbing;user-select:none}
:where(.aham-workbench) .wb-viewer-canvas{position:relative;margin:0 auto;background:var(--wb-bg)}
:where(.aham-workbench) .wb-viewer-canvas>:is(img,svg,canvas){display:block;width:100%;height:100%}
:where(.aham-workbench) .wb-viewer-mark{position:absolute;outline:2px solid var(--wb-ink);outline-offset:2px;border-radius:var(--wb-radius-sm);pointer-events:none}
:where(.aham-workbench) .wb-viewer-split{display:grid;grid-template-columns:minmax(0,1fr) var(--wb-panel-wide);min-height:0}
:where(.aham-workbench) .wb-viewer-split>.wb-viewer{border-inline-end:1px solid var(--wb-line)}
:where(.aham-workbench) .wb-recognized{display:grid;align-content:start;min-height:0;overflow:auto}
:where(.aham-workbench) .wb-recognized-row{display:grid;grid-template-columns:var(--wb-label) minmax(0,1fr) auto;align-items:center;gap:var(--wb-s2);width:100%;min-height:var(--wb-row-list);padding:var(--wb-s1) var(--wb-s4);border:0;border-bottom:1px solid var(--wb-line);background:transparent;text-align:start}
:where(.aham-workbench) .wb-recognized-row:hover{background:var(--wb-hover)}
:where(.aham-workbench) .wb-recognized-row>span:first-child{color:var(--wb-muted)}
:where(.aham-workbench) .wb-recognized-row>span:last-child{color:var(--wb-muted);font-family:var(--wb-mono);font-feature-settings:normal}
:where(.aham-workbench) .wb-recognized-row .wb-risk{grid-column:2 / -1}
/* Tree table: indent per level, a 20px toggle, parent subtotals at weight 500. */
:where(.aham-workbench) .wb-table td.wb-tree-name{padding-inline-start:calc(var(--wb-s2) + (var(--wb-level,1) - 1) * var(--wb-s4))}
:where(.aham-workbench) .wb-tree-name>span{display:inline-flex;align-items:center;gap:var(--wb-s1);max-width:100%;min-width:0}
:where(.aham-workbench) .wb-tree-toggle,:where(.aham-workbench) .wb-tree-spacer{display:inline-grid;place-items:center;flex:none;width:var(--wb-s5);height:var(--wb-s5);padding:0;border:0;border-radius:var(--wb-radius-sm);background:transparent;color:var(--wb-muted)}
:where(.aham-workbench) .wb-tree-toggle:hover{background:var(--wb-hover);color:var(--wb-ink)}
:where(.aham-workbench) .wb-tree-toggle svg{width:var(--wb-s3);height:var(--wb-s3);transition:transform var(--wb-fast) var(--wb-ease)}
:where(.aham-workbench) .wb-tree-toggle[aria-expanded=false] svg{transform:rotate(-90deg)}
:where(.aham-workbench) .wb-tree-table tr:has(.wb-tree-toggle) td{font-weight:500}
/* Version compare: the kind is a word with a mono sign; the old value is struck through in secondary ink. */
:where(.aham-workbench) .wb-compare-pick{display:flex;align-items:center;gap:var(--wb-s2);min-width:0}
:where(.aham-workbench) .wb-diff-section{margin-block-start:var(--wb-s5)}
:where(.aham-workbench) .wb-diff-kind{display:inline-flex;align-items:center;gap:var(--wb-s1);white-space:nowrap}
:where(.aham-workbench) .wb-diff-kind::before{content:attr(data-sign);width:var(--wb-s3);color:var(--wb-muted);font-family:var(--wb-mono);font-feature-settings:normal;text-align:center}
:where(.aham-workbench) .wb-diff-old{color:var(--wb-muted);text-decoration:line-through;text-decoration-thickness:1px}
:where(.aham-workbench) .wb-diff-new{font-weight:500}
:where(.aham-workbench) .wb-diff-table td{white-space:normal}
:where(.aham-workbench) .wb-diff-table .wb-diff-old,:where(.aham-workbench) .wb-diff-table .wb-diff-new{overflow-wrap:anywhere}
/* AI assistance (WORKBENCH §14): the comment-block grammar — secondary surface, no border, no shadow, no AI colour. */
:where(.aham-workbench) .wb-ai{display:grid;gap:var(--wb-s2);margin-block:var(--wb-s2);padding:var(--wb-s3);border-radius:var(--wb-radius);background:var(--wb-panel)}
:where(.aham-workbench) .wb-ai-head{display:flex;align-items:center;gap:var(--wb-s2);min-height:var(--wb-header-control)}
:where(.aham-workbench) .wb-ai-mark{display:inline-flex;align-items:center;gap:var(--wb-s1);color:var(--wb-muted);font-size:var(--wb-body);white-space:nowrap}
:where(.aham-workbench) .wb-ai-mark svg{width:var(--wb-s3);height:var(--wb-s3)}
:where(.aham-workbench) .wb-ai-title{min-width:0;font-weight:500}
:where(.aham-workbench) .wb-ai-stop{margin-inline-start:auto}
:where(.aham-workbench) .wb-ai-body{line-height:1.75}
:where(.aham-workbench) .wb-ai-body:empty{display:none}
:where(.aham-workbench) .wb-ai-body p{margin:0}
:where(.aham-workbench) .wb-ai-body p+p{margin-block-start:var(--wb-s2)}
:where(.aham-workbench) .wb-ai-error{color:var(--wb-danger)}
:where(.aham-workbench) .wb-ai-sources{margin:0;color:var(--wb-muted)}
:where(.aham-workbench) .wb-ai-sources a{color:inherit;text-decoration:underline;text-underline-offset:2px}
:where(.aham-workbench) .wb-ai-sources a:hover{color:var(--wb-ink)}
:where(.aham-workbench) .wb-ai-actions{display:flex;flex-wrap:wrap;gap:var(--wb-s1)}
:where(.aham-workbench) .wb-ai-actions:empty{display:none}
:where(.aham-workbench) .wb-ai-suggest{display:flex;flex-wrap:wrap;align-items:center;gap:var(--wb-s1) var(--wb-s2);margin-block:var(--wb-s1) var(--wb-s2);padding:var(--wb-s1) var(--wb-s2);border-radius:var(--wb-radius-sm);background:var(--wb-panel);color:var(--wb-muted)}
:where(.aham-workbench) .wb-ai-suggest>svg{width:var(--wb-s3);height:var(--wb-s3)}
:where(.aham-workbench) .wb-ai-suggest strong{color:var(--wb-ink);font-weight:500}
:where(.aham-workbench) .wb-ai-reason{flex-basis:100%}
:where(.aham-workbench) .wb-ai-suggest-actions{display:flex;gap:var(--wb-s1);margin-inline-start:calc(-1 * var(--wb-s2))}
:where(.aham-workbench) .wb-ai-confirm h2{margin-block-start:var(--wb-s2)}
:where(.aham-workbench) .wb-ai-changes{display:grid;gap:0;margin:var(--wb-s3) 0;padding:0;list-style:none}
:where(.aham-workbench) .wb-ai-changes li{display:flex;justify-content:space-between;gap:var(--wb-s3);padding:var(--wb-s2) 0;border-top:1px solid var(--wb-line)}
:where(.aham-workbench) .wb-ai-changes li:last-child{border-bottom:1px solid var(--wb-line)}
:where(.aham-workbench) .wb-ai-changes li>span:first-child{color:var(--wb-muted)}
:where(.aham-workbench) .wb-ai-changes strong{font-weight:500}
:where(.aham-workbench) .wb-dialog p.wb-ai-note{margin-block:0 var(--wb-s5)}
