html,body{max-width:100%;overflow-x:hidden}body{padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left)}.mobile-menu{display:none!important}
.account-link,.link-button{border:0;background:none;color:var(--green);padding:0;min-height:auto;font:inherit;font-weight:600;cursor:pointer}.account-link{color:var(--muted);text-align:left;font-weight:400}
.notification-bell{position:relative}.notification-bell b{position:absolute;right:-5px;top:-6px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#b42318;color:#fff;font-size:9px}
.notification-popover{position:absolute;z-index:70;right:30px;top:70px;width:min(390px,calc(100vw - 24px));max-height:min(560px,calc(100vh - 90px));overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 18px 52px #18233030}.notification-popover-head{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;padding:13px 14px;border-bottom:1px solid var(--line);background:#fff}.notification-mini{display:grid;gap:2px;padding:11px 14px;border-bottom:1px solid #edf1f3;color:var(--ink)}.notification-mini.unread{background:#eef7f4}.notification-mini span,.notification-mini time{color:var(--muted);font-size:11px}.notification-all{display:block;padding:12px 14px;text-align:center;font-weight:600}
.install-banner{position:fixed!important;z-index:80;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));display:flex!important;flex-direction:row!important;align-items:center;gap:10px;width:min(470px,calc(100vw - 24px));padding:12px!important;border:1px solid #bdd7ce!important;border-radius:12px!important;background:#fff!important;color:var(--ink)!important;box-shadow:0 16px 48px #18233038!important}.install-banner[hidden]{display:none!important}.install-banner>div{display:grid;flex:1}.install-banner span{color:var(--muted);font-size:11px}.install-banner button{white-space:nowrap}.install-dialog{width:min(500px,calc(100vw - 24px));padding:24px;border:0;border-radius:14px;color:var(--ink);box-shadow:0 24px 80px #0004}.install-dialog::backdrop{background:#102f2670}.install-dialog ol{display:grid;gap:14px;padding-left:22px;margin:20px 0}.install-dialog .drawer-close{right:12px;top:12px}
.install-dialog h2{padding-right:42px}.pwa-update{position:fixed;z-index:100;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;align-items:center;gap:14px;padding:10px 12px;border-radius:10px;background:#182330;color:#fff;box-shadow:0 12px 40px #0004;white-space:nowrap}
.push-setup .section-heading{align-items:flex-start}.notification-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0}.notification-type-grid label{display:flex;gap:8px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:8px}.notification-type-grid input,.quiet-hours input{min-height:auto}.quiet-hours{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0}.quiet-hours label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}.device-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.device-row strong,.device-row small{display:block}.device-row small{color:var(--muted);font-size:11px}.notification-filters{overflow:auto;flex-wrap:nowrap;padding-bottom:4px}.notification-filters a{white-space:nowrap}.notification-list-head{display:flex;align-items:center;justify-content:space-between}.notification-row{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px 4px;border-top:1px solid var(--line);color:var(--ink)}.notification-row.unread{background:#f0f8f5}.notification-row span strong,.notification-row span small{display:block}.notification-row span small,.notification-row time{color:var(--muted);font-size:11px}.notification-dot{width:7px;height:7px;border-radius:50%;background:#cbd5db}.notification-row.unread .notification-dot{background:var(--green)}
.offline-page{min-height:100vh;display:grid;place-items:center;background:#f2f6f4}.offline-page main{padding:20px}.offline-card{width:min(430px,100%);padding:28px;border:1px solid #d5e1dc;border-radius:16px;background:#fff;box-shadow:0 16px 50px #102f2614}.offline-mark{display:inline-block;color:#073c31;font-size:26px;font-weight:900}.offline-card h1{margin-top:28px}.offline-card p{color:#667482}
@media(max-width:760px){.mobile-menu{display:grid!important;position:fixed!important;z-index:34;top:calc(env(safe-area-inset-top) + 8px)!important;left:calc(env(safe-area-inset-left) + 10px)!important;width:44px;height:44px;min-height:44px;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.notification-popover{position:fixed;left:8px;right:8px;top:calc(env(safe-area-inset-top) + 58px);width:auto;max-height:calc(100dvh - env(safe-area-inset-top) - 70px)}.install-banner{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));width:auto}.install-banner>div span{display:none}.install-dialog{padding:20px;margin:auto}.notification-type-grid{grid-template-columns:1fr}.notification-row{grid-template-columns:8px minmax(0,1fr)}.notification-row time{grid-column:2}.pwa-update{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));transform:none;white-space:normal}.topline-actions{margin-left:auto}}
@media(display-mode:standalone){.install-banner{display:none!important}}
html.pull-refresh-enabled,html.pull-refresh-enabled body{overscroll-behavior-y:contain}
.pull-refresh{position:fixed;z-index:33;top:calc(env(safe-area-inset-top) + 58px);left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;max-width:calc(100vw - 24px);padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--green);box-shadow:0 4px 16px #18233018;font-size:12px;line-height:18px;white-space:nowrap;pointer-events:none}
.pull-refresh[hidden]{display:none!important}.pull-refresh-icon{display:inline-block;font-size:21px;line-height:22px}.pull-refresh.is-loading .pull-refresh-icon{animation:pull-refresh-spin .8s linear infinite}
@keyframes pull-refresh-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.pull-refresh.is-loading .pull-refresh-icon{animation:none}}
@media(min-width:761px){.pull-refresh{display:none!important}}
