/* Step 1: shell only. Every rule is scoped to the live desktop breakpoint class. */
body.desktop-app{padding-top:0!important;height:100dvh;min-height:0;overflow:hidden;--app-chrome-height:0px!important;--title-menu-rail-height:0px!important;--app-header-height:0px!important;--stage-header-height:0px!important;--desktop-sidebar-width:76px;--desktop-header-height:196px;--desktop-rail-height:0px;--radius-card:20px;--card-radius:20px;--shadow-tile:0 1px 2px rgb(0 0 0/.05),0 2px 8px -2px rgb(0 0 0/.07);--shadow-lift:0 2px 4px rgb(0 0 0/.06),0 14px 28px -10px rgb(0 0 0/.24)}
body.desktop-app .desktop-sidebar{position:fixed;inset:0 auto 0 0;z-index:90;box-sizing:border-box;width:var(--desktop-sidebar-width);padding:28px 16px;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid rgb(var(--divider-rgb));font-family:var(--font)}
body.desktop-app .desktop-wordmark{display:block;width:164px;margin:0;padding:0 12px;border:0;background:transparent;color:var(--ink);box-shadow:none;cursor:pointer}
body.desktop-app .desktop-wordmark-image{display:block;width:140px;aspect-ratio:1137/255;background:currentColor;-webkit-mask:url('assets/brand/wordmark-black.svg') center/contain no-repeat;mask:url('assets/brand/wordmark-black.svg') center/contain no-repeat}
body.desktop-app .desktop-nav{display:grid;gap:4px;margin-top:40px}
body.desktop-app .desktop-nav-item{display:flex;align-items:center;gap:12px;box-sizing:border-box;height:44px;min-height:44px;padding:0 12px;border:0;border-radius:16px;background:transparent;color:var(--muted);font:400 15px var(--font);text-transform:none;letter-spacing:normal;box-shadow:none;cursor:pointer;text-align:left}
body.desktop-app .desktop-nav-item[aria-current=page]{background:var(--brand-tint);color:var(--ink);font-weight:600}
body.desktop-app .desktop-nav-item[aria-disabled=true]{color:var(--muted);cursor:default}
body.desktop-app .desktop-nav-item svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.desktop-app .desktop-profile{display:flex;align-items:center;gap:12px;width:100%;margin-top:auto;padding:12px;border:1px solid rgb(var(--divider-rgb));border-radius:12px;background:var(--page);color:var(--ink);text-align:left;text-transform:none;letter-spacing:normal;box-shadow:none;cursor:pointer}
body.desktop-app .desktop-avatar{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;background:var(--ink);color:var(--surface);font:600 14px var(--font)}
body.desktop-app .desktop-profile-copy{min-width:0;text-align:left}
body.desktop-app .desktop-profile-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 14px/1.4 var(--font)}
body.desktop-app .desktop-profile-meta{display:block;color:var(--muted);font:400 12px/1.5 var(--font)}
/* Remove containing blocks on desktop so Local's original fixed dock stays viewport-relative.
   Live's original dock remains body-level. Chrome uses CSS dimensions, never measurements. */
