:root{
  --pwa-bottom-nav-height:72px;
  --pwa-mobile-bg:rgba(255,255,255,.86);
  --pwa-mobile-border:rgba(148,163,184,.18);
  --pwa-mobile-text:#0f172a;
  --pwa-mobile-muted:#64748b;
  --pwa-mobile-accent:#2f7cff;
}

/* Mobile directory mirrors the tablet card language. */
@media(max-width:768px){
  .pwa-more-sheet{max-height:88svh!important;padding:10px 12px calc(18px + env(safe-area-inset-bottom))!important;border-radius:26px 26px 0 0!important;background:#f5f7fb!important}
  .pwa-more-head{margin:0 4px 12px!important}.pwa-more-head>div small{display:block;margin-bottom:3px;color:#7b8799;font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.pwa-more-head h2{font-size:23px!important;letter-spacing:-.03em}.pwa-more-close{width:46px!important;height:46px!important;border:1px solid rgba(148,163,184,.2)!important;border-radius:15px!important}
  .pwa-mobile-profile{min-height:66px;margin-bottom:12px;padding:10px 12px;display:flex;align-items:center;gap:11px;border:1px solid rgba(148,163,184,.17);border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.05)}.pwa-mobile-profile>i{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(145deg,#ffd493,#f2ad55);color:#1f2c40;font-size:16px;font-style:normal;font-weight:950}.pwa-mobile-profile span,.pwa-mobile-profile b,.pwa-mobile-profile small{display:block}.pwa-mobile-profile b{color:#172033;font-size:13px}.pwa-mobile-profile small{margin-top:3px;color:#7b8799;font-size:9px;font-weight:750}
  .pwa-more-grid{gap:10px!important}.pwa-menu-card{--mobile-card-accent:#4b91f1;padding:12px;border:1px solid color-mix(in srgb,rgba(148,163,184,.22) 84%,var(--mobile-card-accent) 16%);border-radius:20px;background:linear-gradient(145deg,color-mix(in srgb,#fff 96%,var(--mobile-card-accent) 4%),#fff);box-shadow:0 9px 24px rgba(15,23,42,.055)}.pwa-menu-card[data-mobile-group="Финансы"]{--mobile-card-accent:#4caf89}.pwa-menu-card[data-mobile-group="Операции"]{--mobile-card-accent:#d49a3f}.pwa-menu-card[data-mobile-group="Инструменты"],.pwa-menu-card[data-mobile-group="Система"]{--mobile-card-accent:#8c70d4}.pwa-menu-card.pwa-menu-utilities{--mobile-card-accent:#568fd9}
  .pwa-menu-card h3{margin:0 0 9px;display:flex;align-items:center;gap:8px;color:#172033;font-size:11px;font-weight:950;letter-spacing:.045em;text-transform:uppercase}.pwa-menu-card h3 i{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--mobile-card-accent) 15%,transparent);color:var(--mobile-card-accent);font-style:normal}.pwa-menu-card h3 svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.pwa-menu-card>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .pwa-menu-card .pwa-more-link,.pwa-menu-card .pwa-more-action{width:100%;min-width:0;min-height:64px;padding:10px!important;display:grid!important;grid-template-columns:36px minmax(0,1fr);gap:8px;border:1px solid color-mix(in srgb,rgba(148,163,184,.2) 88%,var(--mobile-card-accent) 12%);border-radius:14px!important;background:rgba(247,249,252,.82);color:#253146;font-size:11px!important;line-height:1.2;text-align:left}.pwa-menu-card .pwa-more-link>svg,.pwa-menu-card .pwa-more-action>svg{width:34px!important;height:34px!important;padding:7px;box-sizing:border-box;border-radius:10px;background:color-mix(in srgb,var(--mobile-card-accent) 13%,transparent);color:var(--mobile-card-accent)!important;stroke-width:1.8!important}.pwa-menu-card .pwa-more-link.active{border-color:color-mix(in srgb,var(--mobile-card-accent) 55%,transparent)!important;background:color-mix(in srgb,var(--mobile-card-accent) 11%,#fff)!important;color:var(--mobile-card-accent)!important}.pwa-menu-card .pwa-more-link span,.pwa-menu-card .pwa-more-action>span{min-width:0;overflow-wrap:anywhere}.pwa-menu-utilities>div{grid-template-columns:1fr 1fr!important}.pwa-menu-utilities .pwa-theme-action{grid-column:1/-1!important}.pwa-menu-utilities .pwa-theme-action em{margin-left:auto}.pwa-menu-utilities .pwa-more-logout{display:block!important}.pwa-menu-utilities .pwa-more-logout .pwa-more-action{height:100%}
  html[data-theme="dark"] .pwa-more-sheet{background:#0b1320!important;border-color:#263750!important}.pwa-more-sheet .pwa-sheet-handle{margin-bottom:12px}html[data-theme="dark"] .pwa-mobile-profile,html[data-theme="dark"] .pwa-menu-card{background:linear-gradient(145deg,color-mix(in srgb,#121d2d 95%,var(--mobile-card-accent) 5%),#101926)!important;border-color:color-mix(in srgb,#32435d 84%,var(--mobile-card-accent) 16%)!important;box-shadow:0 12px 28px rgba(0,0,0,.18)!important}html[data-theme="dark"] .pwa-mobile-profile b,html[data-theme="dark"] .pwa-menu-card h3{color:#f1f5fb!important}html[data-theme="dark"] .pwa-mobile-profile small{color:#8f9caf!important}html[data-theme="dark"] .pwa-menu-card .pwa-more-link,html[data-theme="dark"] .pwa-menu-card .pwa-more-action{background:#0d1726!important;border-color:color-mix(in srgb,#30415a 88%,var(--mobile-card-accent) 12%)!important;color:#e8edf5!important}html[data-theme="dark"] .pwa-menu-card .pwa-more-link.active{background:color-mix(in srgb,var(--mobile-card-accent) 15%,#0d1726)!important;color:color-mix(in srgb,var(--mobile-card-accent) 85%,#fff 15%)!important}
}

@media (max-width:768px){
  .pwa-more-signature{
    margin:16px 2px 2px;
    padding-top:13px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    border-top:1px solid rgba(148,163,184,.18);
    color:#94a3b8;
    font-size:10px;
    font-weight:850;
    letter-spacing:.025em;
  }

  .pwa-more-signature b{
    padding:3px 7px;
    border-radius:999px;
    color:#64748b;
    background:#f1f5f9;
    font-size:9px;
    font-weight:950;
  }

  html[data-theme="dark"] .pwa-more-signature{
    border-top-color:rgba(148,163,184,.14);
    color:#64748b;
  }

  html[data-theme="dark"] .pwa-more-signature b{
    color:#94a3b8;
    background:#1e293b;
  }
}

html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

body{
  min-height:100svh;
}

.pwa-install-trigger{
  width:100%;
  border:0;
  cursor:pointer;
  font:inherit;
}

.pwa-install-trigger[hidden],
.pwa-mobile-nav[hidden],
.pwa-more-sheet[hidden],
.pwa-install-sheet[hidden]{
  display:none!important;
}

.pwa-install-state{
  opacity:.72;
  cursor:default;
}

.pwa-mobile-nav,
.pwa-more-sheet,
.pwa-install-sheet{
  display:none;
}

body.pwa-standalone .pwa-install-trigger{
  display:none!important;
}

.pwa-push-onboarding,
.pwa-push-success{
  display:none;
}

@media (display-mode: standalone){
  body{
    padding-top:env(safe-area-inset-top);
  }
}

@media (max-width:768px){
  html,
  body.manager-mode.home-screen,
  body.pwa-standalone.manager-mode.home-screen{
    margin-top:0!important;
    padding-top:0!important;
  }

  body.manager-mode.home-screen .home-header{
    top:0!important;
    margin-top:0!important;
  }

  body.pwa-standalone .pwa-push-onboarding{
    position:fixed;
    left:12px;
    right:12px;
    bottom:calc(var(--pwa-bottom-nav-height) + env(safe-area-inset-bottom) + 12px);
    z-index:1180;
    display:block;
    padding:15px;
    border:1px solid rgba(100,116,139,.2);
    border-radius:20px;
    background:rgba(255,255,255,.97);
    color:#172033;
    box-shadow:0 18px 45px rgba(15,23,42,.16);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
  }

  .pwa-push-heading{
    display:grid;
    grid-template-columns:38px minmax(0,1fr);
    gap:10px;
    align-items:start;
    padding-right:22px;
  }

  .pwa-push-heading>i{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:rgba(47,124,255,.09);
    color:#3977ce;
  }

  .pwa-push-heading svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .pwa-push-heading strong,
  .pwa-push-heading span{
    display:block;
  }

  .pwa-push-heading strong{
    margin:1px 0 4px;
    font-size:14px;
    font-weight:800;
    line-height:1.25;
  }

  .pwa-push-heading span{
    color:#64748b;
    font-size:11px;
    font-weight:550;
    line-height:1.45;
  }

  .pwa-push-onboarding ul{
    margin:12px 0;
    padding:0;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px 12px;
    list-style:none;
    color:#526074;
    font-size:10px;
    font-weight:650;
  }

  .pwa-push-onboarding li::before{
    content:"•";
    margin-right:6px;
    color:#4c86d7;
  }

  .pwa-push-enable{
    width:100%;
    min-height:42px;
    border:0;
    border-radius:13px;
    background:#172033;
    color:#fff;
    font:inherit;
    font-size:12px!important;
    font-weight:800;
    cursor:pointer;
  }

  .pwa-push-enable:disabled{
    opacity:.65;
  }

  .pwa-push-dismiss{
    position:absolute;
    top:8px;
    right:8px;
    width:30px;
    height:30px;
    border:0;
    border-radius:10px;
    background:transparent;
    color:#94a3b8;
    font-size:20px!important;
    line-height:1;
    cursor:pointer;
  }

  .pwa-push-success{
    position:fixed;
    left:16px;
    right:16px;
    bottom:calc(var(--pwa-bottom-nav-height) + env(safe-area-inset-bottom) + 14px);
    z-index:1400;
    display:block;
    padding:13px 15px;
    border:1px solid rgba(34,197,94,.2);
    border-radius:17px;
    background:rgba(248,255,250,.98);
    color:#173326;
    box-shadow:0 16px 38px rgba(15,23,42,.16);
    opacity:0;
    transform:translateY(12px);
    transition:opacity .2s ease,transform .2s ease;
  }

  .pwa-push-success.show{
    opacity:1;
    transform:translateY(0);
  }

  .pwa-push-success strong,
  .pwa-push-success span{
    display:block;
  }

  .pwa-push-success strong{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:13px;
  }

  .pwa-push-success strong i{
    width:8px;
    height:8px;
    border-radius:999px;
    background:#22a764;
  }

  .pwa-push-success span{
    margin-top:4px;
    color:#527064;
    font-size:10px;
    line-height:1.4;
  }

  html[data-theme="dark"] .pwa-push-onboarding{
    border-color:rgba(100,116,139,.28);
    background:rgba(15,24,37,.98);
    color:#eef3f9;
    box-shadow:0 20px 48px rgba(0,0,0,.35);
  }

  html[data-theme="dark"] .pwa-push-heading span,
  html[data-theme="dark"] .pwa-push-onboarding ul{
    color:#9ba8ba;
  }

  html[data-theme="dark"] .pwa-push-enable{
    background:#edf3fb;
    color:#152033;
  }

  html[data-theme="dark"] .pwa-push-success{
    border-color:rgba(45,185,111,.24);
    background:rgba(13,31,25,.98);
    color:#e6f6ec;
  }

  html[data-theme="dark"] .pwa-push-success span{
    color:#9bc0aa;
  }

  html,
  body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }

  body.manager-mode{
    --home-sidebar:0px;
    padding-bottom:calc(var(--pwa-bottom-nav-height) + env(safe-area-inset-bottom) + 12px)!important;
  }

  body.login-screen{
    padding-bottom:env(safe-area-inset-bottom)!important;
  }

  body:not(.login-screen) .side-menu,
  body:not(.login-screen) .side-menu.open,
  body:not(.login-screen) .side-menu.show,
  body:not(.login-screen) .side-menu.active{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateX(-120%)!important;
  }

  body:not(.login-screen) .menu-overlay,
  body:not(.login-screen) .menu-overlay.open,
  body:not(.login-screen) .menu-overlay.show,
  body:not(.login-screen) .menu-close{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

  body:not(.login-screen) .menu-btn{
    display:none!important;
  }

  body.manager-mode.home-screen .home-header,
  body.manager-mode.sales-screen .sales-header,
  body.manager-mode.module-screen .module-header{
    position:sticky!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    min-height:72px!important;
    padding:calc(10px + env(safe-area-inset-top)) 14px 10px!important;
    z-index:40!important;
    background:rgba(246,248,252,.9)!important;
    border-bottom:1px solid rgba(148,163,184,.14)!important;
    backdrop-filter:blur(18px)!important;
    -webkit-backdrop-filter:blur(18px)!important;
  }

  body.manager-mode.home-screen .home-header{
    display:grid!important;
    grid-template-columns:minmax(170px,1fr) minmax(0,1fr)!important;
    gap:8px!important;
    align-items:center!important;
  }

  body.manager-mode.home-screen .home-date-center{
    grid-column:1!important;
    width:100%!important;
    min-width:0!important;
  }

  body.manager-mode.home-screen .home-date-btn{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 30px!important;
    gap:3px!important;
    padding:6px 8px!important;
    text-align:left!important;
  }

  body.manager-mode.home-screen .home-date-btn .date-chevron{
    display:block!important;
    justify-self:center!important;
  }

  body.manager-mode.home-screen .home-date-text{
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:14px!important;
    line-height:1!important;
    align-self:center!important;
    justify-content:flex-start!important;
    gap:6px!important;
  }

  body.manager-mode.home-screen .home-date-text:before{
    width:14px!important;
    height:14px!important;
    border-width:2px!important;
    border-radius:4px!important;
    background:
      linear-gradient(currentColor,currentColor) 2px 4px / 8px 2px no-repeat,
      linear-gradient(currentColor,currentColor) 3px 8px / 2px 2px no-repeat,
      linear-gradient(currentColor,currentColor) 8px 8px / 2px 2px no-repeat!important;
  }

  body.manager-mode.home-screen .home-top-actions{
    position:static!important;
    grid-column:2!important;
    width:auto!important;
    min-width:0!important;
  }

  body.manager-mode.home-screen .home-top-actions .city-switcher{
    position:relative!important;
    max-width:none!important;
    width:100%!important;
    padding-right:30px!important;
  }

  body.manager-mode.home-screen .home-top-actions .city-switcher::after{
    content:"";
    position:absolute;
    right:13px;
    top:50%;
    width:7px;
    height:7px;
    border-right:2px solid #0f172a;
    border-bottom:2px solid #0f172a;
    transform:translateY(-65%) rotate(45deg);
    pointer-events:none;
    opacity:.86;
  }

  body.manager-mode.home-screen .home-top-actions .city-switcher select{
    appearance:none!important;
    -webkit-appearance:none!important;
    padding-right:0!important;
  }

  body.manager-mode.home-screen .home-main,
  body.manager-mode.sales-screen .sales-content,
  body.manager-mode.module-screen .module-content{
    margin-left:0!important;
    width:100%!important;
    max-width:100%!important;
    padding-left:14px!important;
    padding-right:14px!important;
    padding-bottom:calc(var(--pwa-bottom-nav-height) + env(safe-area-inset-bottom) + 22px)!important;
  }

  body.manager-mode.home-screen .home-main{
    padding-top:16px!important;
  }

  body.manager-mode.sales-screen .sales-content,
  body.manager-mode.module-screen .module-content{
    padding-top:18px!important;
  }

  .app-signature{
    display:none!important;
  }

  .top-actions,
  .home-top-actions{
    gap:8px!important;
  }

  .city-switcher{
    max-width:170px!important;
    min-height:44px!important;
    border-radius:16px!important;
  }

  .city-switcher select,
  input,
  textarea,
  select,
  button{
    font-size:16px;
  }

  .pwa-mobile-nav{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:1200;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:4px;
    min-height:var(--pwa-bottom-nav-height);
    padding:8px 10px calc(8px + env(safe-area-inset-bottom));
    border:1px solid var(--pwa-mobile-border);
    border-radius:24px 24px 0 0;
    background:rgba(255,255,255,.94);
    box-shadow:0 -10px 34px rgba(15,23,42,.12);
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
  }

  .pwa-mobile-nav a,
  .pwa-mobile-nav button{
    position:relative;
    min-width:0;
    min-height:52px;
    border:0;
    border-radius:18px;
    display:grid;
    place-items:center;
    gap:2px;
    color:var(--pwa-mobile-muted);
    background:transparent;
    text-decoration:none;
    font:inherit;
    font-size:11px;
    font-weight:900;
  }

  .pwa-mobile-nav svg{
    width:21px;
    height:21px;
    stroke:currentColor;
    stroke-width:2.2;
    fill:none;
  }

  .pwa-mobile-nav .active{
    color:var(--pwa-mobile-accent);
    background:rgba(47,124,255,.11);
  }
  .feed-unread-badge{position:absolute;z-index:3;top:5px;right:calc(50% - 22px);min-width:17px;height:17px;padding:0 4px;display:grid;place-items:center;border:2px solid var(--pwa-mobile-bg,#fff);border-radius:999px;background:#ef4444;color:#fff;font-size:8px;font-style:normal;font-weight:950;line-height:1}
  .feed-unread-badge[hidden]{display:none!important}

  .pwa-sheet-backdrop{
    position:fixed;
    inset:0;
    z-index:1300;
    background:rgba(15,23,42,.34);
    opacity:0;
    pointer-events:none;
    transition:opacity .18s ease;
  }

  .pwa-sheet-backdrop.show{
    opacity:1;
    pointer-events:auto;
  }

  .pwa-more-sheet,
  .pwa-install-sheet{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:1310;
    display:block;
    max-height:min(84svh,720px);
    overflow:auto;
    padding:10px 16px calc(18px + env(safe-area-inset-bottom));
    border-radius:28px 28px 0 0;
    color:var(--pwa-mobile-text);
    background:#fff;
    box-shadow:0 -20px 60px rgba(15,23,42,.22);
    transform:translateY(105%);
    transition:transform .22s ease;
  }

  .pwa-more-sheet.show,
  .pwa-install-sheet.show{
    transform:translateY(0);
  }

  .pwa-sheet-handle{
    width:44px;
    height:5px;
    margin:2px auto 14px;
    border-radius:999px;
    background:#cbd5e1;
  }

  .pwa-more-head,
  .pwa-install-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:14px;
  }

  .pwa-more-head h2,
  .pwa-install-head h2{
    margin:0;
    color:#0f172a;
    font-size:22px;
    line-height:1.05;
  }

  .pwa-more-close,
  .pwa-install-close{
    width:44px;
    height:44px;
    border:0;
    border-radius:16px;
    color:#0f172a;
    background:#f1f5f9;
    font-size:22px;
    font-weight:900;
  }

  .pwa-more-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }

  .pwa-more-link,
  .pwa-more-action{
    min-height:50px;
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px 14px;
    border:1px solid rgba(148,163,184,.14);
    border-radius:18px;
    color:#0f172a;
    background:#f8fafc;
    text-decoration:none;
    font:inherit;
    font-size:15px;
    font-weight:900;
  }

  .pwa-more-link.active{
    color:var(--pwa-mobile-accent);
    background:#eff6ff;
    border-color:rgba(47,124,255,.18);
  }

  .pwa-more-group{
    margin:10px 2px 2px;
    color:#64748b;
    font-size:12px;
    font-weight:950;
    letter-spacing:.04em;
    text-transform:uppercase;
  }

  .pwa-more-link svg,
  .pwa-more-action svg{
    width:21px;
    height:21px;
    stroke:currentColor;
    stroke-width:2.2;
    fill:none;
    color:#64748b;
  }

  .pwa-theme-action > span{
    min-width:0;
    display:grid;
    gap:2px;
    text-align:left;
  }

  .pwa-theme-action > span b{
    color:inherit;
    font-size:15px;
    line-height:1.1;
  }

  .pwa-theme-action > span small{
    color:#64748b;
    font-size:11px;
    font-weight:800;
  }

  .pwa-theme-action > em{
    flex:0 0 auto;
    width:42px;
    height:26px;
    margin-left:auto;
    padding:2px;
    border-radius:999px;
    background:#d7dde7;
    box-sizing:border-box;
    transition:background .18s ease;
  }

  .pwa-theme-action > em i{
    display:block;
    width:22px;
    height:22px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 2px 6px rgba(15,23,42,.18);
    transform:translateX(0);
    transition:transform .18s ease;
  }

  .pwa-theme-action.active > em{
    background:#2f7cff;
  }

  .pwa-theme-action.active > em i{
    transform:translateX(16px);
  }

  .pwa-install-copy{
    margin:0 0 14px;
    color:#64748b;
    font-size:15px;
    font-weight:800;
    line-height:1.4;
  }

  .pwa-install-steps{
    display:grid;
    gap:10px;
    margin:14px 0;
  }

  .pwa-install-step{
    display:grid;
    grid-template-columns:44px 1fr;
    gap:12px;
    align-items:center;
    padding:12px;
    border-radius:18px;
    background:#f8fafc;
  }

  .pwa-install-step i{
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    border-radius:16px;
    color:#2563eb;
    background:#eff6ff;
  }

  .pwa-install-step svg{
    width:23px;
    height:23px;
    stroke:currentColor;
    stroke-width:2.2;
    fill:none;
  }

  .pwa-install-step b{
    display:block;
    color:#0f172a;
    font-size:15px;
    font-weight:1000;
  }

  .pwa-install-step span{
    display:block;
    margin-top:2px;
    color:#64748b;
    font-size:13px;
    font-weight:800;
    line-height:1.3;
  }

  .pwa-install-note{
    margin:12px 0 0;
    padding:12px 14px;
    border-radius:16px;
    color:#92400e;
    background:#fffbeb;
    font-size:13px;
    font-weight:900;
  }

  /* Shared mobile layout */
  .panel,
  .module-card,
  .summary-card,
  .kpi,
  .plan-card,
  .chart-card,
  .sales-metric{
    border-radius:18px!important;
  }

  .module-shell,
  .sales-page{
    width:100%!important;
    max-width:100%!important;
  }

  .module-topbar{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    margin-bottom:14px!important;
  }

  .module-topbar h1,
  .sales-dashboard-header h1{
    font-size:26px!important;
    line-height:1.05!important;
  }

  .module-topbar p,
  .sales-dashboard-header p{
    font-size:13px!important;
    line-height:1.35!important;
  }

  .module-actions,
  .sales-dashboard-actions,
  .employee-date-row{
    display:flex!important;
    gap:8px!important;
    overflow-x:auto!important;
    padding-bottom:2px!important;
    -webkit-overflow-scrolling:touch;
  }

  .module-actions > *,
  .sales-dashboard-actions > *,
  .employee-date-row > *{
    flex:0 0 auto!important;
  }

  .module-actions button,
  .module-date-control,
  .menu-date-button,
  .sales-dashboard-actions button,
  .refresh-sales-btn,
  .reset-settings-btn{
    min-height:44px!important;
    border-radius:15px!important;
    padding:10px 13px!important;
    font-size:14px!important;
  }

  .module-chips,
  .report-tabs,
  .place-tabs,
  .employee-role-tabs{
    overflow-x:auto!important;
    flex-wrap:nowrap!important;
    justify-content:flex-start!important;
    padding-bottom:4px!important;
    -webkit-overflow-scrolling:touch;
  }

  .module-chips button,
  .report-tabs button,
  .place-tabs button,
  .employee-role-tabs button{
    flex:0 0 auto!important;
    min-height:42px!important;
    font-size:14px!important;
  }

  /* Home */
  .home-date-center{
    position:static!important;
    transform:none!important;
    display:flex!important;
    justify-content:flex-start!important;
    min-width:0!important;
  }

  .home-date-btn{
    min-width:0!important;
    width:auto!important;
    max-width:190px!important;
  }

  .calendar-popup{
    position:fixed!important;
    left:50%!important;
    right:auto!important;
    top:calc(82px + env(safe-area-inset-top))!important;
    width:min(330px,calc(100vw - 28px))!important;
    max-width:calc(100vw - 28px)!important;
    transform:translateX(-50%)!important;
    z-index:1400!important;
  }

  .plan-percent.revenue-mode{
    font-size:38px!important;
    letter-spacing:-.04em!important;
    white-space:nowrap!important;
  }

  .home-clock{
    font-size:22px!important;
  }

  .plan-top{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
  }

  .plan-percent{
    font-size:46px!important;
  }

  .plan-status{
    display:grid!important;
    grid-template-columns:44px 1fr!important;
    align-items:center!important;
    min-height:82px!important;
  }

  .cards,
  .home-kpis,
  .bottom,
  .home-status-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }

  .home-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .home-kpis .kpi{
    min-height:132px!important;
    padding:16px!important;
  }

  .home-kpis .kpi-value{
    font-size:28px!important;
  }

  .bottom .panel,
  .lists-panel{
    min-width:0!important;
    width:100%!important;
  }

  /* Sales */
  .sales-dashboard-header{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  .sales-summary{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }

  .summary-card{
    min-width:0!important;
    min-height:112px!important;
    padding:14px!important;
  }

  .summary-card strong{
    font-size:24px!important;
    white-space:normal!important;
  }

  .sales-dash-row,
  .sales-dash-row-second{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }

  .sales-calendar-popup.embedded{
    max-width:100%!important;
    overflow:hidden!important;
  }

  .sales-table{
    overflow-x:auto!important;
    max-width:100%!important;
    -webkit-overflow-scrolling:touch;
  }

  .sales-row{
    min-width:860px!important;
  }

  .sales-explain{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }

  /* Section pages */
  .insight-grid,
  .finance-grid,
  .menu-grid,
  .stock-grid,
  .employee-kpi-grid,
  .settings-grid,
  .medical-kpi-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }

  .employee-kpi-grid,
  .medical-kpi-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .employee-late-grid,
  .employee-top-grid,
  .employee-team-grid,
  .schedule-grid,
  .medical-groups{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }

  .employee-late-card,
  .employee-top-card,
  .schedule-board,
  .settings-card{
    min-width:0!important;
    max-width:100%!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;
  }

  .medical-health{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    text-align:left!important;
  }

  .medical-health strong{
    font-size:24px!important;
  }

  .medical-toolbar{
    display:flex!important;
    gap:8px!important;
    overflow-x:auto!important;
    justify-content:flex-start!important;
  }

  .medical-toolbar button{
    min-height:44px!important;
    flex:0 0 auto!important;
  }

  .schedule-table,
  .medical-table-row,
  .medical-subgroup-row{
    font-size:14px!important;
  }

  .schedule-cell-input,
  .medical-input,
  .settings-card input,
  .settings-card select,
  .settings-card textarea{
    min-height:40px!important;
    font-size:16px!important;
  }

  /* Login */
  body.login-screen{
    min-height:100svh!important;
    display:block!important;
  }

  .login-wrap,
  .login-screen.login-keyboard-hidden .login-wrap{
    min-height:100svh!important;
    width:100%!important;
    padding:calc(18px + env(safe-area-inset-top)) 16px calc(18px + env(safe-area-inset-bottom))!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    align-content:center!important;
    gap:14px!important;
  }

  .login-brand,
  .login-card{
    width:100%!important;
    max-width:440px!important;
    margin:0 auto!important;
    border-radius:22px!important;
  }

  .login-brand{
    min-height:0!important;
    padding:24px!important;
  }

  .login-logo{
    font-size:42px!important;
  }

  .login-brand p{
    font-size:14px!important;
    line-height:1.4!important;
  }

  .ramen-mark{
    display:none!important;
  }

  .login-card{
    padding:22px!important;
  }

  .login-card h1{
    font-size:28px!important;
  }

  .login-card p{
    font-size:14px!important;
  }

  .login-fields input{
    min-height:50px!important;
    font-size:16px!important;
  }

  .login-submit,
  .login-pinpad-toggle{
    min-height:48px!important;
    font-size:16px!important;
  }

  .login-pinpad button{
    min-height:54px!important;
    font-size:20px!important;
  }
}

/* Mobile navigation lives in the bottom bar; keep the old burger hidden. */
@media (max-width:768px){
  body.manager-mode:not(.login-screen) .menu-btn,
  body.manager-mode.module-screen:not(.login-screen) .menu-btn,
  body.manager-mode.sales-screen:not(.login-screen) .menu-btn,
  body.manager-mode.home-screen:not(.login-screen) .menu-btn{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

  body.manager-mode.module-screen .module-header{
    grid-template-columns:minmax(0,1fr)!important;
  }

  body.manager-mode.module-screen .module-header #clock{
    grid-column:1!important;
    justify-self:center!important;
    width:min(100%, 340px)!important;
    text-align:center!important;
  }

  body.manager-mode.module-screen .module-header .top-actions{
    grid-column:1!important;
    justify-self:center!important;
    width:min(100%, 260px)!important;
    justify-content:center!important;
  }

  body.manager-mode.module-screen .module-header .city-switcher{
    width:100%!important;
    max-width:none!important;
  }
}

@media (max-width:768px) and (display-mode: standalone){
  .pwa-install-trigger{
    display:none!important;
  }
}

html[data-theme="dark"]{
  --pwa-mobile-bg:rgba(15,23,42,.86);
  --pwa-mobile-border:rgba(148,163,184,.2);
  --pwa-mobile-text:#f8fafc;
  --pwa-mobile-muted:#94a3b8;
}

@media (max-width:768px){
  body[data-page="employees"] .employee-toolbar,
  body[data-page="employees"] .employee-loading-panel,
  body[data-page="employees"] .employee-loading-grid{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  body[data-page="employees"] .employee-toolbar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
  }

  body[data-page="employees"] .employee-toolbar h2,
  body[data-page="employees"] .employee-toolbar p{
    width:auto!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-wrap:anywhere!important;
  }

  body[data-page="employees"] .employee-date-row{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  body[data-page="employees"] .employee-loading-panel{
    padding:22px!important;
  }

  body[data-page="employees"] .employee-loading-grid{
    grid-template-columns:1fr!important;
  }

  html[data-theme="dark"] body.manager-mode.home-screen .home-header,
  html[data-theme="dark"] body.manager-mode.sales-screen .sales-header,
  html[data-theme="dark"] body.manager-mode.module-screen .module-header{
    background:rgba(11,17,27,.9)!important;
  }

html[data-theme="dark"] .pwa-more-sheet,
html[data-theme="dark"] .pwa-install-sheet{
  color:#f8fafc;
  background:#111827;
}

.demo-mode-badge{display:none!important}

/* Compact login for phones. Keep keyboards closed on initial load. */
@media (max-width:768px){
  body.login-screen{
    min-height:100svh!important;
    padding:0!important;
    overflow:auto!important;
  }

  body.login-screen .login-wrap,
  body.login-screen.login-keyboard-hidden .login-wrap{
    min-height:calc(100svh - 44px)!important;
    width:min(100%,440px)!important;
    padding:calc(20px + env(safe-area-inset-top)) 16px 16px!important;
    align-content:center!important;
    gap:10px!important;
  }

  body.login-screen .login-brand{
    padding:20px 22px!important;
    gap:0!important;
    border-radius:24px 24px 14px 14px!important;
  }

  body.login-screen .login-logo{
    font-size:38px!important;
  }

  body.login-screen .login-brand p{
    margin-top:7px!important;
    font-size:12px!important;
    line-height:1.35!important;
  }

  body.login-screen .login-badges{
    display:none!important;
  }

  body.login-screen .login-card{
    padding:22px!important;
    border-radius:14px 14px 24px 24px!important;
  }

  body.login-screen .login-card h1{
    font-size:25px!important;
  }

  body.login-screen .login-card > p{
    margin:6px 0 18px!important;
    font-size:12px!important;
    line-height:1.35!important;
  }

  body.login-screen .login-form,
  body.login-screen .login-form.keyboard-collapsed,
  body.login-screen.login-keyboard-hidden .login-form{
    max-width:none!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  body.login-screen .login-fields{
    gap:10px!important;
  }

  body.login-screen .login-pinpad.is-hidden{
    display:none!important;
  }

  body.login-screen .login-pinpad-toggle{
    min-height:44px!important;
    font-size:13px!important;
  }

  body.login-screen .login-footer{
    position:static!important;
    width:min(100%,440px)!important;
    margin:0 auto!important;
    padding:0 16px calc(12px + env(safe-area-inset-bottom))!important;
    justify-content:center!important;
    color:#525252!important;
  }
}

  html[data-theme="dark"] .pwa-more-head h2,
  html[data-theme="dark"] .pwa-install-head h2,
  html[data-theme="dark"] .pwa-install-step b{
    color:#f8fafc;
  }

  html[data-theme="dark"] .pwa-more-close,
  html[data-theme="dark"] .pwa-install-close,
  html[data-theme="dark"] .pwa-more-link,
  html[data-theme="dark"] .pwa-more-action,
  html[data-theme="dark"] .pwa-install-step{
    color:#f8fafc;
    background:#0f172a;
    border-color:rgba(148,163,184,.18);
  }

  html[data-theme="dark"] .pwa-theme-action > span small{
    color:#94a3b8;
  }
}

@media (max-width:768px){
  body:not(.login-screen) #sideMenu.side-menu{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
    transform:translate3d(-120%,0,0)!important;
  }

  body:not(.login-screen) #menuOverlay.menu-overlay{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }
}

/* Mobile cockpit home must not inherit the old oversized home cards. */
@media (max-width:768px){
  body.manager-mode.home-screen .cockpit-main{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:12px!important;
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    padding:16px 14px calc(var(--pwa-bottom-nav-height) + env(safe-area-inset-bottom) + 22px)!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }

  body.manager-mode.home-screen .cockpit-main > *{
    position:relative!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    transform:none!important;
    z-index:auto!important;
    box-sizing:border-box!important;
  }

  body.manager-mode.home-screen .cockpit-plan-card{
    display:block!important;
    padding:14px!important;
    overflow:hidden!important;
  }

  body.manager-mode.home-screen .cockpit-plan-card .plan-top{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }

  body.manager-mode.home-screen .cockpit-plan-card .plan-percent{
    position:static!important;
    display:block!important;
    font-size:36px!important;
    line-height:1!important;
    opacity:1!important;
    color:#0f172a!important;
    white-space:nowrap!important;
  }

  body.manager-mode.home-screen .cockpit-plan-card .plan-status{
    position:static!important;
    display:grid!important;
    grid-template-columns:40px minmax(0,1fr)!important;
    min-height:72px!important;
    height:auto!important;
    padding:12px!important;
    transform:none!important;
  }

  body.manager-mode.home-screen .plan-meta-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    margin-top:12px!important;
  }

  body.manager-mode.home-screen .plan-meta-grid article{
    min-width:0!important;
    padding:10px!important;
  }

  body.manager-mode.home-screen .plan-meta-grid strong{
    font-size:18px!important;
  }

  body.manager-mode.home-screen .cockpit-kpis{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }

  body.manager-mode.home-screen .cockpit-kpis .kpi{
    display:grid!important;
    grid-template-columns:32px minmax(0,1fr)!important;
    grid-template-rows:auto auto auto!important;
    align-content:center!important;
    align-items:center!important;
    column-gap:10px!important;
    row-gap:3px!important;
    min-height:0!important;
    height:88px!important;
    padding:10px!important;
    overflow:hidden!important;
  }

  body.manager-mode.home-screen .cockpit-kpis .metric-icon{
    width:32px!important;
    height:32px!important;
    grid-row:1 / 4!important;
  }

  body.manager-mode.home-screen .cockpit-kpis .kpi .card-title{
    grid-column:2!important;
    min-width:0!important;
    font-size:10.5px!important;
    line-height:1.05!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  body.manager-mode.home-screen .cockpit-kpis .kpi-value{
    grid-column:2!important;
    font-size:21px!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  body.manager-mode.home-screen .cockpit-kpis .hint,
  body.manager-mode.home-screen .cockpit-kpis .compare-badge{
    grid-column:2!important;
    max-width:100%!important;
    font-size:10px!important;
  }

  body.manager-mode.home-screen .cockpit-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }

  body.manager-mode.home-screen .sparkline-card{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }

  body.manager-mode.home-screen .home-sparkline{
    height:76px!important;
  }

  body.manager-mode.home-screen .spark-axis{
    grid-column:1!important;
    margin-top:-4px!important;
    font-size:9px!important;
  }

  body.manager-mode.home-screen .lists-panel{
    display:grid!important;
    grid-template-columns:1fr!important;
  }

  body.manager-mode.home-screen .cockpit-control .home-status-row{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
}

@media (max-width:768px){
  html[data-theme="dark"] body.manager-mode.home-screen .cockpit-plan-card .plan-percent{
    color:#f8fafc!important;
  }
}

/* Hard guard for the mobile cockpit: keep every block in the normal flow and opaque. */
@media (max-width:768px){
  body.manager-mode.home-screen .cockpit-main{
    height:auto!important;
    min-height:100dvh!important;
    overflow-x:hidden!important;
    overflow-y:visible!important;
    align-items:stretch!important;
    isolation:isolate!important;
  }

  body.manager-mode.home-screen .cockpit-main > *{
    flex:0 0 auto!important;
    clear:both!important;
    contain:layout paint!important;
    isolation:isolate!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
  }

  body.manager-mode.home-screen .cockpit-plan-card,
  body.manager-mode.home-screen .cockpit-kpis .kpi,
  body.manager-mode.home-screen .home-spark-card,
  body.manager-mode.home-screen .lists-panel,
  body.manager-mode.home-screen .cockpit-control,
  body.manager-mode.home-screen .cockpit-control .status-item{
    background:#fff!important;
    opacity:1!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  body.manager-mode.home-screen .cockpit-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    align-items:start!important;
    min-height:0!important;
  }

  body.manager-mode.home-screen .home-spark-card,
  body.manager-mode.home-screen .lists-panel{
    overflow:hidden!important;
  }

  body.manager-mode.home-screen .home-spark-card{z-index:3!important;}
  body.manager-mode.home-screen .lists-panel{z-index:2!important;}
  body.manager-mode.home-screen .cockpit-kpis{z-index:1!important;}
}

@media (max-width:768px){
  html[data-theme="dark"] body.manager-mode.home-screen .cockpit-plan-card,
  html[data-theme="dark"] body.manager-mode.home-screen .cockpit-kpis .kpi,
  html[data-theme="dark"] body.manager-mode.home-screen .home-spark-card,
  html[data-theme="dark"] body.manager-mode.home-screen .lists-panel,
  html[data-theme="dark"] body.manager-mode.home-screen .cockpit-control,
  html[data-theme="dark"] body.manager-mode.home-screen .cockpit-control .status-item{
    background:#111827!important;
  }
}

/* Dark theme contrast pass. Desktop and mobile are deliberately scoped separately. */
html[data-theme="dark"] body.manager-mode.home-screen .cockpit-plan-card .plan-percent{
  color:#f8fafc!important;
  text-shadow:0 1px 0 rgba(255,255,255,.03);
}

/* Final iOS guard: keep phone navigation attached to the visual viewport. */
@media (max-width:768px){
  html body:not(.login-screen) #pwaMobileNav.pwa-mobile-nav{
    position:fixed!important;
    inset:auto 0 0 0!important;
    top:auto!important;
    bottom:0!important;
    left:0!important;
    right:0!important;
    width:100vw!important;
    max-width:100vw!important;
    height:auto!important;
    min-height:var(--pwa-bottom-nav-height)!important;
    margin:0!important;
    transform:none!important;
    translate:none!important;
    z-index:10000!important;
    isolation:isolate!important;
    box-sizing:border-box!important;
  }
}

@media (max-width:768px){
  html[data-theme="dark"] .pwa-mobile-nav{
    display:grid!important;
    color:#cbd5e1!important;
    background:rgba(17,24,39,.97)!important;
    border-color:#334155!important;
    box-shadow:0 -14px 38px rgba(0,0,0,.38)!important;
  }

  html[data-theme="dark"] .pwa-mobile-nav a,
  html[data-theme="dark"] .pwa-mobile-nav button{
    color:#94a3b8!important;
    background:transparent!important;
  }

  html[data-theme="dark"] .pwa-mobile-nav .active{
    color:#60a5fa!important;
    background:#22304a!important;
  }

  html[data-theme="dark"] .pwa-sheet-backdrop.show{
    background:rgba(2,6,23,.72)!important;
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
  }

  html[data-theme="dark"] .pwa-more-sheet,
  html[data-theme="dark"] .pwa-install-sheet{
    color:#f8fafc!important;
    background:#1b2639!important;
    border:1px solid #3a4a63!important;
    border-bottom:0!important;
    box-shadow:0 -26px 70px rgba(0,0,0,.58)!important;
  }

  html[data-theme="dark"] .pwa-sheet-handle{
    background:#64748b!important;
  }

  html[data-theme="dark"] .pwa-more-link,
  html[data-theme="dark"] .pwa-more-action,
  html[data-theme="dark"] .pwa-install-step{
    color:#f8fafc!important;
    background:#111827!important;
    border-color:#3a4a63!important;
  }

  html[data-theme="dark"] .pwa-more-link.active{
    color:#60a5fa!important;
    background:#22304a!important;
    border-color:#3b82f6!important;
  }

  html[data-theme="dark"] .pwa-more-group{
    color:#94a3b8!important;
  }

  html[data-theme="dark"] body.manager-mode.module-screen .module-header .city-switcher,
  html[data-theme="dark"] body.manager-mode.sales-screen .sales-header .city-switcher,
  html[data-theme="dark"] body.manager-mode.home-screen .home-header .city-switcher{
    color:#e2e8f0!important;
    background:#151f30!important;
    border-color:#3a4a63!important;
  }

  html[data-theme="dark"] body.manager-mode.module-screen .module-header .city-switcher select,
  html[data-theme="dark"] body.manager-mode.sales-screen .sales-header .city-switcher select,
  html[data-theme="dark"] body.manager-mode.home-screen .home-header .city-switcher select{
    color:#f8fafc!important;
    background:#151f30!important;
    border-color:transparent!important;
    color-scheme:dark;
  }
}

html.modal-scroll-locked,body.modal-scroll-locked{overflow:hidden!important;overscroll-behavior:none!important}body.modal-scroll-locked{position:fixed!important;left:0!important;right:0!important;width:100%!important}
.kitchen-pull-refresh{
  --pull-distance:0px;
  position:fixed;
  z-index:11900;
  top:max(8px,env(safe-area-inset-top));
  left:50%;
  min-height:38px;
  padding:0 14px 0 9px;
  border:1px solid rgba(100,116,139,.2);
  border-radius:999px;
  display:flex;
  align-items:center;
  gap:8px;
  color:#334155;
  background:rgba(255,255,255,.94);
  box-shadow:0 10px 30px rgba(15,23,42,.13);
  opacity:0;
  pointer-events:none;
  transform:translate3d(-50%,calc(-52px + var(--pull-distance)),0) scale(.94);
  transition:opacity .14s ease,transform .14s ease;
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
}
.kitchen-pull-refresh.is-visible{opacity:1;transform:translate3d(-50%,min(18px,calc(-52px + var(--pull-distance))),0) scale(1)}
.kitchen-pull-refresh i{
  width:20px;height:20px;border:2px solid #cbd5e1;border-top-color:#2563eb;border-radius:50%;
  transform:rotate(calc(var(--pull-distance) * 3));
}
.kitchen-pull-refresh span{font-size:11px;font-weight:700;white-space:nowrap}
.kitchen-pull-refresh.is-ready i,.kitchen-pull-refresh.is-refreshing i{border-top-color:#16a34a}
.kitchen-pull-refresh.is-refreshing{opacity:1;--pull-distance:70px}
.kitchen-pull-refresh.is-refreshing i{animation:kitchen-pull-spin .7s linear infinite}
@keyframes kitchen-pull-spin{to{transform:rotate(360deg)}}
html[data-theme="dark"] .kitchen-pull-refresh{color:#e5e7eb;background:rgba(32,33,36,.94);border-color:rgba(255,255,255,.14);box-shadow:0 12px 32px rgba(0,0,0,.34)}
@media(min-width:769px) and (pointer:fine){.kitchen-pull-refresh{display:none}}
.profit-learn-modal,.profit-manual-modal,.account-access-modal,.release-announcement,.pwa-more-sheet,.pwa-sheet-backdrop{z-index:12000!important}
[role="dialog"]{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.pwa-more-sheet{overscroll-behavior-y:contain!important;overscroll-behavior-x:none!important;touch-action:pan-y!important;-webkit-overflow-scrolling:touch!important}
.pwa-sheet-backdrop{overscroll-behavior:none!important;touch-action:none!important}
@media(max-width:768px){
  .profit-learn-modal,.profit-manual-modal,.account-access-modal,.release-announcement{z-index:12000!important;padding-bottom:max(10px,env(safe-area-inset-bottom))!important}
  .profit-learn-dialog,.profit-manual-dialog,.account-access-dialog,.release-announcement-card{max-height:calc(100dvh - 20px)!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important}
  .pwa-mobile-nav{z-index:10000!important}
}

/* Graphite menu: neutral surfaces with category colors used only as accents. */
html[data-theme="dark"] .pwa-sheet-backdrop.show{background:rgba(16,17,19,.76)!important}
html[data-theme="dark"] .pwa-more-sheet{color:#f1f3f4!important;background:#202124!important;border-color:rgba(255,255,255,.13)!important;box-shadow:0 -26px 70px rgba(0,0,0,.55)!important}
html[data-theme="dark"] .pwa-mobile-profile{background:linear-gradient(145deg,#2b2c30,#26272a)!important;border-color:rgba(255,255,255,.12)!important;box-shadow:0 12px 28px rgba(0,0,0,.2)!important}
html[data-theme="dark"] .pwa-menu-card{background:linear-gradient(145deg,color-mix(in srgb,#2b2c30 96%,var(--mobile-card-accent) 4%),#27282b)!important;border-color:color-mix(in srgb,rgba(255,255,255,.13) 88%,var(--mobile-card-accent) 12%)!important;box-shadow:0 12px 28px rgba(0,0,0,.18)!important}
html[data-theme="dark"] .pwa-menu-card .pwa-more-link,html[data-theme="dark"] .pwa-menu-card .pwa-more-action{color:#e8eaed!important;background:#202124!important;border-color:color-mix(in srgb,rgba(255,255,255,.13) 90%,var(--mobile-card-accent) 10%)!important}
html[data-theme="dark"] .pwa-menu-card .pwa-more-link.active{background:color-mix(in srgb,var(--mobile-card-accent) 14%,#292a2e)!important;border-color:color-mix(in srgb,var(--mobile-card-accent) 58%,rgba(255,255,255,.14))!important;color:color-mix(in srgb,var(--mobile-card-accent) 82%,#fff 18%)!important}
html[data-theme="dark"] .pwa-more-close{color:#d7dbe0!important;background:#303136!important;border-color:rgba(255,255,255,.12)!important}
html[data-theme="dark"] .pwa-sheet-handle{background:#767980!important}
