/* V029: role tools use the existing Business workspace design. No native/dock/global theme changes. */
body[data-business-ui="workspace"] .r28 *{box-sizing:border-box}
body[data-business-ui="workspace"] .r28-card{border:1px solid var(--biz-line);background:var(--biz-panel);border-radius:15px;padding:18px;min-width:0;overflow-wrap:anywhere}
body[data-business-ui="workspace"] .r28-stack,.r28-messages{display:grid;gap:10px}
body[data-business-ui="workspace"] .r28 h2{font:750 21px/1.25 Inter,system-ui,sans-serif;letter-spacing:-.035em;margin:22px 0 14px}
body[data-business-ui="workspace"] .r28 h3{font:700 15px/1.4 Inter,system-ui,sans-serif;margin:0}
body[data-business-ui="workspace"] .r28 p{font-size:12px;line-height:1.65;margin:10px 0;color:var(--biz-text)}
body[data-business-ui="workspace"] .r28 small,.r28-muted{color:var(--biz-muted);font-size:11px}
.r28-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.r28-actions,.r28-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0 0}
body[data-business-ui="workspace"] .r28 .r28-button{font-family:inherit;cursor:pointer;max-width:100%}
.r28-button:disabled{opacity:.5;cursor:wait}
.r28-role,.r29-identity-role{display:inline-block;font-size:10px;line-height:1.4;border:1px solid var(--biz-line,#293236);border-radius:7px;padding:4px 8px;color:#ffa364;background:var(--biz-soft,#171e22);white-space:normal}
.r29-identity-role{margin-left:5px;padding:2px 6px}
.r28-field{display:flex;flex-direction:column;gap:8px;min-width:0;margin:14px 0}
.r28-field>span{font-size:12px;font-weight:650;color:var(--biz-text)}
.r28-field input,.r28-field textarea,.r28-field select{max-width:100%;min-width:0;width:100%;box-sizing:border-box;border:1px solid var(--biz-line);border-radius:11px;padding:12px;background:var(--biz-soft);color:var(--biz-text);font:inherit;font-size:16px}
.r28-field input[type=file]{font-size:12px}
.r29-workspace-select{margin:0 0 18px;max-width:480px}
.r28-note,.r28-empty{padding:16px;border:1px solid var(--biz-line);border-radius:13px;background:var(--biz-soft);font-size:12px;line-height:1.65;color:var(--biz-muted)}
.r28-error,.r28-form-error:not(:empty){padding:14px;border:1px solid #813a25;background:#2a1914;color:#ffb39d;border-radius:11px;margin:12px 0;font-size:12px;line-height:1.5}
.r28-pre{white-space:pre-wrap;overflow-wrap:anywhere}.r28-code{display:block;overflow-wrap:anywhere;user-select:all;color:#ffa364;padding:16px}.r28-check{display:flex;gap:10px;align-items:center;margin:16px 0;font-size:12px}
body[data-business-ui="workspace"] .r29-tools{margin:0 0 24px!important}
.r29-tools[hidden]{display:none!important}
body[data-business-ui="workspace"] .r29-financials{margin-top:24px!important}
body[data-business-ui="workspace"] .r29-financials .business-v3-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
body[data-business-ui="workspace"] .r29-financials .business-v3-stats strong{font-size:24px!important;overflow-wrap:anywhere}
.r29-tool-count{display:block;font:750 12px/1.3 Inter,system-ui,sans-serif;color:#ffa364;text-align:center;overflow-wrap:normal}
body[data-business-ui="workspace"] .r29-tools .business-v3-tool{grid-template-columns:38px minmax(0,1fr) minmax(24px,auto)!important}
body[data-business-ui="workspace"] .r29-tools .business-v3-tool>b{width:auto}
.r29-work{margin-top:24px!important}
body[data-built-shop-role="installer"] .bottom-nav [data-route="request"],body[data-built-shop-role="installer"] .v2-side-link[data-route="request"]{display:none!important}
@media(max-width:360px){body[data-business-ui="workspace"] .r28-card{padding:14px}.r28-toolbar{gap:6px}}

/* Legacy Messages removes #app padding. Keep final role-page actions above the dock. */
body[data-business-ui="workspace"] .business-v3.r28{padding-bottom:calc(var(--business-workspace-bottom-clearance,110px) + 28px)!important}
.r28>.r28-card,.r28>.r28-messages,.r28>.r28-stack{margin-bottom:14px}

/* Use the existing request cards, conversation rows and message bubbles. */
body[data-business-ui="workspace"] .r29-inbox{border:1px solid var(--biz-line)!important;border-radius:17px}
body[data-business-ui="workspace"] .r29-chat{height:auto!important;border:1px solid var(--biz-line);border-radius:17px;overflow:hidden!important}
.r29-chat-messages{padding:16px;min-width:0}
.r29-composer{padding:14px;border-top:1px solid var(--biz-line);background:var(--biz-panel)}
.r29-composer .r28-field:first-of-type{margin-top:0}
.r29-composer textarea{min-height:80px}
.r28 .business-request-workspace{margin-top:16px}
.r28 .business-request-list{display:grid;gap:12px}
/* Original messenger panes are positioned by messenger-shell. Role routes use #app's existing scroller instead. */
body[data-business-ui="workspace"] :is(.r29-inbox,.r29-chat){position:relative!important;inset:auto!important;transform:none!important;width:100%!important;height:auto!important;max-height:none!important;min-height:0!important;z-index:auto!important}
body[data-business-ui="workspace"] .r29-inbox .messenger-thread-list{flex:0 0 auto!important;overflow:visible!important;padding:9px!important}
body[data-business-ui="workspace"] :is(.r29-inbox,.r29-chat){visibility:visible!important;opacity:1!important;pointer-events:auto!important}
body[data-business-ui="workspace"] .business-v3.r28{overflow:visible!important}
/* The restored legacy workspace already centers its non-native dock using left/right + auto margins.
   Do not also inherit the wider-layout translateX(-50%); the iOS glass dock owns its own transform. */
body[data-built-shop-role][data-business-ui="workspace"] .bottom-nav:not(#builtIOSDock){transform:none!important}
/* Keep restored owner-panel Close controls below the persistent header after scrollIntoView. */
body[data-built-shop-role][data-business-ui="workspace"] .business-v3-drawer{position:relative!important;scroll-margin-top:84px}
