/* Candidate 3: semantic role consumers, scoped away from Landing and document output. */
body.visual-v1[data-companion] :is(.product-workspace,#modal){
 --ui-space:var(--space-unit);--ui-radius:var(--radius-control);--ui-panel-radius:var(--radius-panel);--ui-shadow:0 6px 20px color-mix(in srgb,var(--content-primary) 7%,transparent);
 --opp-primary:var(--action-primary);--opp-on-primary:var(--content-on-action);--opp-accent:var(--accent-secondary);--opp-line:var(--border-subtle);--opp-surface:var(--surface-panel);--opp-panel:var(--surface-panel);--opp-muted:var(--content-secondary);--opp-light:var(--content-primary);--opp-link:var(--content-primary);
 --green:var(--action-primary);--pink:var(--accent-secondary);--ink:var(--content-primary);--muted:var(--content-secondary);--line:var(--border-subtle);
 color:var(--content-primary);font-family:var(--v-body);
}
body.visual-v1.art-pass.lagoon-pass[data-companion] .product-workspace .sidebar{padding:20px 16px!important;gap:0!important;background:var(--surface-navigation)!important}
body.visual-v1.art-pass.lagoon-pass[data-companion] .product-workspace .sidebar .brand{margin:0!important;min-height:44px}
body.visual-v1.art-pass.lagoon-pass[data-companion] .product-workspace .side-nav{margin:20px 0 0!important;gap:4px!important}
body.visual-v1.art-pass.lagoon-pass[data-companion] .product-workspace .side-nav a{margin:0!important;min-height:44px;padding:10px 12px!important;font-size:14px!important;border-radius:var(--ui-radius)!important}
body.visual-v1.art-pass.lagoon-pass[data-companion] .product-workspace .side-nav a.active{box-shadow:inset 4px 0 var(--accent-secondary)!important}
body.visual-v1.art-pass.lagoon-pass[data-companion] .product-workspace .nav-collapse{margin:8px 0 0!important;min-height:44px}
body.visual-v1.art-pass.lagoon-pass[data-companion] .product-workspace .side-bottom{padding:0!important;margin-top:12px!important}
body.visual-v1.art-pass.lagoon-pass[data-companion] .product-workspace .sidebar-tank.lagoon-tank{margin:0!important}
body.visual-v1.art-pass.lagoon-pass[data-companion] .product-workspace :is(.tank-glass,.creature-stage){border:2px solid var(--accent-secondary)!important;border-radius:var(--world-frame)!important;box-shadow:var(--ui-shadow)!important;isolation:isolate}
body.visual-v1.art-pass.lagoon-pass[data-companion] .product-workspace .tank-glass{height:156px!important}
body.visual-v1.art-pass.lagoon-pass[data-companion] .product-workspace .creature-care{border-top:4px solid var(--accent-secondary);border-radius:var(--ui-panel-radius);padding:24px;box-shadow:var(--ui-shadow)}
body.visual-v1.art-pass.lagoon-pass[data-companion] .product-workspace .level-pill{background:var(--accent-secondary)!important;color:var(--content-on-accent)!important}
body.visual-v1.art-pass.lagoon-pass[data-companion] .product-workspace .sidebar-tools{margin-top:24px!important;padding:12px 0 0!important;justify-content:flex-start;gap:8px;border-top:1px solid var(--border-subtle)!important}
body.visual-v1.art-pass.lagoon-pass[data-companion] .product-workspace .sidebar-tools button{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;border-radius:var(--ui-radius)!important;padding:10px!important;display:grid;place-items:center;color:var(--content-primary)!important;background:var(--surface-panel)!important;border:1px solid var(--border-subtle)!important}
body.visual-v1 .product-workspace .sidebar-tools button::before{content:none!important}
body.visual-v1 .product-workspace .sidebar-tools svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;filter:none!important}
body.visual-v1 .product-workspace .cloud-status::after{content:'';width:20px;height:20px;display:block;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 18h12a4 4 0 0 0 0-8 6 6 0 0 0-11-2 5 5 0 0 0-1 10Z' fill='none' stroke='black' stroke-width='1.7'/%3E%3C/svg%3E") center/contain no-repeat}
body.visual-v1.art-pass.lagoon-pass[data-companion] .product-workspace.nav-collapsed .sidebar{padding:16px 12px!important}
body.visual-v1.art-pass.lagoon-pass[data-companion] .product-workspace.nav-collapsed .sidebar-tools{align-items:center}
body.visual-v1.art-pass.lagoon-pass[data-companion] .product-workspace.nav-collapsed .side-nav a{padding:12px!important}
body.visual-v1 .companion-work-state{display:block;margin-top:12px;padding:8px 10px;border-left:3px solid var(--accent-secondary);background:var(--surface-panel);color:var(--content-primary);border-radius:0 8px 8px 0;font-size:12px;line-height:1.5}
body.visual-v1 .product-workspace.nav-collapsed .companion-work-state{display:none}
body.visual-v1.art-pass.lagoon-pass[data-companion] :is(.product-workspace,#modal) :is(.pip-instructions,.pip-queue,.pip-pending-row,.scout-status,.generation-status,.extension-mock,.notice,.empty){background:var(--surface-panel)!important;color:var(--content-primary)!important;border-color:var(--border-subtle)!important}
body.visual-v1.art-pass.lagoon-pass[data-companion] :is(.product-workspace,#modal) :is(.salary-highlight,.scout-badge,.filter-token,.pip-focus-tabs .active){background:var(--surface-navigation)!important;color:var(--content-primary)!important;border-color:var(--border-subtle)!important}
body.visual-v1.art-pass.lagoon-pass[data-companion] :is(.product-workspace,#modal) :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--focus-ring)!important;outline-offset:3px!important}
body.visual-v1 .presentation-loading{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--surface-panel,var(--v-surface));color:var(--content-primary,var(--v-ink));border:1px solid var(--border-subtle,var(--v-line));border-radius:16px;font:15px/1.5 var(--v-body)}
body.visual-v1 .presentation-loading img{width:56px;height:56px;object-fit:contain}
body.visual-v1 .presentation-loading .loading-pulse{width:8px;height:8px;border-radius:50%;background:var(--accent-secondary,var(--v-pink));animation:opp-breathe 1.5s ease-in-out infinite}
@keyframes opp-breathe{50%{opacity:.35;transform:scale(.8)}}
@media(prefers-reduced-motion:reduce){body.visual-v1 .presentation-loading .loading-pulse{animation:none}}
@media(max-width:600px){body.visual-v1 .creature-care{padding:20px}body.visual-v1 .creature-room-head{margin-bottom:16px}}
/* Saved-workspace loading uses the approved interim resident, never a fake progress bar. */
body.visual-v1 #modal .workspace-loading-art{background-color:var(--v-paper)!important;background-image:url('/art/approved/mushroom-stage-1.webp')!important;background-size:120px 120px!important;background-position:center calc(50% - 32px)!important}
body.visual-v1 #modal .workspace-loading-art::after{content:'Opening your saved workspace…';position:absolute;top:calc(50% + 48px);left:20px;right:20px;text-align:center;color:var(--v-ink);font:16px/1.5 var(--v-body)}
body.visual-v1 .product-workspace .sidebar-tools .demo-label{background:transparent!important;border:0!important;padding:0!important;min-width:0!important;margin:0!important}
/* Mobile keeps the companion accessible through Creature navigation and the main habitat. */
@media(max-width:750px){body.visual-v1.art-pass.lagoon-pass[data-companion] .product-workspace .side-bottom{display:none!important}body.visual-v1.art-pass.lagoon-pass[data-companion] .product-workspace .sidebar{padding:12px 16px!important}body.visual-v1.art-pass.lagoon-pass[data-companion] .product-workspace .side-nav{margin-top:12px!important}}
/* Shared dialogs consume the same control contract as work surfaces. */
body.visual-v1[data-companion] #modal .btn{background:var(--surface-panel)!important;color:var(--content-primary)!important;border:1px solid var(--border-control)!important;border-radius:var(--radius-control)!important;min-height:var(--control-min-height);font-family:var(--type-body)}
body.visual-v1[data-companion] #modal :is(.btn.green,.btn.black){background:var(--action-primary)!important;color:var(--content-on-action)!important}
body.visual-v1[data-companion] #modal .btn:disabled{background:var(--surface-navigation)!important;color:var(--content-secondary)!important;border-style:dashed!important;opacity:1!important}
body.visual-v1[data-companion] #modal :is(input:not([type=checkbox]):not([type=radio]),select,textarea){background:var(--surface-panel)!important;color:var(--content-primary)!important;border:1px solid var(--border-control)!important;border-radius:var(--radius-control)!important;font:16px/1.5 var(--type-body)}
body.visual-v1[data-companion] #app .auth-page{background:var(--surface-world)!important;color:var(--content-primary)!important;display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:70dvh}
body.visual-v1[data-companion] #app .auth-art{width:100%;height:100%;max-height:720px;object-fit:cover;border-radius:var(--world-frame)}
body.visual-v1[data-companion] #app .auth-panel{background:var(--surface-panel)!important;color:var(--content-primary)!important;padding:clamp(24px,5vw,64px);border-top:4px solid var(--accent-secondary);font-family:var(--type-body)}
body.visual-v1[data-companion] #app .auth-panel :is(h1,p,a){color:var(--content-primary)!important}
body.visual-v1[data-companion] #app .auth-panel .btn{background:var(--action-primary)!important;color:var(--content-on-action)!important;border:1px solid var(--border-control)!important;border-radius:var(--radius-control);min-height:44px}
body.visual-v1[data-companion] #app .auth-page :is(a,button):focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}
@media(max-width:750px){body.visual-v1[data-companion] #app .auth-page{grid-template-columns:1fr}body.visual-v1[data-companion] #app .auth-art{height:180px}}
/* Button groups wrap with breathing room, including legacy dialog footers. */
body.visual-v1[data-companion] #modal .modal-body>.btn{margin:0 8px 10px 0!important}
body.visual-v1[data-companion] #modal .modal-body>p{margin:0 0 16px;line-height:1.6}
body.visual-v1[data-companion] #modal>.btn{width:calc(100% - 48px)!important;margin:0 24px 12px!important;box-sizing:border-box}
/* Founder refinement: secondary-led controls and almost-white secondary-tinted work panels.
   Legacy variables are bridged inside application scopes; Landing keeps its existing roles. */
body.visual-v1[data-companion] :is(.product-workspace,#modal){--v-action:var(--action-primary);--v-on-action:var(--content-on-accent);--v-surface:var(--surface-panel)}
body.visual-v1.art-pass.lagoon-pass[data-companion] .product-workspace :is(.side-nav a,.nav-collapse,.btn,.chip,.tab,button:not(.job-result):not(.live-job-row)){background:var(--action-primary)!important;color:var(--content-on-action)!important}
body.visual-v1.art-pass.lagoon-pass[data-companion] .product-workspace .side-nav a.active{box-shadow:inset 4px 0 var(--content-primary)!important;font-weight:700}
body.visual-v1[data-companion] #modal .btn{background:var(--action-primary)!important;color:var(--content-on-action)!important}
body.visual-v1.art-pass.lagoon-pass[data-companion] .product-workspace button:disabled{background:var(--surface-panel)!important;color:var(--content-secondary)!important;border:1px dashed var(--border-control)!important;opacity:1!important}
body.visual-v1[data-companion] #modal .btn:disabled{background:var(--surface-panel)!important}
body.visual-v1.art-pass.lagoon-pass[data-companion] .product-workspace :is(.job-detail-body,.posting-description,.focus-paper,.pip-focus-main){background:var(--surface-panel)!important;color:var(--content-primary)!important}
