/* Halo Lab · approved Mobbin-derived product system.
   Intent: a strategist follows sources → evidence → decisions in a calm library.
   Depth: neutral surface changes and hairlines. Geist, 8px rhythm, quiet type colors.
   The adapters below preserve the existing page mechanics and accessibility states. */
@font-face{font-family:"Halo Product";src:url('./Geist-Variable.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{
  --ui-font:"Halo Product",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --ui-ink:#141414;--ui-secondary:#626262;--ui-muted:#707070;--ui-paper:#fff;
  --ui-wash:#f3f3f3;--ui-field:#f0f0f0;--ui-line:#e7e7e7;--ui-control-line:#d5d5d5;
  --ui-accent:#5136c9;--ui-accent-hover:#4027aa;--ui-accent-soft:#f0ecff;
  --ui-research:#17665c;--ui-research-soft:#eaf5f1;
  --ui-strategy:#885016;--ui-strategy-soft:#fff2df;
  --ui-call:#285b94;--ui-call-soft:#edf4fc;
  --ui-success:#246b42;--ui-success-soft:#eaf5ed;
  --ui-danger:#a9313e;--ui-danger-soft:#fff0f1;
  --ui-radius:24px;--ui-input-radius:16px;--ui-pill:999px;
  --ui-radius-control:999px;--ui-shadow-float:none;--ui-shadow-card:none;
  --ui-caption:12px;--ui-label:13px;--ui-body:16px;
  /* Compatibility aliases: one palette across the existing product modules. */
  --canvas:var(--ui-paper);--sidebar:var(--ui-paper);--surface:var(--ui-paper);
  --ink:var(--ui-ink);--muted:var(--ui-muted);--faint:var(--ui-muted);--line:var(--ui-line);
  --violet:var(--ui-accent);--blue:var(--ui-accent);--blue-soft:var(--ui-accent-soft);
  --green:var(--ui-success);--amber:var(--ui-strategy);--coral:var(--ui-danger);
  --paper:var(--ui-paper);--paper-raised:var(--ui-paper);--paper-inset:var(--ui-field);
  --ink-secondary:var(--ui-secondary);--ink-tertiary:var(--ui-muted);--ink-muted:var(--ui-muted);
  --line-soft:var(--ui-line);--line-strong:var(--ui-control-line);--danger:var(--ui-danger);
  --radius-sm:16px;--radius-md:24px;--radius-lg:24px;--shadow-card:none;--shadow-float:none;
  --ds-font-sans:var(--ui-font);--ds-ink-1:var(--ui-ink);--ds-ink-2:var(--ui-secondary);--ds-ink-3:var(--ui-muted);
  --ds-canvas:var(--ui-paper);--ds-surface:var(--ui-wash);--ds-surface-raised:var(--ui-paper);--ds-surface-inset:var(--ui-field);
  --ds-accent:var(--ui-accent);--ds-accent-strong:var(--ui-accent-hover);--ds-accent-soft:var(--ui-accent-soft);
  --ds-positive:var(--ui-success);--ds-positive-soft:var(--ui-success-soft);--ds-warning:var(--ui-strategy);--ds-warning-soft:var(--ui-strategy-soft);
  --ds-danger:var(--ui-danger);--ds-hairline:var(--ui-line);--ds-hairline-strong:var(--ui-control-line);
  --ds-radius-control:999px;--ds-radius-card:24px;--ds-radius-panel:24px;
  --ds-shadow-card:none;--ds-shadow-panel:none;--ds-shadow-float:none;
  --halo-focus:var(--ui-accent);--halo-press:1;
}
html{background:var(--ui-paper)}
body{font-family:var(--ui-font);letter-spacing:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body:not(:has(.call-shell)){color:var(--ui-ink);background:var(--ui-paper)}
button,input,textarea,select{font-family:var(--ui-font);letter-spacing:0}
::selection{background:var(--ui-accent-soft);color:var(--ui-ink)}
:where(button,a,input,textarea,select,summary,[contenteditable=true]):focus-visible{outline:2px solid var(--ui-accent)!important;outline-offset:3px}
:where(input,textarea,select){caret-color:var(--ui-accent);accent-color:var(--ui-accent)}
:where(h1,h2,h3,h4){letter-spacing:0;text-wrap:balance}
:where(.topbar,.app-header,.studio-topbar){box-shadow:none;backdrop-filter:none}
:where(dialog,.dialog,.share-dialog,.name-gate__card,.prejoin-card,.consent-modal section){border-radius:var(--ui-radius);box-shadow:none}
dialog::backdrop{background:rgb(20 20 20 / 20%);backdrop-filter:none}
:where(.modal,.share-overlay,.name-gate,.auth-gate,.workshop-edit-modal,.consent-modal){backdrop-filter:none}
:where(.toast,.t-toast){border-radius:var(--ui-pill)}
:where(.topbar,.app-header,.studio-topbar,.project-header-actions,.workspace-dialog footer,.document-toolbar,.dialog-actions,.share-dialog) :where(button,a):not(.brand):not(.logo){border-radius:var(--ui-pill)}
:where(.field,.discovery-field,.intake-fields,.access-invite,.share-link-field) :where(input,textarea,select){background:var(--ui-field);border:1px solid transparent;border-radius:var(--ui-input-radius);box-shadow:none;line-height:1.5}
:where(.field,.discovery-field,.intake-fields) :where(input,textarea,select):focus{border-color:var(--ui-accent);box-shadow:none}
:where(.eyebrow,.kicker,.create-menu__label){letter-spacing:0;text-transform:none}

/* Projects and project contents: the approved gallery, backed by real records. */
.app-shell{--sidebar-width:224px;grid-template-rows:88px minmax(calc(100dvh - 88px),auto)}
.app-shell.sidebar-hidden{--sidebar-width:0px}
.app-shell .sidebar{padding:28px 16px 24px;background:var(--ui-paper)}
.app-shell .sidebar-brand{height:40px}.app-shell .sidebar-brand a{width:130px}
.app-shell .sidebar-nav{margin-top:40px;gap:8px}
.app-shell .sidebar-nav :is(button,a){min-height:44px;padding:10px 14px;border-radius:var(--ui-pill);gap:12px;font-size:14px;color:var(--ui-secondary)}
.app-shell .sidebar-nav .is-active{color:var(--ui-accent);background:var(--ui-accent-soft)}
.app-shell .sidebar-nav :is(button,a):hover{background:var(--ui-wash)}
.app-shell .sidebar-nav svg{width:20px;height:20px}
.app-shell .sidebar-user{grid-template-columns:36px minmax(0,1fr) 28px;font-size:13px}
.app-shell .sidebar-user>span{width:36px;height:36px;background:var(--ui-accent-soft);color:var(--ui-accent)}
.app-shell .sidebar-user b{font-size:13px}.app-shell .sidebar-user small{font-size:11px}
.app-shell .topbar{height:88px;padding-inline:40px;background:var(--ui-paper);backdrop-filter:none;gap:16px}
.app-shell .topbar h1{font-size:32px;letter-spacing:0;font-weight:650}
.app-shell .search{height:44px;background:var(--ui-wash);border-color:transparent;border-radius:var(--ui-pill)}
.app-shell .search:focus-within{border-color:var(--ui-accent);box-shadow:none}
.app-shell .search input::placeholder{color:var(--ui-muted)}
.app-shell .view-toggle{height:44px;border-radius:var(--ui-pill);background:var(--ui-wash)}
.app-shell .view-toggle button{width:36px;border-radius:var(--ui-pill)}
.app-shell .view-toggle button.is-active{box-shadow:none;background:var(--ui-paper);color:var(--ui-accent)}
.app-shell .main-content{padding:24px 40px 64px}
.app-shell .project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.app-shell .folder-card{--folder-stock:color-mix(in srgb,var(--folder-color,var(--ui-accent)) 7%,var(--ui-paper));--folder-edge:color-mix(in srgb,var(--folder-color,var(--ui-accent)) 16%,var(--ui-paper));height:320px;perspective:none;transform-style:flat;border-radius:24px}
.app-shell .folder-back{display:block;inset:24px 0 auto;height:280px;border:1px solid var(--folder-edge);border-radius:0 24px 24px 24px;background:color-mix(in srgb,var(--folder-color,var(--ui-accent)) 13%,var(--ui-paper));box-shadow:none;transform:none;transition:none}
.app-shell .folder-back:before{content:"";position:absolute;left:-1px;top:-25px;width:38%;height:25px;background:inherit;border:1px solid var(--folder-edge);border-bottom:0;border-radius:18px 24px 0 0}
.app-shell .folder-sheet{display:block;inset:40px 24px auto;height:220px;background:var(--ui-paper);border:1px solid var(--ui-line);border-radius:16px;box-shadow:0 2px 4px rgb(20 20 20 / 4%);transform:rotate(-3deg);transition:transform 150ms ease-out}
.app-shell .folder-sheet:before{content:"";inset:-10px 8px auto;height:206px;background:var(--ui-paper);border:1px solid var(--ui-line);border-radius:12px;box-shadow:none;transform:rotate(5deg);transition:none}
.app-shell .folder-sheet:after{content:"";inset:10px 28px auto;height:3px;background:var(--folder-edge);border:0;border-radius:2px;box-shadow:0 9px 0 var(--ui-line),0 18px 0 var(--ui-line);transform:none;transition:none}
.app-shell .folder-front{inset:80px 0 auto;height:240px;padding:24px;gap:0;border:1px solid var(--folder-edge);border-radius:24px;background:var(--folder-stock);box-shadow:0 2px 3px rgb(20 20 20 / 3%),0 8px 16px rgb(20 20 20 / 3%);transform:none!important;transition:background-color 150ms ease-out,border-color 150ms ease-out}
.app-shell .folder-front:before{display:none}
.app-shell .folder-card:hover,.app-shell .folder-card.is-opening{transform:none}
.app-shell .folder-card:is(:hover,:focus-visible,.is-opening) .folder-front{background:color-mix(in srgb,var(--folder-color,var(--ui-accent)) 10%,var(--ui-paper));border-color:color-mix(in srgb,var(--folder-color,var(--ui-accent)) 28%,var(--ui-paper));box-shadow:0 2px 3px rgb(20 20 20 / 3%),0 8px 16px rgb(20 20 20 / 3%)}
.app-shell .folder-card:is(:hover,:focus-visible,.is-opening) .folder-back{transform:none}
.app-shell .folder-card:is(:hover,:focus-visible,.is-opening) .folder-sheet{transform:translateY(-4px) rotate(-3deg)}
.app-shell .folder-card:is(:hover,:focus-visible,.is-opening) .folder-sheet:before{transform:rotate(5deg)}
.app-shell .folder-card:is(:hover,:focus-visible,.is-opening) .folder-sheet:after{transform:none}
.app-shell .folder-icon{width:40px;height:40px;border-radius:30%;background:var(--folder-color,var(--ui-accent))}
.app-shell .folder-front h2{font-size:28px;letter-spacing:0;line-height:1.2;margin-top:20px}
.app-shell .folder-meta{font-size:13px;margin-top:8px}.app-shell .folder-owner b{font-size:12px}
.app-shell .folder-card--new .folder-back{width:auto;background:var(--ui-wash);border:1px dashed var(--ui-control-line)}
.app-shell .folder-card--new .folder-back:before{border:1px dashed var(--ui-control-line);border-bottom:0}
.app-shell .folder-card--new .folder-sheet{display:none}
.app-shell .folder-card--new .folder-front{inset:80px 0 auto;height:240px;padding:24px;background:var(--ui-paper);border:1px dashed var(--ui-control-line);box-shadow:none}
.app-shell .folder-card--new:hover .folder-front{background:var(--ui-wash)}
.app-shell .folder-card--new:hover .folder-front>span{transform:none;background:var(--ui-accent-soft);color:var(--ui-accent)}
.app-shell .folder-card--new h2{font-size:18px;margin-top:16px}
.app-shell .project-grid.is-list{grid-template-columns:1fr;gap:12px}
.app-shell .is-list .folder-card,.app-shell .is-list .folder-front{height:88px}
.app-shell .is-list .folder-back,.app-shell .is-list .folder-sheet{display:none}
.app-shell .is-list .folder-front{inset:0;padding:16px 20px;gap:16px;grid-template-columns:44px minmax(130px,1fr) 180px 160px;box-shadow:none}
.app-shell .folder-delete{top:92px;right:12px;box-shadow:none}
.app-shell .is-list .folder-delete{top:12px}
.app-shell .is-list .folder-front h2{font-size:18px;margin:0}.app-shell .is-list .folder-meta{margin:0}
.app-shell .project-detail{max-width:1280px;margin-inline:auto}
.app-shell .project-detail>header{margin-top:0;align-items:center;gap:24px}
.app-shell .detail-breadcrumb{font-size:13px;color:var(--ui-muted)}
.app-shell .project-detail-header h1{font-size:56px;line-height:1.1;letter-spacing:0;margin:16px 0 0;font-weight:650}
.app-shell .detail-meta{margin-top:16px;font-size:13px;gap:10px}
.app-shell .detail-avatar{width:32px;height:32px;background:var(--ui-accent-soft);color:var(--ui-accent)}
.app-shell .project-header-actions{margin:0;gap:8px;align-self:center}
.app-shell .project-header-actions :is(.project-access-button,.project-delete-button,.create-control){margin:0}
.app-shell .new-file-button,.app-shell .new-button{min-height:44px;height:auto;padding:12px 20px;background:var(--ui-accent);color:var(--ui-paper);font-size:13px;border:0;border-radius:var(--ui-pill);gap:8px}
.app-shell .new-file-button:hover,.app-shell .new-button:hover{background:var(--ui-accent-hover);transform:none}
.app-shell .project-access-button,.app-shell .project-delete-button{min-height:44px;height:44px;background:var(--ui-paper);border:1px solid var(--ui-line);font-size:13px}
.app-shell .project-delete-button{width:44px}
.app-shell .project-sections{gap:8px;border:0;margin:28px 0 24px}
.app-shell .project-sections button{min-height:44px;padding:10px 18px;font-size:13px;border:0;border-radius:var(--ui-pill);background:var(--ui-paper)}
.app-shell .project-sections button[aria-pressed=true]{background:var(--ui-ink);color:var(--ui-paper)}
.app-shell .project-tools{margin:24px 0 0;padding:0;border:0}
.app-shell .project-tools>p{font-size:14px;letter-spacing:0;text-transform:none;font-weight:600;color:var(--ui-ink)}
.app-shell .file-sort select{min-height:40px;border-radius:var(--ui-pill);background:var(--ui-wash);border:0}
.app-shell .project-flow-overview{margin:24px 0 40px;padding:0;display:flex;flex-direction:column;gap:24px;background:transparent;color:var(--ui-ink);border:0;box-shadow:none}
.app-shell .project-flow-overview__stages{order:-1;width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:20px 0;border-block:1px solid var(--ui-line)}
.app-shell .project-flow-overview__stages article{min-height:0;padding:0;background:transparent;border:0;gap:12px;color:var(--ui-muted)}
.app-shell .project-flow-overview__stages article>span{width:32px;height:32px;background:var(--ui-wash);color:var(--ui-muted);border-radius:50%;font-size:11px}
.app-shell .project-flow-overview__stages article b{font-size:13px;color:var(--ui-ink)}
.app-shell .project-flow-overview__stages article small{font-size:12px;color:var(--ui-muted);white-space:normal;line-height:1.5}
.app-shell .project-flow-overview__stages article.is-current>span{background:var(--ui-accent);color:var(--ui-paper)}
.app-shell .project-flow-overview__stages article.is-complete>span{background:var(--ui-success-soft);color:var(--ui-success)}
.app-shell .project-flow-overview__intro{width:100%;padding:24px 28px;background:var(--ui-accent-soft);border-radius:24px;display:grid;grid-template-columns:1fr auto;column-gap:28px}
.app-shell .project-flow-overview__intro>span{font-size:12px;font-weight:500;color:var(--ui-accent);letter-spacing:0;text-transform:none}
.app-shell .project-flow-overview__intro h3{font-size:22px;letter-spacing:0;color:var(--ui-ink);margin:8px 0;line-height:1.3}
.app-shell .project-flow-overview__intro p{font-size:14px;color:var(--ui-secondary);max-width:66ch;line-height:1.5}
.app-shell .project-flow-overview__intro button{grid-column:2;grid-row:1/4;align-self:center;margin:0;min-height:44px;padding:12px 20px;background:var(--ui-accent);color:var(--ui-paper);border-radius:var(--ui-pill);font-size:13px}
.app-shell .project-flow-overview__intro button i{color:inherit}
.app-shell .project-documents{margin:0;padding:0;border:0}
.app-shell :is(.project-documents,.file-section)>header{margin:0 0 24px;align-items:center;gap:20px}
.app-shell :is(.project-documents,.file-section)>header>div:first-child>span{font-size:24px;letter-spacing:0;font-weight:650}
.app-shell :is(.project-documents,.file-section,.document-lane)>header p{font-size:13px;line-height:1.5;letter-spacing:0;text-transform:none;color:var(--ui-muted)}
.app-shell :is(.project-documents,.file-section,.document-lane)>header b{font-size:12px;background:var(--ui-wash);color:var(--ui-muted)}
.app-shell .project-document-lanes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.app-shell .document-lane{margin:0 0 28px;padding:0;border:0}
.app-shell .document-lane>header{margin-bottom:16px;gap:16px;align-items:center}
.app-shell .document-lane>header>div>span{font-size:16px;letter-spacing:0;font-weight:600}
.app-shell .document-lane__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
.app-shell .document-lane__empty{padding:20px;min-height:80px;background:var(--ui-wash);border:0;border-radius:16px;grid-column:1/-1;font-size:13px}
.app-shell .project-file-shell{min-width:0;padding:0;isolation:isolate}
.app-shell .project-file{position:relative;display:flex;flex-direction:column;height:auto!important;min-height:0;padding:0 0 12px;background:transparent!important;border:0;border-radius:24px 24px 12px 12px;box-shadow:none!important;overflow:visible;transform:none!important}
.app-shell .project-file:before,.app-shell .project-file:after{display:none}
.app-shell .project-file h4{margin:16px 0 8px;padding:0;font-size:17px!important;font-weight:600;line-height:1.4;letter-spacing:0;overflow-wrap:anywhere;white-space:normal}
.app-shell .project-file>.file-kind{align-self:flex-start;font-size:12px;padding:5px 10px;border-radius:var(--ui-pill);background:var(--document-wash,var(--ui-accent-soft));color:var(--document-ink,var(--ui-accent));margin:0}
.app-shell .project-file>p{font-size:12px;color:var(--ui-secondary);line-height:1.5;margin:10px 0 0}
.app-shell .project-file>small{position:static;font-size:12px;color:var(--ui-muted);margin-top:6px}
.app-shell .file-workshop,.app-shell .file-moodboard,.app-shell .file-calibration{--document-wash:var(--ui-accent-soft);--document-ink:var(--ui-accent)}
.app-shell .file-evidence,.app-shell .file-opportunity{--document-wash:var(--ui-research-soft);--document-ink:var(--ui-research)}
.app-shell .file-strategy{--document-wash:var(--ui-strategy-soft);--document-ink:var(--ui-strategy)}
.app-shell .file-call,.app-shell .file-source{--document-wash:var(--ui-call-soft);--document-ink:var(--ui-call)}
.library-cover{display:block;height:244px;padding:24px 20px 0;overflow:hidden;border-radius:24px;background:var(--document-wash,var(--ui-wash));position:relative}
.library-paper{display:block;min-height:258px;border:1px solid var(--ui-line);border-radius:8px 8px 0 0;background:var(--ui-paper);padding:20px;color:var(--ui-ink)}
.library-paper__top{display:flex;justify-content:space-between;gap:12px;color:var(--document-ink,var(--ui-muted));font-size:10px}
.library-paper>strong{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:25px;line-height:1.2;font-weight:650;margin:20px 0;overflow-wrap:anywhere}
.library-paper__rows{display:grid;gap:8px;font-size:11px;line-height:1.4;color:var(--ui-secondary)}
.library-paper__rows>span{padding:8px 10px;background:var(--ui-wash);border-radius:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.library-cover__arrow{position:absolute;right:12px;bottom:12px;width:36px;height:36px;display:grid;place-items:center;background:var(--ui-paper);border:1px solid var(--ui-line);border-radius:50%;color:var(--document-ink,var(--ui-ink))}
.library-cover__arrow svg{width:17px;height:17px}
.project-file:hover .library-cover__arrow{background:var(--document-ink,var(--ui-accent));color:var(--ui-paper)}
.app-shell .project-file-shell>.file-actions{position:static;display:flex;justify-content:flex-end;gap:6px;padding:8px 0 0;opacity:1;visibility:visible;transform:none}
.app-shell .file-actions :is(.object-action,.object-delete){position:static;width:36px;height:36px;opacity:1;transform:none;box-shadow:none;border:1px solid var(--ui-line);background:var(--ui-paper);color:var(--ui-muted);border-radius:50%}
.app-shell .project-file-shell>.file-delete,.app-shell .project-file-shell>.file-share{top:12px;bottom:auto;width:36px;height:36px;opacity:1;box-shadow:none;border:1px solid var(--ui-line);background:var(--ui-paper);color:var(--ui-muted);border-radius:50%}
.app-shell .project-file-shell>.file-delete{right:12px}.app-shell .project-file-shell>.file-share{right:54px}
.app-shell .object-delete:hover{background:var(--ui-danger-soft)!important;color:var(--ui-danger)!important}
.app-shell .file-section{margin-top:32px;padding:28px 0;border-top:1px solid var(--ui-line);border-bottom:0}
.app-shell .file-section__list{border:0;border-radius:0;background:transparent;overflow:visible}
.app-shell .source-row{padding:16px 44px 16px 0;grid-template-columns:40px minmax(0,1fr) 72px 100px 44px;min-height:80px;gap:16px;background:transparent;border-bottom:1px solid var(--ui-line)}
.app-shell .source-row:hover{background:var(--ui-wash)}
.app-shell .source-row__icon{width:40px;height:44px;padding:0;display:grid;place-items:center;background:var(--ui-call-soft);color:var(--ui-call);border:0;border-radius:12px}
.app-shell .source-row__icon:after,.app-shell .source-row__icon i{display:none}
.app-shell .source-row__icon b{font-size:9px}
.app-shell .source-row__copy strong{font-size:14px;line-height:1.4;white-space:normal;overflow-wrap:anywhere}
.app-shell .source-row__copy small{font-size:12px;line-height:1.5;flex-wrap:wrap}
.app-shell .source-row__copy mark{background:var(--ui-wash);color:var(--ui-secondary);font-size:11px;border-radius:var(--ui-pill)}
.app-shell .source-row__size,.app-shell .source-row__date{font-size:12px}
.app-shell .source-row__open{width:44px;height:40px;font-size:12px;border-radius:var(--ui-pill);color:var(--ui-accent);background:var(--ui-accent-soft)}
.app-shell .source-row:hover .source-row__open{transform:none;background:var(--ui-accent);color:var(--ui-paper)}
.app-shell .file-section__header-actions button{min-height:44px;padding:10px 16px;background:var(--ui-paper);color:var(--ui-ink);border:1px solid var(--ui-control-line);font-size:13px;border-radius:var(--ui-pill)}
.app-shell .file-section__header-actions button:hover{transform:none;background:var(--ui-wash)}

/* Preparation, evidence review and shared dialogs. */
.app-shell .create-menu{background:var(--ui-paper);border:1px solid var(--ui-control-line);border-radius:24px;box-shadow:none;backdrop-filter:none;width:360px;padding:12px}
.app-shell .create-menu button{border-radius:16px;min-height:72px}
.app-shell .create-menu__icon{border-radius:30%;background:var(--ui-accent-soft);color:var(--ui-accent)}
.app-shell .create-menu__label{font-size:12px;color:var(--ui-muted);letter-spacing:0;text-transform:none}
.app-shell .workspace-dialog{border:1px solid var(--ui-line);border-radius:24px;box-shadow:none;background:var(--ui-paper)}
.app-shell .workspace-dialog h2{font-size:30px;letter-spacing:0;line-height:1.2}
.app-shell .workspace-dialog :is(input,textarea,select){border-radius:16px;box-shadow:none}
.app-shell .workspace-dialog .field>span{font-size:13px;color:var(--ui-secondary)}
.app-shell .workspace-dialog footer button{min-height:44px;font-size:13px;border-radius:var(--ui-pill)}
.app-shell .workspace-dialog footer .dialog-primary{color:var(--ui-paper);background:var(--ui-accent)}
.app-shell .workspace-dialog footer .dialog-danger{background:var(--ui-danger);color:var(--ui-paper)}
.app-shell .workspace-dialog footer button:disabled{color:var(--ui-muted);background:var(--ui-field)}
.app-shell .upload-drop{background:var(--ui-wash);border:1px dashed var(--ui-control-line);border-radius:24px}
.app-shell .upload-drop:is(:hover,.is-dragging){background:var(--ui-accent-soft);border-color:var(--ui-accent);box-shadow:none}
.app-shell .upload-drop>span{background:var(--ui-accent-soft);color:var(--ui-accent)}
.app-shell .workshop-types label,.app-shell .file-types label{border-radius:16px;background:var(--ui-wash);box-shadow:none}
.app-shell .workshop-types label:has(input:checked),.app-shell .file-types label:has(input:checked){background:var(--ui-accent-soft);border-color:var(--ui-accent);box-shadow:none}
.app-shell .project-empty button{background:var(--ui-accent)}
.app-shell .project-empty h3{font-size:36px;letter-spacing:0}
.app-shell .project-empty .eyebrow{font-size:12px;letter-spacing:0;text-transform:none;color:var(--ui-muted)}

/* Discovery: input fields and evidence stay distinct; color never approves a claim. */
.discovery-workspace{--research-control:var(--ui-field);--research-secondary:var(--ui-secondary);--research-radius:24px}
.discovery-workspace :is(h2,h3,h4){letter-spacing:0;font-weight:650}
.discovery-workspace .discovery-header h2{font-size:30px;letter-spacing:0}
.discovery-workspace button{border-radius:var(--ui-pill);min-height:44px;font-size:13px}
.discovery-workspace .discovery-primary{background:var(--ui-accent);color:var(--ui-paper);border-color:var(--ui-accent)}
.discovery-workspace .discovery-primary:hover{background:var(--ui-accent-hover);color:var(--ui-paper)}
.discovery-workspace :is(.discovery-nav,.discovery-lens-nav){gap:8px;border:0;padding:8px 0 16px}
.discovery-workspace :is(.discovery-nav,.discovery-lens-nav) button[aria-pressed=true]{background:var(--ui-research-soft);color:var(--ui-research);border-color:transparent}
.discovery-workspace .discovery-field :is(input,textarea,select){padding:14px 16px;background:var(--ui-field);border:1px solid transparent;border-radius:16px;font-size:15px}
.discovery-workspace .discovery-lenses button{border-radius:24px;background:var(--ui-research-soft);border-color:transparent;padding:24px}
.discovery-workspace .discovery-lenses small{color:var(--ui-research)}
.discovery-workspace :is(.discovery-record,.discovery-ai-setup){border-radius:24px;border-color:var(--ui-line);box-shadow:none}
.discovery-workspace .discovery-ai-actions{padding:12px;border-radius:24px;box-shadow:none;background:var(--ui-paper);border-color:var(--ui-control-line)}
.discovery-workspace :is(.discovery-note,.discovery-prompt-bank,.discovery-ai-gaps){border-radius:16px;background:var(--ui-wash)}
.discovery-workspace .discovery-ai-citations blockquote{border-color:var(--ui-research);background:var(--ui-research-soft);border-radius:0 16px 16px 0}
.discovery-workspace .discovery-table-wrap{border-radius:16px}
.discovery-workspace .discovery-intro aside{border-color:var(--ui-research)}
.discovery-ai-progress li[data-state=done] b{color:var(--ui-success)}
.discovery-ai-progress li[data-state=failed] b{color:var(--ui-danger)}
.discovery-ai-progress li[data-state=skipped] b{color:var(--ui-strategy)}
.discovery-ai-progress li[data-state=waiting] b{color:var(--ui-muted)}

/* Workshop library/dashboard, including calendar and account overlays. */
body.dashboard-page{background:var(--ui-paper);font-family:var(--ui-font);letter-spacing:0}
body.dashboard-page:before{display:none}
.dashboard-page .product-sidebar{background:var(--ui-paper)}
.dashboard-page .product-sidebar__nav :is(a,button){border-radius:var(--ui-pill)}
.dashboard-page .topbar{background:var(--ui-paper);box-shadow:none;backdrop-filter:none;border-color:var(--ui-line)}
.dashboard-page :is(.dashboard-widget,.kanban-card,.project-card,.rail-create,.dialog){border-radius:24px;box-shadow:none!important;border-color:var(--ui-line)}
.dashboard-page .kanban-column{background:var(--ui-wash);border-radius:24px}
.dashboard-page .kanban-card{background:var(--ui-paper)}
.dashboard-page :is(.pipeline-stat,.widget-card,.calendar-day){box-shadow:none;border-color:var(--ui-line)}
.dashboard-page .new-button{background:var(--ui-accent);color:var(--ui-paper);border-radius:var(--ui-pill)}
.dashboard-page :is(.filters,.filter-tabs,.board-tabs,.view-switch) button{border-radius:var(--ui-pill)}
.dashboard-page .dialog :is(input,textarea,select){border-radius:16px;background:var(--ui-field);box-shadow:none}
body.dashboard-page[data-design-system="workshop-os"] :is(h1,h2,h3){letter-spacing:0;font-weight:650}
body.dashboard-page[data-design-system="workshop-os"] .kanban-card__footer :is(a,button){border-radius:var(--ui-pill);box-shadow:none}

/* Opportunity Scan and Strategy Studio: flat document-first workspaces. */
.opportunity-page{grid-template-columns:224px minmax(0,1fr)}
.opportunity-page .sidebar{width:224px;background:var(--ui-paper);border-color:var(--ui-line)}
.opportunity-page .sidebar nav :is(a,span){min-height:44px;border-radius:var(--ui-pill);font-size:14px}
.opportunity-page .sidebar nav .active{background:var(--ui-research-soft);color:var(--ui-research)}
.opportunity-page .topbar{background:var(--ui-paper);backdrop-filter:none}
.opportunity-page .intro h1{font-size:clamp(40px,4.5vw,64px);line-height:1.1;letter-spacing:0;font-weight:650}
.opportunity-page :is(.workspace,.card,.document,.project-source,.research-card,.intelligence-card){border-radius:24px;box-shadow:none;border-color:var(--ui-line)}
.opportunity-page :is(input,textarea,select){background:var(--ui-field);border-radius:16px;box-shadow:none}
.opportunity-page :is(.primary,.generate-button,button[type=submit]){background:var(--ui-accent);color:var(--ui-paper);border-radius:var(--ui-pill)}
.opportunity-page :is(.project-readiness,.project-context,.project-context-banner){background:var(--ui-research-soft);border-color:var(--ui-line);border-radius:24px}
.opportunity-page .doc-cover{background:var(--ui-research-soft);color:var(--ui-ink);border-radius:24px 24px 0 0}
.opportunity-page .doc-cover :is(p,span){color:var(--ui-research)}
.opportunity-page .next-step{background:var(--ui-research-soft);color:var(--ui-ink)}
.opportunity-page .next-step p{color:var(--ui-secondary)}
.dashboard-page.strategy-page{--studio-canvas:var(--ui-paper);--studio-sidebar:var(--ui-paper);--studio-paper:var(--ui-paper);--studio-inset:var(--ui-field);--studio-ink:var(--ui-ink);--studio-muted:var(--ui-secondary);--studio-faint:var(--ui-muted);--studio-line:var(--ui-line);--studio-violet:var(--ui-accent);--studio-violet-soft:var(--ui-accent-soft);--studio-sidebar-width:224px}
.dashboard-page.strategy-page.studio-sidebar-hidden{--studio-sidebar-width:0px}
.dashboard-page.strategy-page .studio-sidebar{padding:28px 16px 24px}
.dashboard-page.strategy-page .studio-sidebar nav a{min-height:44px;padding:10px 14px;font-size:14px;border-radius:var(--ui-pill)}
.dashboard-page.strategy-page .studio-sidebar nav a.is-active{background:var(--ui-strategy-soft);color:var(--ui-strategy)}
.dashboard-page.strategy-page>.studio-topbar{background:var(--ui-paper);backdrop-filter:none}
.dashboard-page.strategy-page .studio-heading h1{font-size:clamp(40px,4.5vw,64px);line-height:1.1;letter-spacing:0;font-weight:650}
.dashboard-page.strategy-page :is(.project-library,.project-context-banner,.strategy-intake,.document-canvas,.document-aside,.generate-panel){border-radius:24px;box-shadow:none}
.dashboard-page.strategy-page .project-context-banner{background:var(--ui-strategy-soft);border-color:var(--ui-line)}
.dashboard-page.strategy-page .studio-heading .eyebrow{color:var(--ui-strategy);letter-spacing:0;text-transform:none;font-size:13px}
.dashboard-page.strategy-page :is(.scope-preset,.scope-customize,.guidance-item){background:var(--ui-wash);border-radius:16px;box-shadow:none}
.dashboard-page.strategy-page .scope-preset.selected{background:var(--ui-accent-soft);border-color:var(--ui-accent)}
.dashboard-page.strategy-page .generate-panel{background:var(--ui-strategy-soft);color:var(--ui-ink)}
.dashboard-page.strategy-page .generate-panel :is(p,small,.eyebrow,.blueprint-metrics span){color:var(--ui-secondary)}
.dashboard-page.strategy-page .generate-panel h2{color:var(--ui-ink);font-size:28px;line-height:1.2}
.dashboard-page.strategy-page .blueprint-metrics>div{background:var(--ui-paper);border-radius:16px}
.dashboard-page.strategy-page .generate-panel :is(.blueprint-metrics strong,.blueprint-list>span){color:var(--ui-ink)}
.dashboard-page.strategy-page .generate-panel .generate-button{background:var(--ui-accent);color:var(--ui-paper);border-radius:var(--ui-pill)}
.dashboard-page.strategy-page .document-toolbar{background:var(--ui-paper);backdrop-filter:none}
.dashboard-page.strategy-page .document-toolbar>div{background:var(--ui-wash);border-radius:var(--ui-pill)}
.dashboard-page.strategy-page .document-canvas h1{font-size:clamp(40px,4vw,64px);line-height:1.1;letter-spacing:0}
.dashboard-page.strategy-page .document-canvas h2{letter-spacing:0}
.dashboard-page.strategy-page .aside-tabs{background:var(--ui-wash)}
.dashboard-page.strategy-page .aside-tabs button{border-radius:var(--ui-pill)}
.dashboard-page.strategy-page .strategy-intake :is(input,textarea){border-radius:16px}
.dashboard-page.strategy-page .strategy-approval{background:var(--ui-wash);border-color:var(--ui-line);border-radius:24px}
.dashboard-page.strategy-page .strategy-approval :is(input,textarea){padding:14px 16px;border-color:var(--ui-control-line);border-radius:16px;background:var(--ui-paper);font-size:16px}
.dashboard-page.strategy-page .strategy-approval button{min-height:44px;border-radius:var(--ui-pill);background:var(--ui-accent)}
.dashboard-page.strategy-page .document-toolbar button{border-radius:var(--ui-pill)}

/* Live workshops: retain presentation scale, image colors and selected answers. */
.workshop-page{font-family:var(--ui-font);background:var(--ui-paper)}
.workshop-page .app-header{background:var(--ui-paper);backdrop-filter:none;border-color:var(--ui-line);box-shadow:none}
.workshop-page .app-header__title{letter-spacing:0;font-weight:600}
.workshop-page :is(.speaker-launch,.highlight-launch,.owner-save,.owner-stop){border-radius:var(--ui-pill);box-shadow:none}
.workshop-page .owner-save{background:var(--ui-accent);color:var(--ui-paper)}
.workshop-page .owner-stop{background:var(--ui-paper);border:1px solid var(--ui-control-line);color:var(--ui-ink)}
body.workshop-page :is(.title,.display-title,.section-title){font-family:var(--ui-font);letter-spacing:0;line-height:1.1;font-weight:650}
body.workshop-page .slide:not(.dark){background:var(--ui-paper)}
body.workshop-page .slide.dark{--ink:var(--ui-paper);--ink-secondary:#dedbec;--ink-tertiary:#c7c2dc;background:#201b32;color:var(--ui-paper)}
.workshop-page :is(.choice,.strategy-option,.evidence-card,.comparison-cell,.priority-card,.commitment-panel,.summary-card,.question-card,.decision-card,.exercise-card,.vc-studio-section){border-radius:24px;box-shadow:none}
.workshop-page :is(.choice,.strategy-option,.priority-card,.evidence-option).selected{box-shadow:inset 0 0 0 2px var(--ui-accent)!important;border-color:var(--ui-accent);background:var(--ui-accent-soft);color:var(--ui-ink)}
.workshop-page :is(.choice,.strategy-option,.priority-card,.evidence-option).selected :is(p,small,.choice-desc){color:var(--ui-secondary)}
.workshop-page :is(.response,.synthesis-field .response,.free-input,.notes-input){border-radius:16px;border-color:var(--ui-line);background:var(--ui-field);box-shadow:none}
body.workshop-page .session-hud{position:fixed;background:var(--ui-paper);border:1px solid var(--ui-control-line);border-radius:var(--ui-pill);box-shadow:none;backdrop-filter:none}
body.workshop-page .session-hud__actions :is(button,a),body.workshop-page .session-hud__toggle{border-radius:var(--ui-pill)}
.workshop-page .name-gate__card,.workshop-page .share-dialog{box-shadow:none;border:1px solid var(--ui-line);border-radius:24px}
.workshop-page :is(.name-gate,.share-overlay){backdrop-filter:none}
.workshop-page :is(.moodboard-frame,.vc-reference-item){border-radius:24px;box-shadow:none!important;transform:none!important}
.workshop-page .live-spine{background:var(--ui-accent-soft);color:var(--ui-ink)}
.workshop-page.strategy-page .live-spine{background:var(--ui-accent-soft)}
.workshop-page.strategy-page .live-spine :is(b,span,strong){color:var(--ui-accent)}
.workshop-page .vc-studio-footer{background:var(--ui-paper);border-top:1px solid var(--ui-line);box-shadow:none}
.workshop-page :is(.prepared-discussion,.speaker-notes,.facilitator-notes){background:var(--ui-accent-soft);border-radius:16px}

/* Published/read-only documents and facilitator notes. */
body:has([data-document]) :is(.document,.os-card,.os-starting article,.os-scores article){border-radius:24px;box-shadow:none}
body:has([data-document]) .os-cover{background:var(--ui-research-soft);color:var(--ui-ink);border-radius:24px}
body:has([data-document]) .os-cover :is(span,p){color:var(--ui-research)}
body:has([data-document]) :is(.os-cover h1,.document h1){letter-spacing:0;line-height:1.1}
body:has([data-document]) .os-card__primary{background:var(--ui-research-soft);border-radius:16px}
body:has([data-document]) .os-next{background:var(--ui-strategy-soft);color:var(--ui-ink);border-radius:24px}
body:has(.speaker),body:has(.speaker-head){font-family:var(--ui-font);background:var(--ui-paper)}
:is(.speaker,.speaker-head+main) :is(.note,.note-block){border-radius:24px;box-shadow:none;border-color:var(--ui-line)}
:is(.speaker,.speaker-head+main) h1{letter-spacing:0;line-height:1.15}
:is(.speaker,.speaker-head+main) :is(.say,.ask,.objective){background:var(--ui-accent-soft)}
.speaker .controls button,.speaker-head~footer button{border-radius:var(--ui-pill)}

/* Calls: dark stage is intentional; no white-page tokens on video controls. */
body:has(.call-shell){--ink:#f7f7fa;--muted:#b5b3c1;--line:#393643;--panel:#25222e;--stage:#19161f;--blue:#b7a8ff;--danger:#d14454;background:#141218;color:var(--ink);font-family:var(--ui-font)}
body:has(.call-shell) .call-header{background:#19161f;box-shadow:none;backdrop-filter:none}
body:has(.call-shell) .control-dock{background:#25222e;border-color:#504b5c;box-shadow:none;backdrop-filter:none;border-radius:var(--ui-pill)}
body:has(.call-shell) .control{border-radius:var(--ui-pill)}
body:has(.call-shell) .participant-tile__fallback span{background:var(--ui-accent);border-radius:30%}
body:has(.call-shell) .prejoin{background:var(--ui-wash);color:var(--ui-ink)}
body:has(.call-shell) .prejoin-card{background:var(--ui-paper);border-color:var(--ui-line);border-radius:24px;box-shadow:none}
body:has(.call-shell) .prejoin-card h1{font-size:48px;letter-spacing:0;line-height:1.1}
body:has(.call-shell) .join-button{border-radius:var(--ui-pill);background:var(--ui-accent)}
body:has(.call-shell) .prejoin input{color:var(--ui-ink);background:var(--ui-field);border-radius:16px}
body:has(.call-shell) .device-toggles button{border-radius:var(--ui-pill)}
body:has(.call-shell) .device-toggles button.is-on{background:var(--ui-accent-soft);color:var(--ui-accent)}
body:has(.call-shell) .consent-modal section{background:var(--ui-paper);box-shadow:none}

/* Language remains in its owned menu/slot; never add another floating control. */
#google_translate_element select.goog-te-combo{font-family:var(--ui-font);border-radius:var(--ui-pill);box-shadow:none;border-color:var(--ui-control-line)}
#google_translate_element.language-switcher--inline select.goog-te-combo{background:var(--ui-field);border-radius:var(--ui-pill)}

@media(max-width:1200px){
 .app-shell .project-grid,.app-shell .project-document-lanes{grid-template-columns:repeat(2,minmax(0,1fr))}
 .app-shell .topbar{padding-inline:28px}.app-shell .main-content{padding-inline:28px}
 .app-shell .project-flow-overview__intro{grid-template-columns:1fr}.app-shell .project-flow-overview__intro button{grid-column:auto;grid-row:auto;justify-self:start;margin-top:16px}
 .app-shell .source-row{grid-template-columns:40px minmax(0,1fr) 72px 44px}.app-shell .source-row__date{display:none}
 .dashboard-page.strategy-page .document-workspace{grid-template-columns:minmax(0,1fr) 320px}
}
@media(max-width:960px){
 .app-shell .project-detail>header{align-items:flex-start;flex-wrap:wrap}
 .app-shell .project-header-actions{align-self:flex-start}
 .app-shell .project-flow-overview__stages{grid-template-columns:repeat(2,minmax(0,1fr))}
 .dashboard-page.strategy-page .document-workspace{grid-template-columns:minmax(0,1fr)}
 .dashboard-page.strategy-page .document-aside{position:static;max-height:none}
 .dashboard-page.strategy-page .document-aside :is(.guidance-panel,.chat-panel,.history-panel){max-height:none}
}
@media(max-width:850px){.opportunity-page{display:block}.opportunity-page .sidebar{display:none}}
@media(max-width:760px){
 .app-shell{--sidebar-width:0px;grid-template-rows:80px minmax(calc(100dvh - 80px),auto)}
 .app-shell .sidebar{width:224px}.app-shell:not(.mobile-sidebar-open) .sidebar{transform:translateX(-100%);opacity:0;pointer-events:none}
 .app-shell.mobile-sidebar-open .sidebar{transform:none;opacity:1;pointer-events:auto}
 .app-shell .topbar{height:80px;padding-inline:20px;gap:10px}.app-shell .topbar h1{font-size:28px}
 .app-shell .main-content{padding:20px 20px 64px}.app-shell .project-grid,.app-shell .project-document-lanes{grid-template-columns:1fr!important;gap:24px}
 .app-shell .project-grid.is-list{gap:12px}.app-shell .is-list .folder-front{grid-template-columns:40px minmax(0,1fr)}
 .app-shell .is-list .folder-meta,.app-shell .is-list .folder-owner{display:none}
 .app-shell .project-detail-header h1{font-size:44px}.app-shell .detail-meta{font-size:12px;flex-wrap:wrap}
 .app-shell .project-header-actions{gap:8px;flex-wrap:wrap;width:100%;flex-direction:row;align-items:center}
 .app-shell .create-menu{width:min(360px,calc(100vw - 40px));right:auto;left:20px}
 .app-shell .project-sections{gap:4px}.app-shell .project-sections button{padding-inline:12px;font-size:12px}
 .app-shell .project-flow-overview__stages{gap:20px 12px}.app-shell .project-flow-overview__stages article{gap:8px}
 .app-shell .project-flow-overview__stages article small{font-size:11px}
 .app-shell .project-flow-overview__intro{padding:24px}.app-shell .project-flow-overview__intro h3{font-size:22px}
 .app-shell .project-documents>header,.app-shell .file-section>header{align-items:flex-start;flex-wrap:wrap}
 .app-shell :is(.project-documents,.file-section)>header>div:first-child{flex:1;min-width:160px}
 .app-shell .file-section__header-actions{flex-direction:row;align-items:center}
 .app-shell .source-row{grid-template-columns:36px minmax(0,1fr) 44px;gap:12px;padding-right:36px}
 .app-shell .source-row__size{display:none}.app-shell .source-row__copy strong{font-size:13px}
 .app-shell .source-row__copy small{font-size:11px}.app-shell .source-row__icon{width:36px}
 .app-shell .library-cover{height:280px;padding:24px 28px 0}.library-paper{min-height:292px}.library-paper>strong{font-size:28px}
 .app-shell .file-actions :is(.object-action,.object-delete){width:44px;height:44px}
 .dashboard-page.strategy-page{--studio-sidebar-width:0px}.dashboard-page.strategy-page .studio-sidebar{display:none}
 .dashboard-page.strategy-page>main{width:calc(100% - 32px)}
 .dashboard-page.strategy-page .studio-heading{gap:24px;grid-template-columns:1fr}
 .dashboard-page.strategy-page .intake-layout{grid-template-columns:minmax(0,1fr)}
 .dashboard-page.strategy-page .studio-rail{position:static}
 .dashboard-page.strategy-page .document-canvas{padding:36px 24px}
 .workshop-page .session-hud{border-radius:24px}.workshop-page .app-header{padding-inline:16px}
 .workshop-page .share-dialog{max-width:calc(100% - 24px)}
 body.workshop-page .session-hud{border-radius:24px;grid-template-columns:minmax(0,1fr) 40px;gap:6px 12px;min-height:56px}
 body.workshop-page .session-hud:not(.is-collapsed) .session-hud__meta{grid-column:1;grid-row:1;justify-content:space-between}
 body.workshop-page .session-hud:not(.is-collapsed) .session-hud__section{display:block}
 body.workshop-page .session-hud:not(.is-collapsed) .session-hud__progress{display:block;grid-column:1;grid-row:2}
 body.workshop-page .session-hud:not(.is-collapsed) .session-hud__toggle{display:grid;place-items:center;position:static;grid-column:2;grid-row:1/3;transform:none;width:40px;height:40px}
 body.workshop-page.strategy-page .session-hud{top:142px}
 .visual-calibration-page .vc-session-bar{height:auto;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px 16px;background:var(--ui-paper);backdrop-filter:none}
 .visual-calibration-page .vc-session-bar__progress{grid-column:1/-1;grid-row:2;min-width:0;width:100%}
 .visual-calibration-page .vc-session-bar__status{min-width:0}
 .discovery-workspace .discovery-field :is(input,textarea,select){font-size:16px}
 body :is(input,textarea,select){font-size:16px}
 .opportunity-page main{padding:32px 20px 64px}
 body:has(.call-shell) .prejoin-card h1{font-size:36px}
}
@media(forced-colors:active){:where(button,a,input,textarea,select,summary,[contenteditable=true]):focus-visible{outline-color:Highlight!important}.app-shell .project-sections button[aria-pressed=true]{outline:2px solid Highlight}}
@media(prefers-reduced-motion:reduce){.app-shell .folder-card:is(:hover,:focus-visible,.is-opening) .folder-sheet{transform:rotate(-3deg)}}
@media print{html,body{background:white!important}.library-cover{break-inside:avoid}.workshop-page .slide.dark{background:white!important;color:black!important}.app-shell .file-actions{display:none}}
