/* Mobile app refinements; the existing calendar design remains unchanged. */
.pwa-information { font-size:14px; line-height:1.6; }
.pwa-information p + p { margin-top:12px; }
.pwa-information ol { padding-left:22px; margin:12px 0; }
.pwa-information li + li { margin-top:8px; }
.pwa-information .primary-button { margin-top:18px; width:100%; }
.pwa-state { color:var(--muted); padding-top:16px; border-top:1px solid var(--line); margin-top:18px; }
.pwa-notice { position:fixed; bottom:20px; right:20px; z-index:28; max-width:min(330px,calc(100vw - 32px)); border:1px solid var(--line); border-radius:12px; padding:11px 14px; background:var(--surface,#fff); color:var(--ink); font-size:12px; line-height:1.4; }
.pwa-notice[hidden] { display:none; }
@media (max-width:760px) {
  body { min-width:320px; }
  .app-header { padding-left:max(12px,env(safe-area-inset-left)); padding-right:max(12px,env(safe-area-inset-right)); gap:8px; }
  .brand { min-width:0; gap:8px; }
  .brand strong { font-size:clamp(16px,4.5vw,21px); letter-spacing:-.4px; }
  .brand-mark { width:26px; height:26px; }
  .header-actions { gap:0; }
  .header-actions .icon-button, .header-actions .mobile-account { min-width:44px; width:44px; min-height:44px; }
  .mobile-nav { padding-left:max(8px,env(safe-area-inset-left)); padding-right:max(8px,env(safe-area-inset-right)); }
  .mobile-month { padding-left:max(18px,env(safe-area-inset-left)); padding-right:max(18px,env(safe-area-inset-right)); }
  .mobile-month > button { min-height:44px; padding-inline:8px; }
  .agenda, .section-page { padding-left:max(18px,env(safe-area-inset-left)); padding-right:max(18px,env(safe-area-inset-right)); padding-bottom:calc(112px + env(safe-area-inset-bottom)); }
  .editor { width:calc(100vw - 16px - env(safe-area-inset-left) - env(safe-area-inset-right)); max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); margin:auto auto max(8px,env(safe-area-inset-bottom)); overflow-y:auto; }
  .editor-body { padding:18px; }
  .editor-head { padding:16px 18px 12px; }
  .editor-head .icon-button { min-width:44px; min-height:44px; }
  .field input, .field textarea, .field select { font-size:16px; }
  .request-actions button, .today-actions button, .today-link, .rail-heading button { min-height:44px; }
  .today-actions button, .rail-heading button { min-width:44px; }
  .pwa-notice { bottom:calc(88px + env(safe-area-inset-bottom)); left:16px; right:16px; max-width:none; }
  .date-strip { scroll-padding-inline:18px; }
}
@media (max-width:380px) {
  .app-header { padding-inline:8px; gap:4px; }
  .brand { gap:5px; }
  .brand-mark { width:23px; height:23px; }
  .brand strong { font-size:16px; }
  .editor .form-grid { grid-template-columns:minmax(0,1fr); }
}
@media (display-mode:standalone) {
  html { overscroll-behavior-y:contain; }
  body { min-height:100dvh; }
}
