#zhiyinPwaUi [hidden] { display: none !important; }
#zhiyinPwaUi { font: 14px/1.5 system-ui, "PingFang SC", "Microsoft YaHei", sans-serif; color: #23313b; }
#zhiyinPwaUi button { font: inherit; cursor: pointer; min-height: 40px; border-radius: 12px; border: 0; padding: 8px 15px; }
#zhiyinPwaUi button:focus-visible { outline: 3px solid #2d8bfb; outline-offset: 3px; }
.zy-pwa-actions { position: fixed; z-index: 40; right: max(14px, env(safe-area-inset-right)); bottom: calc(82px + env(safe-area-inset-bottom)); display: flex; gap: 2px; padding: 4px; border: 1px solid #d6e4dc; border-radius: 16px; background: #fff; box-shadow: 0 5px 22px #102f1924; }
#zhiyinPwaUi .zy-pwa-install { color: #087440; background: #eefaf2; font-weight: 650; }
#zhiyinPwaUi .zy-pwa-dismiss-install { background: #fff; padding: 7px 10px; color: #68737c; }
.zy-pwa-update { position: fixed; z-index: 100; top: calc(12px + env(safe-area-inset-top)); left: 50%; transform: translateX(-50%); display: flex; align-items: center; gap: 10px; width: min(620px, calc(100% - 24px)); padding: 12px; border: 1px solid #cfe4d7; border-radius: 17px; box-sizing: border-box; background: #fff; box-shadow: 0 8px 34px #183d2724; }
.zy-pwa-update > div { min-width: 0; flex: 1; }
.zy-pwa-update strong { display: block; font-size: 14px; }
.zy-pwa-update p { margin: 2px 0 0; color: #66746b; font-size: 12px; overflow-wrap: anywhere; }
#zhiyinPwaUi .zy-pwa-update-now { background: #087b46; color: white; white-space: nowrap; }
#zhiyinPwaUi .zy-pwa-update-now:disabled { opacity: .55; cursor: wait; }
#zhiyinPwaUi .zy-pwa-update-later { background: #f2f5f3; color: #3e5147; white-space: nowrap; }
#zhiyinPwaUi .zy-pwa-help { box-sizing: border-box; width: min(360px, calc(100% - 32px)); max-height: calc(100dvh - 48px); padding: 24px; border: 1px solid #dce7df; border-radius: 22px; color: #23313b; background: #fff; }
.zy-pwa-help::backdrop { background: #11251c66; }
.zy-pwa-help h2 { margin: 0 0 12px; font-size: 21px; }
.zy-pwa-help p { margin: 12px 0; color: #53645a; }
#zhiyinPwaUi .zy-pwa-help-close { width: 100%; margin-top: 12px; background: #087b46; color: white; }
.zy-pwa-help-steps { margin: 12px 0; padding-left: 22px; color: #53645a; }
.zy-pwa-help-steps li + li { margin-top: 9px; }
#zhiyinPwaUi .zy-pwa-help { overflow-y: auto; overscroll-behavior: contain; }
.zy-pwa-help-note { font-size: 12px; overflow-wrap: anywhere; }
#zhiyinPwaUi .zy-pwa-onboarding { box-sizing: border-box; width: min(420px, calc(100% - 32px)); max-height: calc(100dvh - 40px); overflow-y: auto; padding: 24px; border: 1px solid #dce7df; border-radius: 22px; color: #23313b; background: #fff; overscroll-behavior: contain; }
.zy-pwa-onboarding::backdrop { background: #11251c66; }
.zy-pwa-onboarding h2 { margin: 0 0 12px; font-size: 21px; }
.zy-pwa-onboarding p { color: #53645a; overflow-wrap: anywhere; }
#zhiyinPwaUi .zy-pwa-onboarding > button { width: 100%; margin-top: 9px; }
#zhiyinPwaUi .zy-pwa-onboarding-install { background: #087b46; color: #fff; }
#zhiyinPwaUi .zy-pwa-onboarding-skip, #zhiyinPwaUi .zy-pwa-already-installed { color: #385a49; background: #f0f5f2; }
.zy-pwa-entry { margin-top: 18px; border-top: 1px solid #e0e8e3; padding-top: 10px; font-size: 12px; }
.zy-pwa-login-entry { display: block; color: #087440; overflow-wrap: anywhere; margin: 7px 0; }
#zhiyinPwaUi .zy-pwa-copy-entry { width: 100%; background: #eefaf2; color: #087440; }
#zhiyinPwaUi .zy-pwa-copy-result { min-height: 1em; }
/* Keep the accepted business assets intact; scope layout corrections to admin. */
#adminShell .moderation-grid { grid-template-columns: minmax(0, 1fr); }
#adminShell .moderation-grid > .panel { min-width: 0; }
#adminShell .moderation-grid .record-filters { grid-template-columns: repeat(auto-fit, minmax(min(100%, 144px), 1fr)); }
#adminShell .moderation-grid .record-filters > * { min-width: 0; max-width: 100%; }
@media (min-width: 1281px) { #adminShell .moderation-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) {
  #adminShell .member-row { grid-template-columns: minmax(0, 1fr) 110px; }
  #adminShell .member-row > * { min-width: 0; }
  #adminShell .member-row strong, #adminShell .member-row small { overflow-wrap: anywhere; }
}
@media (max-width: 380px) { .zy-pwa-update { gap: 6px; padding: 10px; } #zhiyinPwaUi .zy-pwa-update button { padding: 8px 10px; } }
