/* Additive PWA controls using the shared PMD design tokens. */
.pmd-app-button, .pmd-pwa-notice button, .pmd-pwa-notice a, .pmd-pwa-guide button {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: var(--control-height); padding: .5rem .75rem;
  border: 1px solid var(--line); border-radius: var(--radius-sm);
  background: var(--panel); color: var(--text); font: inherit; font-size: var(--text-sm);
  text-decoration: none; cursor: pointer;
}
.pmd-pwa-notice {
  position: fixed; z-index: 80; left: 50%; bottom: max(1rem, env(safe-area-inset-bottom)); transform: translateX(-50%);
  display: flex; align-items: center; flex-wrap: wrap; gap: .5rem 1rem;
  width: min(42rem, calc(100% - 2rem)); padding: 1rem;
  border: 1px solid var(--blue); border-radius: var(--radius-md); background: var(--panel);
  color: var(--text); box-shadow: 0 .5rem 2rem #0006;
}
.pmd-pwa-notice p { flex: 1 1 18rem; margin: 0; font-size: var(--text-sm); }
.pmd-pwa-notice a, .pmd-pwa-notice button { background: var(--text); color: var(--bg); }
.pmd-pwa-guide {
  width: min(30rem, calc(100% - 2rem)); max-height: calc(100dvh - 2rem); overflow-y: auto;
  border: 1px solid var(--line); border-radius: var(--radius-lg); padding: var(--space-6);
  color: var(--text); background: var(--panel); font: inherit;
}
.pmd-pwa-guide::backdrop { background: #000a; }
.pmd-pwa-guide form { display: flex; justify-content: flex-end; margin: 0; }
.pmd-pwa-guide h2 { margin: 1rem 0; }
.pmd-pwa-guide p { line-height: 1.7; }
.pmd-pwa-fine { color: var(--muted); font-size: var(--text-sm); }
@media (display-mode: standalone) {
  .pmd-dashboard .main, .pmd-calendar main { padding-bottom: max(2rem, env(safe-area-inset-bottom)); }
}