body.desktop-app.compact-journey-app>main{position:fixed!important;z-index:100!important;inset:0 0 0 var(--desktop-sidebar-width)!important;width:calc(100% - var(--desktop-sidebar-width))!important;max-width:none!important;height:100dvh!important;min-height:0!important;margin:0!important;padding:24px 40px 0!important;display:flex!important;flex-direction:column;align-items:center;overflow-x:hidden!important;overflow-y:auto!important;transform:none!important;translate:none!important;scale:none!important;filter:none!important;perspective:none!important;contain:none!important;will-change:auto!important;animation:none!important;transition:none!important;scroll-padding:24px 0!important;background:var(--page)}
body.desktop-app.compact-journey-app.desktop-in-test>main{top:calc(var(--desktop-header-height) + var(--desktop-rail-height))!important;height:calc(100dvh - var(--desktop-header-height) - var(--desktop-rail-height))!important}
body.desktop-app>main>:not(dialog):not(.mp-viewport-dock){box-sizing:border-box;width:100%;max-width:720px;flex:0 0 auto}
body.desktop-app.desktop-in-test::before{content:'';position:fixed;z-index:99;inset:0 0 auto var(--desktop-sidebar-width);height:var(--desktop-header-height);box-sizing:border-box;border-bottom:1px solid rgb(var(--divider-rgb));background:var(--surface)}
body.desktop-app .desktop-breadcrumbs{position:fixed;z-index:101;top:20px;left:calc(var(--desktop-sidebar-width) + 32px);right:40px;display:flex;align-items:center;gap:6px;min-width:0;color:var(--muted);font:400 13px/20px var(--font)}
body.desktop-app .desktop-breadcrumbs[hidden]{display:none}
body.desktop-app .desktop-breadcrumbs a{color:inherit;text-decoration:none}
body.desktop-app .desktop-breadcrumbs a:hover{text-decoration:underline}
body.desktop-app .desktop-breadcrumbs>span[aria-current]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.desktop-app.desktop-in-test>main>.flow-hero-shell{height:0!important;min-height:0!important;max-height:0!important;margin:0!important;padding:0!important;overflow:visible;contain:none;transform:none!important}
body.desktop-app.compact-journey-app.desktop-in-test>main .desktop-page-title{position:fixed!important;inset:44px auto auto calc(var(--desktop-sidebar-width) + 32px)!important;z-index:101;display:grid!important;grid-template-columns:36px minmax(0,1fr)!important;align-items:start;gap:12px;width:calc((100vw - var(--desktop-sidebar-width) - 64px)*.43)!important;max-width:none!important;min-height:0!important;height:auto!important;margin:0!important;padding:0!important;transform:none!important;background:transparent}
body.desktop-app.compact-journey-app.desktop-in-test>main .desktop-page-title:not(:has(>.mp-back)){grid-template-columns:minmax(0,1fr)!important}
body.desktop-app.compact-journey-app.desktop-in-test>main .desktop-page-title>.mp-screen-title-row{grid-column:auto!important;justify-content:flex-start!important;min-width:0}
body.desktop-app.compact-journey-app.desktop-in-test>main .desktop-page-title .mp-screen-title-copy{align-items:flex-start!important;text-align:left!important}
body.desktop-app.compact-journey-app.desktop-in-test>main .desktop-page-title h1{font-size:28px!important;font-weight:700;line-height:1.25!important;text-align:left!important;white-space:normal!important;text-transform:none}
body.desktop-app.compact-journey-app.desktop-in-test>main .desktop-page-title .screen-title-hint{font-size:14px!important;line-height:1.4;text-align:left!important}
body.desktop-app.compact-journey-app.desktop-in-test>main .desktop-page-title>.mp-back{position:static!important;transform:none!important;border-radius:50%;width:36px!important;height:36px!important}
body.desktop-app.compact-journey-app.desktop-in-test>main .desktop-page-title .eval-answer-summary{justify-content:flex-start!important}
body.desktop-app .collapsed-title-bar{display:none!important}
body.desktop-app main .title-collapse-filter{top:0!important}
/* Keep the existing rail and menu in their original header; hide only the phone bar. */
body.desktop-app .topbar.mp-app-header{position:fixed!important;inset:0 0 auto var(--desktop-sidebar-width)!important;z-index:120;width:calc(100% - var(--desktop-sidebar-width))!important;height:var(--desktop-header-height)!important;min-height:0;padding:0!important;background:var(--page);border:0;backdrop-filter:none;-webkit-backdrop-filter:none}
body.desktop-app .mp-app-header>.topbar-inner,body.desktop-app .nyne-route-bar{display:none!important}
body.desktop-app:not(.desktop-in-test) .mp-app-header{height:0!important;inset:0 0 auto var(--desktop-sidebar-width)!important}
body.desktop-app .mp-app-header>.mp-rail-shell{height:56px!important;padding:16px 40px!important;box-sizing:border-box;overflow-x:auto;overflow-y:hidden}
body.desktop-app:not(.desktop-in-test) .mp-app-header>.mp-rail-shell{display:none!important}
body.desktop-app .mp-stage-stepper{padding:0!important;margin:0!important;height:24px;overflow:visible}
body.desktop-app .mp-stage-stepper ol{display:flex!important;align-items:center;gap:48px!important;height:24px;margin:0;padding:0;list-style:none}
body.desktop-app .mp-stage-stepper li{position:relative;flex:none!important;display:flex;align-items:center;min-width:0;width:auto!important}
body.desktop-app .mp-stage-stepper button{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;min-height:24px;height:auto;padding:0;border:0;background:transparent;box-shadow:none;color:var(--ink);opacity:1;transform:none!important}
body.desktop-app .mp-stage-stepper .mp-step-circle{display:grid;place-items:center;box-sizing:border-box;flex:none;width:24px!important;height:24px!important;border:2px solid var(--ink);border-radius:50%;background:var(--surface);box-shadow:none}
body.desktop-app .mp-stage-stepper .mp-step-name{display:block;width:auto;max-height:none;-webkit-line-clamp:unset;font:600 12px/1.3 var(--font);text-transform:none;letter-spacing:normal;color:var(--ink);white-space:nowrap}
body.desktop-app .mp-stage-stepper button[data-state=finished] .mp-step-circle{background:var(--ink);color:var(--surface)}
body.desktop-app .mp-stage-stepper .mp-step-tick{display:none;width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:3}
body.desktop-app .mp-stage-stepper button[data-state=finished] .mp-step-tick{display:block}
body.desktop-app .mp-stage-stepper .mp-step-dot{display:none;width:8px;height:8px;border-radius:50%;background:var(--ink)}
body.desktop-app .mp-stage-stepper button[data-state=current] .mp-step-dot{display:block}
body.desktop-app .mp-stage-stepper button[data-state=future] .mp-step-circle{border-color:rgb(var(--divider-rgb))}
body.desktop-app .mp-stage-stepper button[data-state=future] .mp-step-name{color:var(--muted)}
body.desktop-app .mp-stage-stepper .mp-step-gap{position:absolute!important;inset:12px -40px auto auto!important;width:32px!important;height:1px!important;background:rgb(var(--divider-rgb));transform:none!important}
body.desktop-app .mp-stage-stepper .mp-step-gap>span{display:none!important}
body.desktop-app .mp-stage-stepper .mp-step-gap[data-filled=true]{background:var(--ink)}
body.desktop-app .desktop-sidebar>.teacher-app-menu{position:fixed!important;inset:auto auto 100px 16px!important;z-index:140;width:260px;max-height:calc(100dvh - 124px)!important;transform-origin:bottom left}
/* Same docks and controls, arranged in the page header. */
body.desktop-app.desktop-in-test>#live-action-dock,body.desktop-app.desktop-in-test main .shell-action-dock.mp-viewport-dock{position:fixed!important;inset:36px 40px auto auto!important;z-index:102;width:max-content!important;max-width:calc((100vw - var(--desktop-sidebar-width) - 64px)*.55)!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;display:flex!important;flex-direction:row!important;align-items:center;gap:10px;border:0!important;border-radius:0;background:transparent!important;box-shadow:none!important;backdrop-filter:none;pointer-events:auto}
body.desktop-app.desktop-in-test>#live-action-dock>.shell-action-dock{position:static!important;inset:auto!important;width:auto!important;min-width:0;max-width:none;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none;display:flex!important;flex-direction:row;align-items:center;gap:10px}
body.desktop-app.desktop-in-test :is(#live-action-dock,.mp-viewport-dock) :is(.shell-secondary-row,.mp-paper-actions,.mp-stack-actions,.eval-review-secondary){display:flex!important;flex-direction:row;align-items:center;gap:10px;width:auto!important;max-width:none;margin:0!important;padding:0!important;grid-column:auto}
body.desktop-app.desktop-in-test :is(#live-action-dock,.mp-viewport-dock) .shell-primary{flex:0 0 auto!important;box-sizing:border-box;min-width:220px!important;width:auto!important;max-width:none!important;height:56px!important;min-height:56px!important;margin:0!important;border-radius:16px!important;font-size:14px!important;font-weight:700;text-transform:uppercase;letter-spacing:.08em;background:var(--forward);color:var(--on-forward);box-shadow:var(--shadow-tile)}
body.desktop-app.desktop-in-test :is(#live-action-dock,.mp-viewport-dock) .shell-supporting-action{background:var(--brand-tint);color:var(--ink)}
body.desktop-app.desktop-in-test :is(#live-action-dock,.mp-viewport-dock) .mp-primary-label{font-size:14px!important;line-height:1.3!important}
body.desktop-app.desktop-in-test :is(#live-action-dock,.mp-viewport-dock) :is(.shell-dock-message,.eval-reviewed-count):empty{display:none!important}
body.desktop-app.desktop-in-test :is(#live-action-dock,.mp-viewport-dock) [hidden],body.desktop-app.desktop-in-test>#live-action-dock[hidden]{display:none!important}
/* Native top-layer dialogs still cover the whole window, including the sidebar. */
body.desktop-app dialog{z-index:200}
body.desktop-app dialog:has(>.mp-app-header){padding-top:0!important}
body.desktop-app dialog>.mp-app-header{display:none!important}
body.desktop-app :is(.class-sheet-camera,.review-inspection,.sheet-viewer){position:fixed!important;inset:0!important;width:100vw!important;max-width:none!important;height:100dvh!important;max-height:none!important;margin:0!important}
body.desktop-app .desktop-wait-original{display:none!important}
body.desktop-app .desktop-wait-loader{width:320px;max-width:100%}

/* Beat phone centring on every descendant, including the hint's text wrappers. */
body.desktop-app.compact-journey-app.desktop-in-test>:is(main,#live-action-dock) .desktop-page-title,
body.desktop-app.compact-journey-app.desktop-in-test>:is(main,#live-action-dock) .desktop-page-title *{text-align:left!important}
body.desktop-app .desktop-nav-item[aria-current=page] svg{stroke-width:2.2}
body.desktop-app .desktop-nav-item:not(:disabled):hover{background:var(--page);color:var(--ink)}
body.desktop-app .desktop-nav-item:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
body.desktop-app .desktop-crumb-separator{flex:none;width:14px;height:14px;fill:none;stroke:var(--brand-soft);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* Screen titles must beat the phone's blanket centring without relying on decoration timing. */
body.desktop-app.compact-journey-app.desktop-in-test>:is(main,#live-action-dock) :is(.mp-screen-title,.capture-heading,.paper-heading,.class-hero) :is(h1,.mp-screen-title-heading,.mp-screen-title-copy,.screen-title-hint){text-align:left!important}

/* V2 shell. Fixed chrome dimensions also apply to the existing screen enhancers. */
@media(min-width:1280px){body.desktop-app{--desktop-sidebar-width:232px}}
body.desktop-app:not(#_){--desktop-rail-height:0px!important}
body.desktop-app .desktop-sidebar{padding:20px 12px;z-index:130}
body.desktop-app .desktop-wordmark{display:flex;align-items:center;gap:10px;width:auto;height:32px;padding:0 8px}
body.desktop-app .desktop-ns-mark{display:block;flex:none;width:32px;height:32px;border-radius:22%;object-fit:contain}
body.desktop-app .desktop-wordmark-image{display:none;width:140px;padding:0}
body.desktop-app .desktop-nav{margin-top:32px}
body.desktop-app .desktop-nav-item{justify-content:center;font-size:14px}
body.desktop-app .desktop-nav-label,body.desktop-app .desktop-profile-copy{display:none}
body.desktop-app .desktop-profile{justify-content:center;gap:12px;padding:8px 0;border:0;border-radius:16px;background:transparent}
body.desktop-app .desktop-profile:hover,body.desktop-app .desktop-profile[aria-expanded=true]{background:var(--brand-tint)}
body.desktop-app .desktop-avatar{font-size:12px;font-weight:700}
body.desktop-app .desktop-nav-item:not(:disabled):hover{background:var(--brand-tint);color:var(--ink)}
body.desktop-app :is(.desktop-wordmark,.desktop-profile,.desktop-nav-item):focus-visible{outline:2px solid var(--ink);outline-offset:2px}
@media(min-width:1280px){
 body.desktop-app .desktop-wordmark{padding:0 12px}
 body.desktop-app .desktop-wordmark-image{display:block}
 body.desktop-app .desktop-nav-item{justify-content:flex-start}
 body.desktop-app .desktop-nav-label,body.desktop-app .desktop-profile-copy{display:block}
 body.desktop-app .desktop-profile{justify-content:flex-start;padding:8px}
}
body.desktop-app.desktop-in-test::before{display:none}
body.desktop-app:not(#_) .topbar.mp-app-header{z-index:99;background:var(--surface);border-bottom:1px solid rgb(var(--divider-rgb));overflow:visible}
body.desktop-app:not(#_) .desktop-sidebar>.teacher-app-menu{inset:auto auto 84px 12px!important;width:264px;box-sizing:border-box;padding:6px;border:1px solid rgb(var(--divider-rgb));border-radius:12px;background:var(--surface);box-shadow:var(--shadow-lift);max-height:calc(100dvh - 104px)!important;z-index:140}
body.desktop-app .teacher-app-menu>button{min-height:48px;border-radius:10px;text-transform:none;letter-spacing:normal}
body.desktop-app .desktop-breadcrumbs{top:20px;left:calc(var(--desktop-sidebar-width) + 88px);right:32px;gap:4px;font-size:12px;line-height:18px;pointer-events:auto}
body.desktop-app .desktop-breadcrumbs>span[aria-current]{color:var(--ink);font-weight:500}
body.desktop-app .desktop-crumb-separator{width:12px;height:12px;stroke:currentColor;opacity:.6}
body.desktop-app:not(#_) main .desktop-page-title{inset:42px auto auto calc(var(--desktop-sidebar-width) + 32px)!important;grid-template-columns:44px minmax(0,1fr)!important;gap:12px!important;width:calc((100vw - var(--desktop-sidebar-width) - 64px)*.43)!important;max-width:none!important;z-index:101}
body.desktop-app:not(#_) :is(main,#live-action-dock) .desktop-page-title h1{font-size:26px!important;font-weight:700!important;line-height:1.25!important;letter-spacing:-.03em!important}
body.desktop-app:not(#_) :is(main,#live-action-dock) .desktop-page-title .screen-title-hint{margin-top:2px;font-size:14px!important;line-height:20px!important;color:var(--muted)}
body.desktop-app:not(#_) main .desktop-page-title>.mp-back{width:44px!important;height:44px!important;min-width:44px!important;border:0!important;border-radius:16px!important;background:transparent!important;color:var(--ink)!important;box-shadow:none!important}
body.desktop-app:not(#_) main .desktop-page-title>.mp-back:hover{background:var(--brand-tint)!important}
body.desktop-app:not(#_) main .desktop-page-title>.mp-back svg{width:20px;height:20px}
/* The original rail sits inside the same white header, below its title/actions. */
body.desktop-app:not(#_) .mp-app-header>.mp-rail-shell{position:absolute!important;inset:auto 0 0!important;display:block!important;height:60px!important;padding:0 32px 12px!important;background:transparent!important;border:0!important;overflow:visible}
body.desktop-app:not(.desktop-in-test):not(#_) .mp-app-header>.mp-rail-shell,
body.desktop-app:not(#_) .mp-app-header>.mp-rail-shell[hidden]{display:none!important}
body.desktop-app:not(#_) .mp-stage-stepper{height:48px!important;min-height:0!important;overflow:visible!important}
body.desktop-app:not(#_) .mp-stage-stepper ol{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px!important;align-items:start!important;height:auto!important;overflow:visible!important}
body.desktop-app:not(#_) .mp-stage-stepper li{display:block!important;width:100%!important;min-width:0!important}
body.desktop-app:not(#_) .mp-stage-stepper button{position:relative;display:grid!important;grid-template-columns:20px minmax(0,1fr)!important;grid-template-rows:3px 20px;column-gap:8px;row-gap:8px;width:100%!important;min-width:0!important;min-height:31px!important;height:31px!important;padding:0!important;opacity:1!important;text-align:left!important;animation:none!important;transition:none!important}
body.desktop-app:not(#_) .mp-stage-stepper button::before{content:'';grid-column:1/-1;grid-row:1;display:block;width:100%;height:3px;border-radius:999px;background:var(--brand)}
body.desktop-app:not(#_) .mp-stage-stepper button[data-state=future]::before{border-radius:0;background:repeating-linear-gradient(to right,rgb(var(--brand-rgb)/.2) 0 8px,transparent 8px 14px)}
body.desktop-app:not(#_) .mp-stage-stepper .mp-step-circle{grid-row:2;width:20px!important;height:20px!important;border:1px solid rgb(var(--divider-rgb));background:transparent;color:var(--muted);font:700 10px/1 var(--font)}
body.desktop-app:not(#_) .mp-stage-stepper button[data-state=current] .mp-step-circle{border:2px solid var(--brand);color:var(--ink);background:transparent}
body.desktop-app:not(#_) .mp-stage-stepper button[data-state=finished] .mp-step-circle{border-color:var(--brand);background:var(--brand);color:var(--on-brand)}
body.desktop-app:not(#_) .mp-stage-stepper .mp-step-name{grid-row:2;display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;text-align:left!important;font:400 13px/20px var(--font);color:var(--muted)}
body.desktop-app:not(#_) .mp-stage-stepper button[data-state=finished] .mp-step-name{font-weight:500;color:var(--ink)}
body.desktop-app:not(#_) .mp-stage-stepper button[data-state=current] .mp-step-name{font-weight:700;color:var(--ink)}
body.desktop-app:not(#_) .mp-stage-stepper .mp-step-dot,body.desktop-app:not(#_) .mp-stage-stepper .mp-step-gap{display:none!important}
body.desktop-app:not(#_) .mp-stage-stepper .mp-step-tick{width:12px;height:12px}
body.desktop-app:not(#_) .mp-stage-stepper button[data-state=finished] .desktop-step-number{display:none}
/* Same Live body dock and Local-owned dock: only their desktop presentation changes. */
body.desktop-app.desktop-in-test:not(#_)>#live-action-dock,
body.desktop-app.desktop-in-test:not(#_) main .shell-action-dock.mp-viewport-dock{inset:32px 32px auto auto!important;max-width:calc((100vw - var(--desktop-sidebar-width) - 64px)*.55)!important;display:flex!important;flex-wrap:wrap;justify-content:flex-end;gap:12px}
body.desktop-app.desktop-in-test:not(#_) :is(#live-action-dock,.mp-viewport-dock) :is(.shell-action-dock,.shell-secondary-row,.mp-paper-actions,.mp-stack-actions,.eval-review-secondary){flex-wrap:wrap;justify-content:flex-end;gap:12px}
body.desktop-app.desktop-in-test:not(#_) :is(main,#live-action-dock) :is(.shell-dock-message,.stack-blocker,.eval-reviewed-count){order:-1;flex:0 1 260px;max-width:260px;width:auto!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;color:var(--muted);font:400 12px/1.375 var(--font);text-align:right!important}
body.desktop-app.desktop-in-test:not(#_) :is(main,#live-action-dock) :is(.shell-primary,.desktop-results-header>button,.desktop-eval-forward button){display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;min-width:0!important;width:auto!important;height:48px!important;min-height:48px!important;max-height:48px!important;padding:0 8px 0 20px!important;border:0!important;border-radius:16px!important;background:var(--forward)!important;color:#fff!important;font:600 15px/20px var(--font)!important;letter-spacing:normal!important;text-transform:none!important;box-shadow:var(--shadow-tile)!important}
body.desktop-app.desktop-in-test:not(#_) :is(main,#live-action-dock) .shell-primary.shell-supporting-action{background:var(--brand-tint)!important;color:var(--ink)!important}
body.desktop-app.desktop-in-test:not(#_) :is(main,#live-action-dock) :is(.shell-primary,.desktop-results-header>button,.desktop-eval-forward button):disabled{background:var(--brand-tint)!important;color:var(--muted)!important;box-shadow:none!important;opacity:1!important;cursor:not-allowed}
body.desktop-app.desktop-in-test:not(#_) :is(main,#live-action-dock) .main-button-spacer{display:none!important}
body.desktop-app.desktop-in-test:not(#_) :is(main,#live-action-dock) .main-button-copy{width:auto!important;flex:0 1 auto!important;text-transform:none!important}
body.desktop-app.desktop-in-test:not(#_) :is(main,#live-action-dock) :is(.mp-primary-label,.main-button-label){font:600 15px/20px var(--font)!important;letter-spacing:normal!important;text-transform:none!important;white-space:nowrap!important}
body.desktop-app.desktop-in-test:not(#_) :is(main,#live-action-dock) .main-button-arrow{display:grid!important;place-items:center;flex:none;width:32px!important;min-width:32px!important;height:32px!important;min-height:32px!important;border-radius:11px!important;background:rgb(255 255 255/.15)!important}
body.desktop-app.desktop-in-test:not(#_) :is(main,#live-action-dock) button:disabled>.main-button-arrow{background:rgb(var(--surface-rgb)/.7)!important}
body.desktop-app.desktop-in-test:not(#_) :is(main,#live-action-dock) .main-button-arrow svg{width:16px!important;height:16px!important}
body.desktop-app.desktop-in-test:not(#_) :is(main,#live-action-dock) .shell-secondary{min-height:44px;border-radius:16px;font-size:14px;text-transform:none;letter-spacing:normal}
body.desktop-app:not(#_):not(#__) main .desktop-results-header{inset:32px 32px auto auto!important}
/* Shell geometry for report headers; report bodies remain the existing v1 layout. */
body.desktop-app:not(#_):not(#__) main .student-report-dialog.desktop-student-report[open]{left:var(--desktop-sidebar-width)!important;width:calc(100vw - var(--desktop-sidebar-width))!important}
body.desktop-app:not(#_):not(#__) main .desktop-student-report header.mp-screen-title{grid-template-columns:44px minmax(0,1fr)!important;gap:12px;padding:20px 32px!important}
body.desktop-app:not(#_):not(#__) main .desktop-student-report header h2{font-size:26px!important;letter-spacing:-.03em!important}
body.desktop-app:not(#_):not(#__) main .desktop-student-report header .mp-back{width:44px!important;height:44px!important;min-width:44px!important;border:0!important;border-radius:16px!important}
body.desktop-app.desktop-in-test:not(#_)>.desktop-breadcrumbs:not([hidden]){display:flex!important}
body.desktop-app.desktop-in-test:not(#_) :is(#live-action-dock,.mp-viewport-dock) :is(.shell-secondary,.camera-choice,.gallery-choice):not(.shell-primary){display:inline-flex!important;align-items:center;justify-content:center;flex:none;width:auto!important;min-width:44px;min-height:44px!important;height:44px!important;padding:0 16px!important;border:1px solid rgb(var(--divider-rgb))!important;border-radius:16px!important;background:var(--surface)!important;color:var(--ink)!important;font:600 14px/20px var(--font)!important;letter-spacing:normal!important;text-transform:none!important;box-shadow:none!important}
body.desktop-app.desktop-in-test:not(#_) :is(#live-action-dock,.mp-viewport-dock) .mp-paper-icon{width:44px!important;padding:0!important}
body.desktop-app.desktop-in-test:not(#_) :is(main,#live-action-dock) :is(.desktop-results-header>button,.desktop-eval-forward button):not(.main-button)::after{content:'→';display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:11px;background:rgb(255 255 255/.15);font:600 20px/1 var(--font)}
body.desktop-app:not(#_) .desktop-sidebar>.teacher-app-menu[hidden]{display:none!important}
body.desktop-app:not(#_) .desktop-sidebar>.teacher-app-menu{overflow-y:auto;transform-origin:bottom left}
body.desktop-app:not(#_) .desktop-sidebar>.teacher-app-menu>button{font:600 14px/20px var(--font);letter-spacing:normal;text-transform:none;color:var(--ink);text-align:left}
body.desktop-app:not(#_) .desktop-sidebar>.teacher-app-menu>button:hover{background:var(--brand-tint)}
body.desktop-app:not(#_) .desktop-sidebar>.teacher-app-menu>button:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
body.desktop-app.desktop-in-test:not(#_):not(#__) main .desktop-eval-header-actions{top:32px;right:32px;max-width:calc((100vw - var(--desktop-sidebar-width) - 64px)*.55);flex-wrap:wrap;white-space:normal}
body.desktop-app.desktop-in-test:not(#_):not(#__) main .desktop-eval-forward :is(.shell-action-dock,.mp-viewport-dock){position:static!important;inset:auto!important;max-width:none!important}
body.desktop-app.desktop-in-test:not(#_):not(#__) main .desktop-page-title .screen-title-hint{display:block!important}
body.desktop-app:not(#_) .desktop-sidebar>.teacher-app-menu>.app-header-profile{gap:12px;min-height:56px}
body.desktop-app:not(#_) .desktop-sidebar>.teacher-app-menu .app-header-profile-copy{display:grid;gap:2px;min-width:0;text-align:left}
body.desktop-app:not(#_) .desktop-sidebar>.teacher-app-menu .app-header-profile-meta{font:400 12px/16px var(--font);color:var(--muted)}
body.desktop-app:not(#_) .desktop-sidebar>.teacher-app-menu>button .uppercase{font:600 14px/20px var(--font)!important;letter-spacing:normal!important;text-transform:none!important;color:var(--ink)!important}
