/* Mobile material uses the existing product palette and symbols. */
.mobile-dock-zone,.mobile-dashboard-tabs,.mobile-demo-trigger,.mobile-context-group { display:none; }
@media (max-width:900px) {
  body.mobile-shell { --mobile-panel:var(--panel,#fffefa); --mobile-ink:var(--ink,#172226); --mobile-muted:var(--muted,#5f6e73); --mobile-line:var(--line,#c8d2d5); --dock-height:var(--mobile-dock-height,76px); --display-safe-top:0px; }
  body.mobile-shell { font-family:var(--hwv-font,Manrope,Inter,ui-sans-serif,system-ui,sans-serif)!important; }
  .mobile-shell [hidden] { display:none!important; }
  body.mobile-shell>.central-dock,.mobile-shell .central-nav-more,.mobile-shell .symbol-flyover,.mobile-shell .mobile-workspace-grip { display:none!important; }
  .mobile-dock-zone { display:block; position:fixed; inset:auto 0 0; z-index:var(--z-bottom-nav,40); padding:6px max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left)); background:var(--mobile-panel); color:var(--mobile-ink); box-sizing:border-box; }
  .mobile-dock-zone .central-navigation { position:static; transform:none; margin:0; width:100%; max-width:none; padding:0; display:flex!important; flex-wrap:wrap; align-items:center; gap:6px; color:inherit; }
  .mobile-dock-zone .central-nav-global { display:contents!important; }
  .mobile-dock-zone .central-navigation>button,.mobile-dock-zone .central-nav-global>button { flex:1; min-width:44px; min-height:54px; height:auto; padding:6px 3px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:3px; border:1px solid var(--mobile-line); border-radius:12px; color:inherit; background:var(--mobile-panel); box-shadow:0 6px 18px #0000000d; font:inherit; font-size:11px; line-height:1.2; position:relative; }
  .mobile-dock-zone .central-nav-label { display:block!important; font-size:11px; line-height:1.2; }
  .mobile-dock-zone svg { width:23px; height:23px; stroke:currentColor; fill:none; stroke-width:2; }
  .mobile-dock-zone .mobile-mode-trigger { border-color:var(--acid,#a5cc28)!important; }
  .mobile-more-symbol { height:23px; font-size:22px; line-height:18px; }
  .mobile-dock-zone .workspace-view-badge { position:absolute; right:3px; top:2px; min-width:12px; font-size:10px; }
  .mobile-dock-zone .central-navigation>[role="status"]:empty { display:none; }
  .mobile-dock-zone .central-navigation>[role="status"]:not(:empty) { position:static; width:100%; transform:none; font-size:12px; }
  .mobile-options-tray { position:absolute; bottom:100%; left:max(10px,env(safe-area-inset-left)); right:max(10px,env(safe-area-inset-right)); padding:10px; border:1px solid var(--mobile-line); border-radius:16px 16px 0 0; background:var(--mobile-panel); max-height:min(50dvh,calc(var(--mobile-viewport-height,100dvh) - 100px)); overflow:auto; overscroll-behavior:contain; box-sizing:border-box; }
  .mobile-options-tray :is(.central-nav-context,.mobile-options-account) { flex-wrap:wrap; gap:6px; width:100%; }
  .mobile-options-tray :is(.central-nav-context,.mobile-options-account)>button,.mobile-options-back,.mobile-context-group button { flex:1; display:flex!important; flex-direction:row; align-items:center; justify-content:center; gap:6px; min-width:44px; min-height:44px; height:auto; padding:7px 8px; border:1px solid var(--mobile-line); border-radius:12px; background:var(--mobile-panel); color:inherit; font:inherit; font-size:12px; white-space:normal; position:relative; box-sizing:border-box; }
  .mobile-options-tray .central-nav-label { font-size:12px; }
  .mobile-options-tray .central-nav-context>button.is-active { display:none!important; }
  .mobile-context-group { display:flex; flex:1; flex-wrap:wrap; min-width:85px; }
  .mobile-context-actions { display:flex; flex-direction:column; width:100%; gap:6px; padding-top:6px; }
  .mobile-context-group:has([aria-expanded="true"]) { flex-basis:100%; }
  .mobile-context-expand[aria-expanded="true"] { border-color:var(--acid,#a5cc28); }
  .mobile-options-tray .central-nav-context:has(.mobile-context-group)>[data-workspace-tab="questions"],.mobile-options-tray .central-nav-context:has(.mobile-context-group)>[data-workspace-tab="answers"] { display:none!important; }
  .mobile-shell [data-weiterblick] .weiterblick-actions { display:none; }
  .mobile-options-tray .workspace-view-badge { position:static; }
  .mobile-options-account .hwv-quota-button { font-size:0!important; background:var(--mobile-panel)!important; box-shadow:none; border-radius:12px; }
  .mobile-options-account .hwv-quota-button::after { content:attr(data-mobile-quota-label); font-size:12px; line-height:1.3; }
  .mobile-options-display { display:flex; flex-wrap:wrap; align-items:flex-start; gap:6px; }
  .mobile-options-display :is(.persistent-display-controls,.global-controls) { display:flex!important; flex:1; flex-wrap:wrap; gap:6px; position:static!important; transform:none!important; max-width:none!important; padding:0; }
  .mobile-options-display :is(.image-world-button,.ambiance-switch,.theme-switch) { display:flex!important; align-items:center; justify-content:center; min-width:44px; min-height:44px; width:auto!important; max-width:100%; height:auto!important; padding:7px 8px!important; border:1px solid var(--mobile-line)!important; border-radius:12px!important; color:inherit!important; background:var(--mobile-panel)!important; font-size:13px; }
  .mobile-options-display .image-world { min-width:44px; }
  .mobile-options-display .image-world-menu { position:static; width:100%; min-width:180px; max-height:150px; overflow:auto; background:var(--mobile-panel); color:inherit; }
  .mobile-options-back { flex:0 0 auto; }
  .mobile-options-tray :is(.central-nav-context,.mobile-options-account,.mobile-options-display)[hidden] { display:none!important; }
  .mobile-shell :is(input,textarea,select) { font-size:16px!important; max-width:100%; box-sizing:border-box; }
  .mobile-shell :is(button,summary,input:not([type="checkbox"]):not([type="radio"]),select) { min-height:44px; }
  .mobile-shell label:has(>input:is([type="checkbox"],[type="radio"])) { min-height:44px; align-items:center; }
  .mobile-shell :is(button,a,summary,input,textarea,select):focus-visible { outline:3px solid var(--acid,#84aa38); outline-offset:2px; }
  .mobile-shell :is(.public-landing,.setup-sky,.main-shell,.dashboard-shell) { margin:0!important; top:var(--mobile-viewport-top,0px)!important; height:calc(var(--mobile-viewport-height,100dvh) - var(--mobile-dock-height,76px))!important; max-height:none; width:100%!important; max-width:none!important; transform:none!important; left:0; padding:12px 10px 8px!important; overflow:auto!important; scroll-padding:12px 0 24px; box-sizing:border-box; }
  /* The landing keeps the existing full desktop scene, not a second image. */
  .mobile-shell .public-landing { min-height:0!important; }
  .mobile-shell .public-landing>.unified-entry:not([data-entry-feedback]) { display:block!important; position:absolute!important; top:auto!important; bottom:24px; left:50%; transform:translateX(-50%); width:min(640px,calc(100% - 32px)); height:auto!important; min-height:0!important; margin:0!important; padding:0!important; background:none; border:0; border-radius:0; }
  .mobile-shell .unified-entry:not([data-entry-feedback]) .entry-input-stage { position:static!important; transform:none!important; inset:auto!important; width:100%!important; padding:0!important; margin:0!important; }
  .mobile-shell .unified-entry:not([data-entry-feedback]) form { display:grid!important; grid-template-columns:minmax(0,1fr) auto; gap:8px; margin:0; }
  .mobile-shell .unified-entry:not([data-entry-feedback]) form>label { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
  .mobile-shell .unified-entry:not([data-entry-feedback]) form>input { width:100%; min-width:0; }
  .mobile-shell .unified-entry:not([data-entry-feedback]) [data-unified-submit] { padding:10px 14px; }
  .mobile-shell.mobile-keyboard-open .public-landing { height:var(--mobile-viewport-height,100dvh)!important; }
  .mobile-shell .public-landing>.unified-entry::before { content:none!important; }
  .mobile-shell .public-landing>.unified-entry .entry-story { display:none!important; }
  .mobile-shell .entry-brand { position:fixed!important; top:calc(12px + env(safe-area-inset-top))!important; left:calc(16px + env(safe-area-inset-left))!important; width:139px!important; margin:0!important; padding:0!important; }
  .mobile-shell .entry-brand img { width:100%; height:auto; }
  /* Recovery is a functional entry view, never hidden with the landing copy. */
  .mobile-shell .unified-entry[data-entry-feedback] { position:relative!important; display:block!important; width:min(100%,640px); height:auto!important; min-height:0!important; margin:90px auto 72px!important; padding:16px!important; background:var(--mobile-panel); color:var(--mobile-ink); border:1px solid var(--mobile-line); border-radius:16px; }
  .mobile-shell .unified-entry[data-entry-feedback] .entry-input-stage { position:static!important; transform:none!important; width:100%!important; padding:0!important; margin:0!important; }
  .mobile-shell [data-entry-feedback] form { display:grid!important; grid-template-columns:minmax(0,1fr); gap:8px; }
  .mobile-shell [data-entry-feedback] :is(input,textarea) { width:100%; min-width:0; }
  .mobile-shell .landing-demo-invite,.mobile-shell .landing-demo-fallback { display:none!important; }
  .mobile-demo-trigger { display:block; position:absolute; top:calc(62px + env(safe-area-inset-top)); left:calc(16px + env(safe-area-inset-left)); width:auto; margin:0; min-height:44px; padding:6px 0; border:0; border-radius:0; background:none; color:var(--mobile-ink); font:inherit; font-size:13px; text-decoration:underline; text-underline-offset:3px; text-shadow:0 0 8px var(--mobile-panel); }
  .mobile-demo { width:min(calc(100% - 16px),960px); max-width:calc(100% - 16px); max-height:calc(var(--mobile-viewport-height,100dvh) - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); padding:12px; border:1px solid var(--mobile-line); border-radius:20px; box-sizing:border-box; background:var(--mobile-panel); color:var(--mobile-ink); overflow:auto; }
  .mobile-demo::backdrop { background:#071014a6; }
  .mobile-demo header { display:flex; align-items:center; justify-content:space-between; gap:10px; }
  .mobile-demo h2 { font-size:18px; margin:0; }
  .mobile-demo header button { min-width:44px; font-size:26px; }
  .mobile-demo-video { width:100%; height:auto; max-height:calc(var(--mobile-viewport-height,100dvh) - 160px); object-fit:contain; aspect-ratio:16/9; background:#000; margin:12px 0; display:block; }
  .mobile-demo-controls { display:flex; flex-wrap:wrap; gap:8px; }
  .mobile-demo :is(button,.mobile-demo-controls button) { color:inherit; background:transparent; border:1px solid var(--mobile-line); border-radius:12px; padding:8px 12px; }
  .mobile-demo [role="status"] { font-size:14px; margin:10px 0 0; }
  .mobile-shell :is(.hwv-dialog,.auth-dialog,.manual-dialog,.draft-choice-dialog,.modal-card,dialog[data-new-project],.hwv-quota-panel) { position:fixed; top:calc(var(--mobile-viewport-top,0px) + env(safe-area-inset-top) + 8px)!important; bottom:auto!important; left:50%!important; transform:translateX(-50%)!important; width:min(calc(100% - 16px),640px)!important; max-width:calc(100% - 16px)!important; max-height:calc(var(--mobile-viewport-height,100dvh) - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important; margin:0!important; padding:16px!important; overflow:auto!important; box-sizing:border-box; scroll-padding-bottom:24px; }
  .mobile-shell :is(.hwv-dialog,.auth-dialog,.manual-dialog,.hwv-quota-panel,dialog[data-new-project]) :is(header,.hwv-dialog-head) { position:sticky; top:-16px; z-index:2; background:var(--mobile-panel); }
  .mobile-shell .hwv-quota-control { z-index:180; }
  .mobile-shell .setup-sky>.shell { padding:0!important; width:100%; }
  .mobile-shell :is(.flow,.field-row,.setup-fields,.project-schedule-fields) { grid-template-columns:minmax(0,1fr)!important; min-width:0; }
  .mobile-shell :is(.screen,.surface,.entry-surface,.product-journey,.consent-panel,.clarification-card) { min-width:0; max-width:100%; height:auto; min-height:0; box-sizing:border-box; overflow-wrap:anywhere; }
  .mobile-shell :is(.setup-sky .top,.setup-sky .stack,.setup-sky .top-note) { display:none; }
  .mobile-shell :is(.screen .title,.product-journey h1,.product-journey h2,.handoff h1) { font-size:clamp(24px,5vw,32px); line-height:1.2; }
  .mobile-shell :is(.actions,.detail-actions,.gemini-toolbar-actions) { flex-wrap:wrap; gap:8px; }
  .mobile-shell .question-options { grid-template-columns:minmax(0,1fr); }
  .mobile-shell .question-option { min-height:48px; width:100%; height:auto; white-space:normal; }
  .mobile-shell .dashboard-window,.mobile-shell .main-shell>[data-view] { padding:16px 12px; border:1px solid var(--mobile-line); border-radius:22px; min-width:0; min-height:0; width:100%; background:var(--mobile-panel); box-sizing:border-box; }
  .mobile-shell .dashboard-intro { display:none; }
  .mobile-dashboard-tabs { display:flex; gap:8px; margin:0 0 12px; }
  .mobile-dashboard-tabs>button { flex:1; min-height:44px; border:1px solid var(--mobile-line); background:var(--mobile-panel); color:inherit; border-radius:12px; }
  .mobile-dashboard-tabs>button[aria-pressed="true"] { border-color:var(--acid); }
  .mobile-shell .dashboard-layout { display:block; }
  .mobile-shell :is(.project-column,.calendar-panel) { width:100%; min-width:0; padding:0; border:0; }
  .mobile-shell:not([data-mobile-dashboard-view="dates"]) .calendar-panel { display:none; }
  .mobile-shell[data-mobile-dashboard-view="dates"] .project-column { display:none; }
  .mobile-shell .section-head { display:block; padding:0; margin-bottom:8px; }
  .mobile-shell .section-head h2 { font-size:20px; }
  .mobile-shell .timeline-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:8px; justify-content:space-between; }
  .mobile-shell :is(.timeline-step,.timeline-range) { flex-wrap:wrap; }
  .mobile-shell .project-timeline { overflow-x:auto; max-width:100%; min-width:0; overscroll-behavior-x:contain; }
  .mobile-shell .timeline-bar-flyover { display:none; }
  .mobile-shell .timeline-lane { min-height:70px; }
  .mobile-shell .calendar-head { flex-wrap:wrap; gap:8px; }
  .mobile-calendar-month { margin:12px 0; }
  .mobile-calendar-month>summary { display:flex; align-items:center; cursor:pointer; font-size:13px; min-height:44px; }
  .mobile-shell .calendar-head h2 { font-size:20px; }
  .mobile-shell :is(.calendar-grid,.calendar-weekdays:not(fieldset)) { gap:0; grid-template-columns:repeat(7,minmax(0,1fr)); }
  .mobile-shell .calendar-day { min-width:0; padding:0; }
  .mobile-shell .calendar-date { width:100%; min-width:0; min-height:44px; padding:0; }
  .mobile-shell .agenda-event { text-align:left; white-space:normal; overflow-wrap:anywhere; }
  .mobile-shell .workspace-project-tools { flex-wrap:wrap; }
  .mobile-shell .flyover { inset:calc(var(--mobile-viewport-top,0px) + 8px) 8px auto!important; width:calc(100% - 16px)!important; max-width:none; height:calc(var(--mobile-viewport-height,100dvh) - 16px)!important; max-height:none; transform:none!important; border-radius:20px; padding:12px!important; box-sizing:border-box; overflow:auto; }
  .mobile-shell .flyover :is(h1,h2,h3) { overflow-wrap:anywhere; }
  .mobile-shell .flyover-header { position:sticky; top:-12px; background:var(--mobile-panel); z-index:2; }
  .mobile-shell .detail-editor { width:100%; }
  .mobile-shell fieldset.calendar-weekdays { grid-template-columns:1fr; }
  .mobile-shell .review-touch-actions { display:flex; gap:6px; }
  .mobile-shell .review-touch-actions button { min-width:44px; }
}
.review-touch-actions { display:none; }
@media (max-width:600px) { .mobile-shell .followup-question-fields,.mobile-shell .review-item-fields { grid-template-columns:minmax(0,1fr); } }
@media (min-width:601px) and (max-width:900px) {
  .mobile-shell[data-mobile-dashboard-view="dates"][data-mobile-calendar-columns="2"] .calendar-panel { display:grid; grid-template-columns:minmax(280px,1fr) minmax(280px,1fr); gap:16px; }
  .mobile-shell[data-mobile-calendar-columns="2"] .calendar-agenda { grid-column:2; grid-row:1 / span 3; }
}
@media (max-width:900px) and (max-height:440px) {
  .mobile-shell .mobile-demo-video { max-height:calc(var(--mobile-viewport-height,100dvh) - 145px); }
}
@media(max-width:900px){
 .mobile-options-tray :is(.central-nav-context,.mobile-options-account,.mobile-options-display,.mobile-context-group){display:flex!important;flex-direction:column;flex-wrap:nowrap;align-items:stretch;width:100%;min-width:0}
 .mobile-options-tray :is(.central-nav-context,.mobile-options-account)>button,.mobile-options-tray .mobile-context-expand,.mobile-options-tray .mobile-context-action,.mobile-options-display .mobile-options-back{flex:0 0 auto;justify-content:flex-start;text-align:left;width:100%;min-height:44px;white-space:normal;overflow-wrap:anywhere}
 .mobile-options-tray .central-nav-label{white-space:normal;text-overflow:clip;overflow:visible}
 .mobile-options-tray .hwv-quota-button{height:auto;min-height:44px}
 .mobile-options-tray .hwv-quota-button::after{white-space:normal;text-align:left;overflow-wrap:anywhere}
 .mobile-shell .public-landing>.unified-entry:not([data-entry-feedback]) .entry-story{display:block!important;position:static;width:100%;margin:0 0 14px}
 .mobile-shell .public-landing>.unified-entry .entry-story h1{display:block;position:static;width:auto;margin:0;font-size:26px;line-height:1.15;text-align:left}
 .mobile-shell .public-landing>.unified-entry .entry-story .entry-narrative{display:none}
 .mobile-shell .entry-brand img{filter:drop-shadow(0 1px 2px #fff) drop-shadow(0 0 5px #fff)}
 .mobile-shell[data-theme="dark"] .entry-brand img{filter:drop-shadow(0 1px 2px #07151b) drop-shadow(0 0 5px #07151b)}
}
.mobile-shell.mobile-keyboard-open .public-landing>.unified-entry:not([data-entry-feedback]){position:relative!important;left:auto!important;transform:none!important;bottom:auto!important;margin:120px auto 24px!important}
