/* NEXIS Mobile Design System
   Presentation components are scoped to the authenticated, non-station shell.
   Desktop and immersive operator screens never receive the mobile-app class. */
.mobile-visually-hidden { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.mobile-brand-copy { display:contents; }
.mobile-brand-copy > #mobileHeaderTitle { display:none; }

@media (max-width:768px), (max-width:1024px) and (max-height:500px) and (pointer:coarse) {
  html:has(body.mobile-app) { min-width:0; max-width:100%; overscroll-behavior-y:contain; }
  body.mobile-app {
    min-width:0;
    max-width:100%;
    overscroll-behavior-y:contain;
    --m-bg:#112f27;
    --m-surface:#203e34;
    --m-surface-raised:#29483c;
    --m-paper:#f5f8f3;
    --m-paper-raised:#fff;
    --m-ink:#193b2c;
    --m-ink-secondary:#4e6b5a;
    --m-text:#f4f8f2;
    --m-secondary:#bbcfbf;
    --m-accent:#b0dc85;
    --m-action:#287445;
    --m-danger:#ac3636;
    --m-warning:#956014;
    --m-line:rgba(209,231,213,.16);
    --m-paper-line:#d5e1d6;
    --m-radius:18px;
    --m-control-radius:12px;
    --m-shadow:0 6px 20px rgba(2,22,13,.1);
    --m-font:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;
    --m-body:1rem;
    --m-secondary-size:.875rem;
    --m-caption:.8125rem;
    --m-title:1.875rem;
    --m-card-title:1.125rem;
    --m-value:1.75rem;
    --m-gutter:16px;
    --m-space-1:4px;
    --m-space-2:8px;
    --m-space-3:12px;
    --m-space-4:16px;
    --m-space-5:20px;
    --m-header:52px;
    --m-tabbar:58px;
    --m-duration:200ms;
    --m-ease:cubic-bezier(.2,.7,.2,1);
    background:var(--m-bg);
    color:var(--m-text);
    font-family:var(--m-font);
    font-size:var(--m-body);
    line-height:1.45;
    -webkit-text-size-adjust:100%;
  }
  body.mobile-app *,body.mobile-app *::before,body.mobile-app *::after { box-sizing:border-box; }
  body.mobile-app [hidden] { display:none!important; }
  body.mobile-app .app-shell:not(.station-immersive) { background:var(--m-bg); transform:none; filter:none; perspective:none; contain:none; }
  body.mobile-app .app-shell:not(.station-immersive) .workspace {
    min-height:100svh;
    padding:calc(var(--m-header) + env(safe-area-inset-top) + 16px) max(var(--m-gutter),env(safe-area-inset-right)) calc(var(--m-tabbar) + 30px + env(safe-area-inset-bottom)) max(var(--m-gutter),env(safe-area-inset-left))!important;
    background:var(--m-bg)!important;
    scroll-padding-block:calc(var(--m-header) + 16px) calc(var(--m-tabbar) + 24px);
  }
  body.mobile-app .app-shell .workspace::before { display:none; }
  body.mobile-app .app-shell :where(h1,h2,h3,h4,p,strong,span,small,b,td,th) { overflow-wrap:break-word; word-break:normal; }
  body.mobile-app .app-shell :where(h1,h2,h3,h4) { font-family:var(--m-font); font-weight:650; letter-spacing:-.025em; line-height:1.18; }
  body.mobile-app .app-shell :where(h1,h2) { font-size:var(--m-title); }
  body.mobile-app .app-shell :where(h3,h4) { font-size:var(--m-card-title); }
  body.mobile-app .app-shell :where(p,li) { font-size:var(--m-body); line-height:1.45; }
  body.mobile-app .app-shell small { font-size:var(--m-caption); line-height:1.4; }
  body.mobile-app .app-shell :where(.eyebrow,.kicker) { font-size:var(--m-caption); font-weight:600; letter-spacing:.03em; }
  body.mobile-app .app-shell #sectionList { display:none!important; }
  body.mobile-app .app-shell .workbench-head { gap:12px; padding:0 0 20px!important; background:transparent!important; border:0!important; text-align:left!important; align-items:flex-start; }
  body.mobile-app .app-shell .workbench-head > div { min-width:0; max-width:100%; text-align:left!important; }
  body.mobile-app .app-shell .workbench-head h2 { color:var(--m-text)!important; font-size:var(--m-title)!important; font-weight:650; }
  body.mobile-app .app-shell .workbench-body { padding:0!important; gap:16px; }
  body.mobile-app .app-shell .workbench-head .eyebrow { color:var(--m-secondary)!important; }
  body.mobile-app .app-shell .workbench-head .eyebrow { display:none; }

  /* MobileHeader and MobileTabBar: the only translucent material surfaces. */
  body.mobile-app .mobile-app-header {
    height:calc(var(--m-header) + env(safe-area-inset-top));
    padding:env(safe-area-inset-top) max(var(--m-gutter),env(safe-area-inset-right)) 0 max(var(--m-gutter),env(safe-area-inset-left));
    background:#112f27;
    border-bottom:1px solid var(--m-line);
    box-shadow:none;
  }
  body.mobile-app .mobile-brand { gap:10px; }
  body.mobile-app .mobile-brand img { width:28px; height:28px; }
  body.mobile-app .mobile-brand-copy { display:grid; min-width:0; gap:1px; }
  body.mobile-app .mobile-brand-copy strong { font-family:var(--m-font); font-size:10px; letter-spacing:.09em; font-weight:600; color:var(--m-secondary); }
  body.mobile-app .mobile-brand-copy > #mobileHeaderTitle { display:block; font-size:16px; line-height:1.25; font-weight:600; color:var(--m-text); white-space:normal; }
  body.mobile-app .mobile-avatar-button { width:44px; height:44px; flex-basis:44px; font-family:var(--m-font); font-size:16px; border:1px solid var(--m-line); background:var(--m-surface-raised); box-shadow:none; }
  body.mobile-app .mobile-user-menu { top:calc(var(--m-header) + env(safe-area-inset-top) + 8px); width:min(320px,calc(100% - 24px)); padding:20px; border-radius:20px; font-family:var(--m-font); }
  body.mobile-app .mobile-user-heading strong { font-size:17px; }
  body.mobile-app .mobile-user-heading div span,body.mobile-app .mobile-user-connection { font-size:13px; }
  body.mobile-app .mobile-user-logout { font-family:var(--m-font); font-size:16px; min-height:44px; }
  body.mobile-app .mobile-bottom-nav {
    position:fixed; inset:auto max(12px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));
    z-index:100; height:var(--m-tabbar); min-height:var(--m-tabbar); padding:4px 6px;
    display:grid; grid-template-columns:repeat(var(--mobile-nav-count,7),minmax(0,1fr));
    background:#14372c; border:1px solid var(--m-line); border-radius:18px;
    box-shadow:0 4px 16px rgba(1,17,10,.16); contain:none;
  }
  body.mobile-app .mobile-bottom-nav button { min-height:48px; height:48px; padding:3px; align-content:center; gap:3px; border:0; outline:0; box-shadow:none; border-radius:12px; color:#bed0c2; background:transparent; font-family:var(--m-font); font-size:10px; font-weight:500; line-height:1.1; transition:color var(--m-duration),background var(--m-duration); }
  body.mobile-app .mobile-bottom-nav button svg { width:21px; height:21px; stroke-width:1.9; }
  body.mobile-app .mobile-bottom-nav button.active { background:#315540; color:var(--m-accent); }
  body.mobile-app .mobile-bottom-nav button.active svg { color:var(--m-accent); }
  body.mobile-app .mobile-bottom-nav button:focus-visible { outline:2px solid var(--m-accent); outline-offset:-2px; }
  body.mobile-app .mobile-signal-badge { top:0; min-width:16px; height:16px; line-height:12px; font-size:9px; border-color:#14372c; }
  body.mobile-app.mobile-keyboard .mobile-bottom-nav { visibility:hidden; pointer-events:none; }
  body.mobile-app.mobile-modal-open .mobile-bottom-nav { visibility:hidden; pointer-events:none; }
  body.mobile-app.mobile-modal-open { overflow-y:hidden; }
  @supports ((backdrop-filter:blur(18px)) or (-webkit-backdrop-filter:blur(18px))) {
    body.mobile-app .mobile-app-header { background:rgba(17,47,39,.91); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); }
    body.mobile-app .mobile-bottom-nav { background:rgba(20,55,44,.93); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); }
  }

  /* Reusable controls. A readable paper surface is the default for data. */
  body.mobile-app .m-card,body.mobile-app .app-shell .m-card { min-width:0; padding:16px!important; border:1px solid var(--m-paper-line)!important; border-radius:var(--m-radius)!important; background:var(--m-paper)!important; color:var(--m-ink)!important; box-shadow:var(--m-shadow)!important; }
  body.mobile-app .m-card :where(h2,h3,h4,label,p,strong,b,td,th),body.mobile-app .m-modal-host :where(h2,h3,h4,label,p,strong,b) { color:var(--m-ink); }
  body.mobile-app .m-card :where(.muted,small),body.mobile-app .m-modal-host :where(.muted,small) { color:var(--m-ink-secondary); font-size:var(--m-caption); }
  body.mobile-app .m-field,body.mobile-app .app-shell .m-field { min-width:0; max-width:100%; min-height:46px; padding:11px 12px; border:1px solid var(--m-paper-line); border-radius:var(--m-control-radius); background:var(--m-paper-raised); color:var(--m-ink); font-family:var(--m-font)!important; font-size:16px!important; line-height:1.35; box-shadow:none; scroll-margin-block:90px; }
  body.mobile-app input[type=checkbox],body.mobile-app input[type=radio] { width:22px; height:22px; accent-color:var(--m-action); }
  body.mobile-app .app-shell label,body.mobile-app .m-modal-host label { gap:6px; font-size:var(--m-secondary-size)!important; line-height:1.4; font-weight:600; }
  body.mobile-app .m-field:focus-visible { outline:2px solid var(--m-action); outline-offset:2px; }
  body.mobile-app .m-button,body.mobile-app .app-shell .m-button { min-width:44px; min-height:44px; max-width:100%; padding:10px 14px; border-radius:var(--m-control-radius); font-family:var(--m-font)!important; font-size:15px!important; font-weight:600; line-height:1.35; white-space:normal; cursor:pointer; transition:background var(--m-duration),opacity var(--m-duration); touch-action:manipulation; }
  body.mobile-app .m-button:active { opacity:.75; }
  body.mobile-app .m-button:disabled { opacity:.45; cursor:default; }
  body.mobile-app .app-shell .m-button.danger-tool { color:var(--m-danger)!important; background:#fff7f5!important; border-color:#e3bdb6!important; }
  body.mobile-app .m-button:focus-visible { outline:2px solid var(--m-action); outline-offset:3px; }
  body.mobile-app .m-button.primary-action { border:1px solid transparent; background:var(--m-action); color:#fff; }
  body.mobile-app .m-button.danger-action { border:1px solid #edc7c3; background:#fff5f3; color:var(--m-danger); }
  body.mobile-app .m-button.tool { border:1px solid var(--m-paper-line); background:#fff; color:var(--m-ink); }
  body.mobile-app .m-status { display:inline-flex; align-items:center; gap:4px; max-width:100%; padding:4px 9px; border-radius:8px; background:#e3efdf; color:#345f39; font-size:var(--m-caption)!important; font-weight:600; line-height:1.3; }
  body.mobile-app .m-table { min-width:0; width:100%; max-width:100%; overflow-x:auto; overscroll-behavior-x:contain; border:1px solid var(--m-paper-line); border-radius:14px; background:var(--m-paper); color:var(--m-ink); }
  body.mobile-app .m-table table { min-width:max-content; width:100%; border-collapse:collapse; background:var(--m-paper); }
  body.mobile-app .m-table :where(td,th) { padding:12px!important; font-size:var(--m-secondary-size)!important; line-height:1.4; color:var(--m-ink)!important; white-space:normal; max-width:280px; }
  body.mobile-app .m-table th { font-weight:600; background:#e8f0e7!important; }
  body.mobile-app .m-table td { border-bottom:1px solid var(--m-paper-line); }
  body.mobile-app .m-table input,body.mobile-app .m-table select { min-width:100px; }
  body.mobile-app .m-state,body.mobile-app .m-empty { padding:24px 16px!important; border:1px solid var(--m-paper-line); border-radius:var(--m-radius); background:var(--m-paper); color:var(--m-ink-secondary)!important; font-size:var(--m-secondary-size)!important; text-align:center; }
  body.mobile-app .m-state h3 { margin:0 0 8px; font-size:18px; color:var(--m-ink); }
  body.mobile-app .m-state p { margin:0; font-size:14px; }
  body.mobile-app .m-feedback { font:14px/1.45 var(--m-font); overflow-wrap:anywhere; }
  body.mobile-app .m-feedback-error { padding:12px; border-radius:12px; background:#fff1ed; color:#95352f!important; }
  body.mobile-app .m-feedback-loading { color:var(--m-ink-secondary); }
  body.mobile-app .app-shell :is(.dictionary-kicker,.writeoff-kicker,.dictionary-editor-form-head span,.dictionary-table-head span,.writeoff-helper,.writeoff-message,.writeoff-history-item span) { font-size:13px!important; line-height:1.45; }
  body.mobile-app .app-shell .dictionary-detail-head h3 { font-size:22px!important; }
  body.mobile-app .app-shell .recipe-item strong { font-size:17px!important; line-height:1.35; }
  body.mobile-app .app-shell .recipe-item > span { font-size:14px!important; line-height:1.4; }
  body.mobile-app .app-shell .recipe-editor-tabs { width:100%!important; max-width:100%; }
  body.mobile-app .m-page-header h1 { margin:0 0 8px; font-size:var(--m-title); font-weight:650; }
  body.mobile-app .m-page-header p { margin:0 0 20px; color:var(--m-secondary); font-size:14px; }
  body.mobile-app .m-list-item { display:flex; align-items:center; gap:12px; width:100%; min-width:0; min-height:64px; padding:16px; border:0; border-bottom:1px solid var(--m-paper-line); background:var(--m-paper); color:var(--m-ink); text-align:left; font-family:var(--m-font); }
  body.mobile-app .m-list-copy { display:grid; gap:5px; min-width:0; flex:1; }
  body.mobile-app .m-list-copy strong { font-size:17px; font-weight:600; }
  body.mobile-app .m-list-copy > span { font-size:14px; color:var(--m-ink-secondary); }
  body.mobile-app .m-chevron { font-size:24px; color:#63846a; }
  body.mobile-app .m-offline { position:relative; z-index:10; margin-top:calc(var(--m-header) + env(safe-area-inset-top)); padding:12px 16px; background:#f2dcae; color:#5c400f; font-size:14px; }
  body.mobile-app:has(.m-offline:not([hidden])) :is(.workspace,.mobile-more-sheet,.m-signal-screen) { padding-top:16px!important; }
  body.mobile-app .m-button[aria-busy=true] { cursor:progress; }

  /* Full navigation screen, not a bottom sheet. */
  body.mobile-app .mobile-more-sheet { position:relative; inset:auto; width:100%; z-index:1; padding:calc(var(--m-header) + env(safe-area-inset-top) + 16px) var(--m-gutter) calc(var(--m-tabbar) + 30px + env(safe-area-inset-bottom)); background:var(--m-bg); }
  body.mobile-app .mobile-more-sheet { padding-left:max(var(--m-gutter),env(safe-area-inset-left)); padding-right:max(var(--m-gutter),env(safe-area-inset-right)); }
  body.mobile-app .mobile-more-panel { position:static; display:grid; gap:20px; width:100%; max-height:none; padding:0; overflow:visible; border:0; border-radius:0; background:transparent; color:var(--m-text); box-shadow:none; }
  body.mobile-app .mobile-more-panel > header { align-items:center; padding:0; }
  body.mobile-app .mobile-more-panel h2 { color:var(--m-text); font-size:var(--m-title); font-weight:650; margin:0; }
  body.mobile-app .mobile-more-panel header p { color:var(--m-secondary); font-size:14px; margin:8px 0 0; }
  body.mobile-app .mobile-more-panel .mobile-panel-close { min-width:44px; min-height:44px; background:var(--m-surface); color:var(--m-secondary); border-color:var(--m-line); }
  body.mobile-app .mobile-menu-search input { width:100%; min-height:48px; padding:12px 14px; font:16px/1.3 var(--m-font); border:1px solid var(--m-line); border-radius:12px; color:var(--m-text); background:var(--m-surface); }
  body.mobile-app .mobile-menu-search input::placeholder { color:var(--m-secondary); }
  body.mobile-app .mobile-more-list { gap:24px; }
  body.mobile-app .mobile-more-group { gap:0; border-radius:16px; background:var(--m-paper); overflow:clip; }
  body.mobile-app .mobile-more-group-heading { padding:16px; border-bottom:1px solid var(--m-paper-line); background:#e7efe4; }
  body.mobile-app .mobile-more-group-kicker { display:none; }
  body.mobile-app .mobile-more-group h3 { font-size:15px; font-weight:600; }
  body.mobile-app .mobile-more-group-count { min-width:24px; height:24px; background:#d5e5cf; border:0; color:#365b39; }
  body.mobile-app .mobile-more-item { min-height:56px; width:100%; gap:12px; margin:0; padding:12px 16px; border:0; border-bottom:1px solid var(--m-paper-line); border-radius:0!important; background:var(--m-paper); color:var(--m-ink); box-shadow:none; font:500 16px/1.35 var(--m-font); }
  body.mobile-app .mobile-more-item-icon { width:28px; height:28px; flex-basis:28px; border:0; border-radius:0; color:var(--m-action); background:transparent; }
  body.mobile-app .mobile-more-item-icon svg { width:22px; height:22px; stroke-width:1.8; }
  body.mobile-app .mobile-more-item-label { overflow-wrap:break-word; }
  body.mobile-app .mobile-more-item:last-child { border-bottom:0; }
  body.mobile-app.mobile-more-open .workspace,body.mobile-app.mobile-signal-open .workspace { display:none; }
  body.mobile-app.mobile-signal-open .app-shell { min-height:0!important; }
  body.mobile-app.mobile-more-open .mobile-more-sheet { display:block; }

  /* Home: compact hero, strong values, readable grouped lists. */
  body.mobile-app .app-shell .home-dashboard { gap:20px; }
  body.mobile-app .app-shell .home-welcome { min-height:0!important; padding:20px!important; gap:16px; border-radius:20px; border:1px solid var(--m-line); background:#143b2b url("assets/orinera-home-hero.webp") center/cover; box-shadow:none; }
  body.mobile-app .app-shell .home-welcome h2 { max-width:none!important; margin:8px 0 0!important; color:var(--m-text); font-size:26px!important; font-weight:650!important; line-height:1.18!important; letter-spacing:-.035em!important; overflow-wrap:normal!important; word-break:normal!important; }
  body.mobile-app .app-shell .home-welcome h2 span { white-space:nowrap; color:var(--m-accent); }
  body.mobile-app .app-shell .home-kicker { font-size:13px!important; color:#d1e8bd; letter-spacing:.03em; line-height:1.4; }
  body.mobile-app .app-shell .home-date { padding:6px 0; border:0; border-radius:0; background:transparent; color:#d4e3cf; font-size:13px; }
  body.mobile-app .app-shell .home-metrics { grid-template-columns:minmax(0,1fr); gap:10px; }
  body.mobile-app .app-shell .home-metric-card { min-height:108px!important; display:grid!important; grid-template-columns:38px minmax(0,1fr)!important; align-items:center; gap:14px; padding:16px!important; background:var(--m-surface)!important; border:1px solid var(--m-line)!important; border-radius:18px; box-shadow:none; }
  body.mobile-app .app-shell .home-metric-card > div:nth-child(2) { min-width:0; }
  body.mobile-app .app-shell .home-metric-card > div > span { color:var(--m-secondary)!important; font-size:13px!important; line-height:1.35; }
  body.mobile-app .app-shell .home-metric-card strong { display:flex; flex-wrap:wrap; gap:6px; align-items:baseline; margin:4px 0; font-size:28px!important; line-height:1.15; color:var(--m-text)!important; font-weight:650!important; }
  body.mobile-app .app-shell .home-metric-card strong .live-number { min-width:0; overflow-wrap:anywhere; font-size:inherit!important; color:inherit!important; }
  body.mobile-app .app-shell .home-metric-card small { font-size:13px!important; color:var(--m-secondary)!important; }
  body.mobile-app .app-shell .home-metric-icon { width:38px; height:38px; border:0; border-radius:12px; color:var(--m-accent); background:#355744; }
  body.mobile-app .app-shell .home-metric-icon svg { width:23px; height:23px; }
  body.mobile-app .app-shell .home-metric-accent { display:none!important; }
  body.mobile-app .app-shell.shell-home .home-metric-card::before { content:none; }
  body.mobile-app .app-shell .home-dashboard-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; }
  body.mobile-app .app-shell :is(.home-production-summary,.home-recent) { padding:16px; border:0; border-radius:18px; background:var(--m-paper); box-shadow:none; }
  body.mobile-app .app-shell .home-section-heading { align-items:flex-start; gap:12px; margin-bottom:8px; }
  body.mobile-app .app-shell .home-section-heading .eyebrow { display:none; }
  body.mobile-app .app-shell .home-section-heading h3 { margin:0; font-size:19px!important; color:var(--m-ink); }
  body.mobile-app .app-shell .home-section-heading > span { font-size:13px; color:var(--m-ink-secondary); }
  body.mobile-app .app-shell :is(.home-run-row,.home-recent-row) { gap:10px; min-height:76px; padding:14px 0; }
  body.mobile-app .app-shell :is(.home-run-row,.home-recent-row) strong { font-size:16px!important; line-height:1.35; white-space:normal!important; color:var(--m-ink)!important; }
  body.mobile-app .app-shell :is(.home-run-row,.home-recent-row) span { font-size:13px; color:var(--m-ink-secondary); white-space:normal; }
  body.mobile-app .app-shell .home-recent-row { flex-wrap:wrap; }
  body.mobile-app .app-shell .home-recent-row b { font-size:16px; color:var(--m-ink); }
  body.mobile-app .app-shell.shell-home .home-run-row { grid-template-columns:28px minmax(0,1fr) 16px; }
  body.mobile-app .app-shell.shell-home .home-run-status { display:inline-flex; grid-column:2; grid-row:2; justify-self:start; justify-content:flex-start; font-size:13px; white-space:normal; }
  body.mobile-app .app-shell.shell-home .home-row-arrow { grid-column:3; grid-row:1; }
  body.mobile-app .app-shell.shell-home .home-recent-row > div:nth-child(3) { display:grid; grid-column:2; justify-items:start; gap:4px; }

  /* Runs: list/detail are mutually exclusive; actions keep their listeners. */
  body.mobile-app .app-shell .passport-layout { padding:0!important; }
  body.mobile-app .app-shell .passport-layout > aside { padding:0!important; border:0!important; border-radius:0; background:transparent!important; box-shadow:none; }
  body.mobile-app .app-shell #passportSearch { margin-bottom:16px; }
  body.mobile-app .app-shell.shell-production .work-grid:has(.passport-layout) .passport-layout > aside .recipe-list { max-height:none; overflow:visible; }
  body.mobile-app .app-shell .passport-tools { gap:8px; width:100%; }
  body.mobile-app .app-shell .passport-filter { display:flex; flex-wrap:wrap; align-items:center; gap:8px; color:var(--m-secondary)!important; font-size:14px!important; }
  body.mobile-app .app-shell .passport-list-item { position:relative; padding:0; border:0!important; background:var(--m-paper)!important; border-radius:18px; overflow:clip; }
  body.mobile-app .app-shell .passport-list-item.active { box-shadow:none; outline:0; }
  body.mobile-app .app-shell .passport-list-item .recipe-item { display:grid; gap:8px; padding:18px!important; border:0; background:transparent!important; color:var(--m-ink)!important; text-align:left; width:100%; border-radius:0; }
  body.mobile-app .app-shell .passport-list-item .recipe-item strong { color:var(--m-ink)!important; font-size:18px!important; font-weight:600; line-height:1.3; }
  body.mobile-app .app-shell .passport-list-item .recipe-item span { font-size:14px!important; color:var(--m-ink-secondary)!important; }
  body.mobile-app .app-shell .passport-list-passport { margin:0!important; min-height:44px; border:0!important; border-top:1px solid var(--m-paper-line)!important; border-radius:0!important; background:#e7f0e3!important; color:#315c38!important; }
  body.mobile-app[data-mobile-passport=detail] .app-shell .page-workbench > .workbench-head,
  body.mobile-app[data-mobile-passport=detail] .app-shell .passport-flowbar { display:none; }
  body.mobile-app .app-shell .passport-main { min-width:0; padding:0!important; border:0!important; background:transparent!important; }
  body.mobile-app .app-shell .passport-summary { display:none; }
  body.mobile-app .app-shell .passport-mobile-back { display:inline-flex; width:auto; padding:10px 0; background:transparent!important; border:0!important; color:var(--m-accent)!important; font-size:16px!important; margin:0 0 8px; }
  body.mobile-app .app-shell .passport-title { gap:16px; padding:0 0 16px; }
  body.mobile-app .app-shell .passport-title h2 { font-size:26px!important; font-weight:650; color:var(--m-text)!important; }
  body.mobile-app .app-shell .passport-title .eyebrow { display:none; }
  body.mobile-app .app-shell .passport-run-code { display:block; font-size:15px!important; color:var(--m-secondary)!important; margin-top:8px; }
  body.mobile-app .app-shell .passport-metrics { display:grid; grid-template-columns:minmax(0,1fr)!important; gap:1px; padding:0!important; border-radius:18px; overflow:clip; background:var(--m-paper-line)!important; border:1px solid var(--m-paper-line); }
  body.mobile-app .app-shell .passport-metrics > div { min-width:0; padding:16px!important; background:var(--m-paper)!important; border:0!important; border-radius:0!important; }
  body.mobile-app .app-shell.shell-production .work-grid:has(.passport-layout) .passport-metrics { gap:1px; }
  body.mobile-app .app-shell .passport-title > .m-status { justify-self:start; width:fit-content; font-size:13px; }
  body.mobile-app .app-shell .passport-metrics span { font-size:14px!important; color:var(--m-ink-secondary)!important; }
  body.mobile-app .app-shell .passport-metrics strong { display:block; font-size:22px!important; font-weight:650; color:var(--m-ink)!important; margin-top:4px; }
  body.mobile-app .app-shell .passport-stages { display:grid; gap:8px; padding:16px 0; }
  body.mobile-app .app-shell .passport-stages li { font-size:14px; color:var(--m-secondary); }
  body.mobile-app .app-shell .passport-section { padding:0!important; border:0!important; background:var(--m-paper)!important; color:var(--m-ink); border-radius:18px!important; overflow:clip; margin:12px 0; }
  body.mobile-app .m-disclosure summary { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:60px; padding:16px; cursor:pointer; list-style:none; }
  body.mobile-app .m-disclosure summary::after { content:"+"; font-size:22px; color:var(--m-action); }
  body.mobile-app .m-disclosure[open] > summary::after { content:"−"; }
  body.mobile-app .m-disclosure summary::-webkit-details-marker { display:none; }
  body.mobile-app .m-disclosure h3 { margin:0; font-size:18px!important; color:var(--m-ink)!important; }
  body.mobile-app .m-disclosure-body { padding:0 16px 16px; font-size:16px; }
  body.mobile-app .m-disclosure-body .muted { font-size:14px!important; color:var(--m-ink-secondary)!important; }
  body.mobile-app .m-context-actions { position:relative; width:100%; color:var(--m-text); }
  body.mobile-app .m-context-actions > summary { padding:12px; cursor:pointer; font-size:15px; }
  body.mobile-app .m-context-actions-list { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; padding:8px 0; }
  body.mobile-app .app-shell .passport-icon-action { display:flex!important; align-items:center; justify-content:center; gap:8px; flex:1 1 auto; width:auto!important; height:auto!important; min-height:44px; padding:10px 14px!important; }
  body.mobile-app .passport-icon-action svg { flex:0 0 20px; width:20px; height:20px; }
  body.mobile-app .m-action-label { font-size:15px; }

  /* SIGNAL shares the fixed chrome and keeps the existing acknowledgement. */
  body.mobile-app .m-signal-screen { position:relative; z-index:1; padding:calc(var(--m-header) + env(safe-area-inset-top) + 16px) 16px calc(var(--m-tabbar) + env(safe-area-inset-bottom) + 30px); min-height:100svh; background:var(--m-bg); color:var(--m-text); font-family:var(--m-font); }
  body.mobile-app .m-signal-screen { padding-left:max(var(--m-gutter),env(safe-area-inset-left)); padding-right:max(var(--m-gutter),env(safe-area-inset-right)); }
  body.mobile-app .m-signal-list { overflow:clip; border-radius:18px; }
  body.mobile-app .m-signal-dot { font-size:24px; color:var(--m-action); }
  body.mobile-app .m-signal-item .m-status { justify-self:start; font-size:12px!important; }
  body.mobile-app .m-signal-screen .nexis-signal-backdrop { position:static; padding:0; display:block; background:transparent; backdrop-filter:none; }
  body.mobile-app .m-signal-screen .nexis-signal-panel { width:100%; max-height:none; overflow:visible; border:0; border-radius:18px; box-shadow:none; background:var(--m-paper); color:var(--m-ink); }
  body.mobile-app .m-signal-screen .nexis-signal-content { padding:20px 16px; }
  body.mobile-app .m-signal-screen .nexis-signal-content h1 { font-size:25px; line-height:1.2; text-align:left; }
  body.mobile-app .m-signal-screen :is(p,li) { font-size:16px; line-height:1.45; }
  body.mobile-app .m-signal-screen :is(span,small) { font-size:14px; }
  body.mobile-app .m-signal-screen .nexis-signal-info > div { display:grid; gap:5px; font-size:16px; }
  body.mobile-app .m-signal-screen .nexis-signal-actions { display:grid; gap:10px; padding:16px; }
  body.mobile-app .m-signal-screen .nexis-signal-actions button { min-height:48px; font:600 15px/1.4 var(--m-font); border-radius:12px; }
  body.mobile-app .m-back { padding:14px 16px; min-height:48px; border:0; background:transparent; color:var(--m-action); font:500 16px/1.35 var(--m-font); }

  /* Forms, planning, records and calculation screens share these components. */
  body.mobile-app .app-shell :is(.recipe-layout,.recipe-editor-top,.recipe-side-selectors,.accounts-layout,.dictionary-layout,.writeoff-layout,.writeoff-command-grid,.writeoff-input-grid,.writeoff-results-grid,.automatic-writeoff-layout,.account-fields,.pallet-form-grid,.monitor-main-grid,.monitor-data-grid,.monitor-metrics,.plan-task-form,.production-plan-shifts,.production-plan-equipment-grid) { display:grid; grid-template-columns:minmax(0,1fr)!important; min-width:0; gap:16px; }
  body.mobile-app .app-shell :is(.recipe-line-head,.recipe-line-row) { font-size:14px; }
  body.mobile-app .app-shell .recipe-lines-split { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; }
  body.mobile-app .app-shell .recipe-line-table { min-width:0; overflow:visible; }
  body.mobile-app .app-shell :is(.recipe-line-head,.recipe-line-row) { min-width:0!important; width:100%; grid-template-columns:24px minmax(0,1fr) minmax(72px,90px)!important; gap:6px; }
  body.mobile-app .app-shell .recipe-line-row > * { min-width:0; }
  body.mobile-app .app-shell :is(.writeoff-page,.online-monitor,.production-plan-v2,.bunker-park) { padding:0!important; background:transparent!important; border:0!important; box-shadow:none; }
  body.mobile-app .app-shell :is(.writeoff-page h2,.monitor-header h2,.plan-v2-header h2,.bunker-park-header h2) { color:var(--m-text)!important; font-size:var(--m-title)!important; }
  body.mobile-app .app-shell :is(.monitor-activity,.monitor-sidebar-card,.monitor-structure) { padding:16px; background:var(--m-paper)!important; border:1px solid var(--m-paper-line); border-radius:18px; color:var(--m-ink); }
  body.mobile-app .app-shell :is(.monitor-panel h3,.monitor-card h3,.monitor-activity h3,.monitor-sidebar-card h3) { font-size:19px!important; color:var(--m-ink)!important; }
  body.mobile-app .app-shell :is(.monitor-row,.monitor-list-row) { padding:14px 0; font-size:16px; }
  body.mobile-app .app-shell :is(.monitor-row small,.monitor-list-row small,.monitor-check small) { font-size:13px!important; }
  body.mobile-app .app-shell :is(.monitor-bar-label,.monitor-activity-label,.monitor-activity-value) { font-size:14px!important; }
  body.mobile-app .app-shell :is(.monitor-bar-value,.monitor-activity-bar-value) { font-size:18px!important; }
  body.mobile-app .app-shell :is(.monitor-metric,.writeoff-run-summary,.writeoff-side-stats,.automatic-writeoff-run-metrics) { font-size:16px; }
  body.mobile-app .app-shell :is(.monitor-metric strong,.writeoff-side-stats strong) { font-size:var(--m-value)!important; }
  body.mobile-app .app-shell :is(.monitor-metric span,.monitor-metric small,.writeoff-page small,.writeoff-page label,.journal-counter,.dictionary-detail-head p) { font-size:14px!important; }
  body.mobile-app .app-shell :is(.journal-toolbar,.stock-toolbar,.pallet-actions,.account-savebar,.section-toolbar,.automatic-writeoff-toolbar,.writeoff-command-grid) { display:flex; flex-wrap:wrap; gap:10px; min-width:0; }
  body.mobile-app .app-shell :is(.journal-toolbar,.stock-toolbar,.pallet-actions,.automatic-writeoff-toolbar) > * { min-width:0; max-width:100%; flex:1 1 130px; }
  body.mobile-app .app-shell :is(.recipe-editor-tabs,.writeoff-mode-switch,.run-passport-tabs) { display:flex; flex-wrap:wrap; gap:4px; padding:4px; border-radius:14px; background:var(--m-surface); }
  body.mobile-app .app-shell :is(.recipe-editor-tabs,.writeoff-mode-switch) button { flex:1 1 120px; min-height:44px; font-size:14px!important; }
  body.mobile-app .app-shell .writeoff-mode-tabs { display:flex; flex-wrap:wrap; width:100%; max-width:100%; gap:4px; background:var(--m-surface); }
  body.mobile-app .app-shell .writeoff-mode-tabs button { flex:1 1 140px; min-width:0; min-height:44px; padding:10px; font-size:15px!important; color:var(--m-secondary); white-space:normal; }
  body.mobile-app .app-shell .writeoff-mode-tabs button.active { background:var(--m-action); color:white; }

  /* The existing activity renderer has a compact chart vocabulary. Keep its
     values and listeners; change only geometry to readable horizontal bars. */
  body.mobile-app .app-shell .activity-monitor { width:100%; min-width:0; padding:0!important; background:transparent!important; }
  body.mobile-app .app-shell .activity-monitor :is(.pageHead,.controlDeck,.metrics,.mainGrid,.liveSections,.attention) { min-width:0; width:100%; margin:0; }
  body.mobile-app .app-shell .activity-monitor .pageHead { flex-direction:column; align-items:stretch; padding:0 0 16px; }
  body.mobile-app .app-shell .activity-monitor .pageTitle h1 { font-size:30px; color:var(--m-text); }
  body.mobile-app .app-shell .activity-monitor .pageTitle small { font-size:13px; color:var(--m-secondary); }
  body.mobile-app .app-shell .activity-monitor .monitor-header-actions { flex-wrap:wrap; justify-content:flex-start; }
  body.mobile-app .app-shell .activity-monitor :is(.mainGrid,.liveSections,.attention,.metrics,.controlDeck) { display:grid; grid-template-columns:minmax(0,1fr)!important; gap:16px; }
  body.mobile-app .app-shell .activity-monitor .controlDeck { padding:16px; border-radius:18px; }
  body.mobile-app .app-shell .activity-monitor .releaseChooser { display:grid; gap:8px; }
  body.mobile-app .app-shell .activity-monitor .shiftSet { flex-wrap:wrap; }
  body.mobile-app .app-shell .activity-monitor .metric { padding:16px; min-height:100px; border-radius:18px; background:var(--m-paper); }
  body.mobile-app .app-shell .activity-monitor .metric::after { content:none; }
  body.mobile-app .app-shell .activity-monitor .metric strong { font-size:28px; font-weight:650; overflow-wrap:anywhere; }
  body.mobile-app .app-shell .activity-monitor :is(.metric small,.metric p,.boardHead small,.zoneHead small,.attnHead small,.meterTitle) { font-size:13px!important; line-height:1.4; letter-spacing:0; color:var(--m-ink-secondary); }
  body.mobile-app .app-shell .activity-monitor :is(.boardHead h2,.zoneHead h3,.attnHead h3) { font-size:19px; font-weight:650; color:var(--m-ink); }
  body.mobile-app .app-shell .activity-monitor :is(.boardHead,.zoneHead) { flex-wrap:wrap; gap:8px; }
  body.mobile-app .app-shell .activity-monitor .online { font-size:13px; }
  body.mobile-app .app-shell .activity-monitor .chartArea { height:auto!important; padding:16px; }
  body.mobile-app .app-shell .activity-monitor .chartArea::before { content:none; }
  body.mobile-app .app-shell .activity-monitor .chart { display:grid; grid-template-columns:minmax(0,1fr); height:auto; gap:16px; }
  body.mobile-app .app-shell .activity-monitor .col { display:grid; grid-template-columns:minmax(0,1fr); justify-content:stretch; align-items:stretch; gap:8px; width:100%; }
  body.mobile-app .app-shell .activity-monitor .barLabel { grid-row:1; text-align:left; }
  body.mobile-app .app-shell .activity-monitor .barLabel strong { font-size:16px!important; font-weight:600; line-height:1.3; }
  body.mobile-app .app-shell .activity-monitor .barStack { display:flex; flex-direction:row; align-items:center; justify-content:flex-start; height:36px; max-width:none; width:100%; gap:4px; }
  body.mobile-app .app-shell .activity-monitor .segment { flex:0 1 auto; height:36px!important; min-height:36px; width:var(--m-bar-length,100%); min-width:60px; padding:6px 10px; border-radius:8px; align-items:center; }
  body.mobile-app .app-shell .activity-monitor .segment span { position:static; transform:none; font-size:18px!important; font-weight:650; }
  body.mobile-app .app-shell .activity-monitor .liveSections { margin-top:16px; }
  body.mobile-app .app-shell .activity-monitor .attention { position:static; }
  body.mobile-app .app-shell .activity-monitor .row { padding:14px 0; gap:10px; }
  body.mobile-app .app-shell .activity-monitor .row strong { font-size:16px; }
  body.mobile-app .app-shell .activity-monitor :is(.row small,.attn span:not(.attnMark),.meterFoot,.counter) { font-size:13px!important; color:var(--m-ink-secondary); }
  body.mobile-app .app-shell .activity-monitor .rowValue { font-size:15px; white-space:normal; }
  body.mobile-app .app-shell .activity-monitor .attn strong { font-size:15px; }
  body.mobile-app .app-shell .activity-monitor .meterFoot { flex-wrap:wrap; gap:8px; }
  body.mobile-app .app-shell .activity-monitor .empty { font-size:14px; padding:20px 0; }
  body.mobile-app .app-shell :is(.plan-shift-tabs,.recipe-editor-tabs) { display:flex; flex-wrap:wrap; gap:4px; padding:4px; border:1px solid var(--m-line); border-radius:14px; background:var(--m-surface); }
  body.mobile-app .app-shell :is(.plan-shift-tabs,.recipe-editor-tabs) button { min-width:0; flex:1 1 100px; min-height:44px; width:auto; color:var(--m-secondary)!important; background:transparent; border:0!important; box-shadow:none!important; font-weight:600; }
  body.mobile-app .app-shell :is(.plan-shift-tabs,.recipe-editor-tabs) button.active { background:var(--m-action)!important; color:white!important; }

  /* MobileBottomSheet / MobileFullScreenModal. Applied only by mobile-ui.js. */
  body.mobile-app dialog.m-modal-host { margin:auto; width:calc(100% - 16px); max-width:640px; max-height:calc(100dvh - 24px - env(safe-area-inset-top)); border:1px solid var(--m-paper-line); border-radius:22px; padding:20px; background:var(--m-paper); color:var(--m-ink); font:16px/1.45 var(--m-font); overflow:auto; overscroll-behavior:contain; }
  body.mobile-app dialog.m-modal-host::backdrop { background:rgba(3,22,14,.58); }
  body.mobile-app [role=dialog].m-modal-host { position:fixed; left:8px; right:8px; top:auto; bottom:max(8px,env(safe-area-inset-bottom)); width:auto; max-width:none; max-height:calc(100dvh - 24px - env(safe-area-inset-top)); margin:0; transform:none; padding:20px; border:1px solid var(--m-paper-line); border-radius:22px; background:var(--m-paper); color:var(--m-ink); overflow:auto; overscroll-behavior:contain; font:16px/1.45 var(--m-font); }
  body.mobile-app [role=dialog].m-fullscreen { inset:0!important; width:100%; height:100dvh; max-height:100dvh; margin:0; padding:calc(env(safe-area-inset-top) + 16px) 16px calc(env(safe-area-inset-bottom) + 20px); border:0; border-radius:0; }
  body.mobile-app .m-modal-host.m-fullscreen { padding-left:max(16px,env(safe-area-inset-left)); padding-right:max(16px,env(safe-area-inset-right)); }
  body.mobile-app dialog.m-sheet { margin:auto auto max(8px,env(safe-area-inset-bottom)); }
  body.mobile-app dialog.m-fullscreen { position:fixed; inset:0; width:100%; max-width:100%; height:100dvh; max-height:100dvh; margin:0; padding:calc(env(safe-area-inset-top) + 16px) 16px calc(env(safe-area-inset-bottom) + 20px); border:0; border-radius:0; }
  body.mobile-app .m-modal-host :is(.account-fields,.journal-editor-form,.writeoff-period-grid,.passport-bunker-overview-grid,.passport-modes-body .account-fields,.run-passport-kpis,.run-passport-mini-grid,.run-passport-modes) { display:grid; grid-template-columns:minmax(0,1fr)!important; gap:16px; }
  body.mobile-app .m-modal-host :is(form,header,footer,.passport-title,.passport-modes-body,.account-savebar,.run-passport-dialog-head) { min-width:0; max-width:100%; flex-wrap:wrap; gap:12px; }
  body.mobile-app .m-modal-host :is(h1,h2) { font-size:26px; line-height:1.2; font-weight:650; }
  body.mobile-app .m-modal-host :is(h3,h4) { font-size:19px; }
  body.mobile-app .m-modal-host :is(.passport-dialog-head,.run-passport-dialog-head) { display:grid; grid-template-columns:minmax(0,1fr) 44px; align-items:start; }
  body.mobile-app .m-modal-host :is(.passport-dialog-head,.run-passport-dialog-head) h2 { margin:0; font-size:26px; }
  body.mobile-app .m-modal-host .passport-title { display:grid; grid-template-columns:minmax(0,1fr) 44px; align-items:start; gap:8px; }
  body.mobile-app .m-modal-host .passport-title h2 { margin:0; }
  body.mobile-app .m-modal-host .run-passport-tabs { display:flex; flex-wrap:wrap; gap:6px; padding:8px 0; }
  body.mobile-app .m-modal-host .account-savebar { position:static; display:flex; flex-wrap:wrap; padding:16px 0; }
  body.mobile-app .m-leave-dialog { z-index:10000; }
  body.mobile-app .m-leave-dialog button { display:block; width:100%; margin-top:12px; }
  body.mobile-app .mobile-pull-refresh { top:calc(var(--m-header) + env(safe-area-inset-top) + 8px); font-family:var(--m-font); }
  body.mobile-app .mobile-pull-refresh-label { font-size:13px; }
  @media (prefers-reduced-motion:no-preference) {
    body.mobile-app .mobile-more-panel,body.mobile-app .m-signal-list,body.mobile-app #passportDetails { animation:m-enter var(--m-duration) var(--m-ease); }
    body.mobile-app dialog[open].m-modal-host { animation:m-sheet-enter var(--m-duration) var(--m-ease); }
    @keyframes m-enter { from { opacity:0; translate:0 5px; } to { opacity:1; translate:0 0; } }
    @keyframes m-sheet-enter { from { opacity:0; translate:0 16px; } to { opacity:1; translate:0 0; } }
  }
  @media (prefers-reduced-motion:reduce) {
    body.mobile-app *,body.mobile-app *::before,body.mobile-app *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
  }
  @media (prefers-reduced-transparency:reduce) {
    body.mobile-app :is(.mobile-app-header,.mobile-bottom-nav) { background:#14372c; backdrop-filter:none; -webkit-backdrop-filter:none; }
  }
}

/* Chrome is shared with workstations, but their working forms are not themed. */
@media (min-width:769px) and (max-width:1024px) and (max-height:500px) and (pointer:coarse) {
  body:not(.mobile-chrome) :is(.mobile-app-header,.mobile-user-menu,.mobile-more-sheet,.mobile-bottom-nav,.mobile-pull-refresh) { display:none!important; }
}

/* One compact mobile identity bar. Only station chrome is adapted here; all
   workstation fields, shift actions and production layouts remain unchanged. */
@media (max-width:768px), (max-width:1024px) and (max-height:500px) and (pointer:coarse) {
  body.mobile-chrome { --m-header:52px; }
  body.mobile-chrome .mobile-app-header {
    box-sizing:border-box; position:fixed; inset:0 0 auto; z-index:110;
    display:flex; align-items:center; justify-content:space-between; gap:8px;
    height:calc(var(--m-header) + env(safe-area-inset-top));
    padding:env(safe-area-inset-top) max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left));
    background:#112f27; color:#f3f8f4; border-bottom:1px solid rgba(185,213,197,.14); box-shadow:none;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  }
  body.mobile-chrome .mobile-brand { flex:1 1 0; min-width:0; gap:8px; }
  body.mobile-chrome .mobile-brand img { flex:0 0 24px; width:24px; height:24px; }
  body.mobile-chrome .mobile-brand-copy { display:grid; min-width:0; gap:1px; }
  body.mobile-chrome .mobile-brand-copy strong { font-size:9px; font-weight:600; letter-spacing:.06em; color:#aec7b9; }
  body.mobile-chrome .mobile-brand-copy > #mobileHeaderTitle { display:block; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#f3f8f4; font-size:14px; line-height:1.3; font-weight:600; }
  body.mobile-chrome.mobile-station .mobile-brand-copy strong { display:none; }
  body.mobile-chrome.mobile-station .mobile-brand-copy > #mobileHeaderTitle { font-size:12px; }
  body.mobile-chrome .mobile-session { display:flex; flex:0 1 auto; min-width:0; align-items:center; gap:2px; }
  body.mobile-chrome :is(.mobile-profile-button,.mobile-header-logout) {
    display:flex; align-items:center; justify-content:center; min-height:44px; margin:0; padding:0 4px;
    border:0; border-radius:8px; background:transparent; color:#e5f0e9; box-shadow:none; font:inherit; cursor:pointer;
  }
  body.mobile-chrome .mobile-profile-button { min-width:44px; max-width:112px; font-size:12px; font-weight:500; }
  body.mobile-chrome #mobileSessionName { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  body.mobile-chrome .mobile-header-logout { flex:0 0 44px; width:44px; height:44px; }
  body.mobile-chrome .mobile-header-logout svg { flex-shrink:0; }
  body.mobile-chrome :is(.mobile-profile-button,.mobile-header-logout):active { background:rgba(170,215,148,.12); }
  body.mobile-chrome :is(.mobile-profile-button,.mobile-header-logout):focus-visible { outline:2px solid #b2e489; outline-offset:-2px; }
  body.mobile-chrome .mobile-user-menu { top:calc(var(--m-header) + env(safe-area-inset-top) + 8px); }
  body.mobile-chrome .mobile-bottom-nav {
    left:max(4px,env(safe-area-inset-left)); right:max(4px,env(safe-area-inset-right));
    grid-template-columns:repeat(var(--mobile-nav-count,7),minmax(0,1fr)); padding-inline:2px;
  }
  body.mobile-chrome .mobile-bottom-nav button { min-width:0; padding-inline:1px; font-size:10px; line-height:1.1; }
  body.mobile-chrome .mobile-bottom-nav button > span { display:flex; align-items:center; justify-content:center; min-height:22px; white-space:normal; text-align:center; overflow-wrap:normal; word-break:normal; }
  body.mobile-chrome .mobile-bottom-nav button[hidden],body.mobile-chrome .mobile-signal-badge[hidden] { display:none!important; }

  body.mobile-station .app-shell.station-immersive .station-screen {
    top:calc(var(--m-header) + env(safe-area-inset-top))!important; bottom:0!important;
    box-sizing:border-box; width:100%!important; min-width:0!important; min-height:0!important;
    height:calc(100vh - var(--m-header) - env(safe-area-inset-top))!important;
    height:calc(100dvh - var(--m-header) - env(safe-area-inset-top))!important;
    padding-bottom:calc(82px + env(safe-area-inset-bottom));
    scroll-padding-bottom:calc(82px + env(safe-area-inset-bottom));
  }
  body.mobile-station .station-appbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; padding:0 0 10px; margin:0 0 12px; background:transparent; }
  body.mobile-station .station-appbar .station-user { display:contents; }
  body.mobile-station .station-appbar :is(.station-brand,.station-user > span,.station-logout) { display:none; }
  body.mobile-station .station-appbar .station-exit { min-height:44px; padding:8px 12px; font-size:13px; }
  body.mobile-station .station-appbar .training-station-button {
    display:inline-flex; position:static!important; flex:0 0 auto; min-height:44px; padding:8px 12px;
    transform:none!important; animation:none!important; box-shadow:none; border-radius:10px; z-index:auto;
  }
  body.mobile-station .station-appbar .training-station-button strong { font-size:13px; }
  body.mobile-station .training-station-count[hidden] { display:none!important; }
  body.mobile-station #trainingHost > .training-station-button { display:none!important; }
}
