html { -webkit-text-size-adjust:100%; }
#app header { display:flex; justify-content:flex-start; gap:14px; padding:12px 20px !important; min-height:86px; height:auto; }
#app header .menu-toggle { position:static !important; margin:0; width:44px; height:44px; flex:0 0 44px; }
#app header > div { flex:1; }
#app header { position:sticky; top:0; z-index:8; background:#fff; }
.due-alerts { margin-bottom:20px; padding:20px; }
.due-alerts h3 { margin-top:0; }
.due-alerts > p, .due-alert p { color:var(--muted); line-height:1.5; }
.due-alert { border-left:3px solid var(--green); background:#f2f8f6; padding:12px; margin:12px 0; border-radius:8px; }
.due-alert p { margin:6px 0 0; }
#app #new-button { display:none !important; }
#app aside { padding-top:max(20px, env(safe-area-inset-top)); overflow-y:auto; }
#app:not(.menu-collapsed) header .menu-toggle { position:relative !important; z-index:21; }
input,select,textarea { font-size:16px !important; }
dialog { max-height:90dvh; overflow-y:auto; }
.notification-settings { margin-top:24px; }
.notification-settings label { display:block; margin:12px 0; }
.notification-settings input[type=tel] { display:block; width:100%; max-width:320px; padding:12px; }
@media(max-width:800px) {
  #app header { padding-top:max(12px, env(safe-area-inset-top)) !important; }
  #app header h2 { font-size:22px; }
  #app:not(.menu-collapsed) header .menu-toggle { position:fixed !important; left:min(250px,83vw) !important; top:max(12px,env(safe-area-inset-top)) !important; }
  .dashboard { padding-top:16px !important; }
}

#app > .menu-toggle { position:fixed !important; top:max(12px,env(safe-area-inset-top)) !important; left:244px !important; z-index:20; }
@media(max-width:800px){#app > .menu-toggle { left:min(250px,83vw) !important; }}

.paid-disclosure { margin:14px 0; border:1px solid #d9e4e8; border-radius:12px; padding:12px; background:#f7fafb; }
.paid-disclosure > summary { cursor:pointer; color:#345568; font-weight:600; list-style:none; padding:8px; }
.paid-disclosure > summary::-webkit-details-marker { display:none; }
.paid-disclosure > summary::before { content:"+ "; font-size:20px; }
.paid-disclosure[open] > summary::before { content:"− "; }
.paid-disclosure[open] > summary { margin-bottom:12px; }
