*,::after,::before{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}:root{--bg:#0f0f0f;--surface:#1a1a1a;--surface2:#242424;--surface3:#2c2c2c;--border:var(--overlay-white-soft);--border-strong:rgba(255,255,255,0.10);--text:#f0f0f0;--text-muted:#9b9b9b;--text-secondary:#b3b3b3;--text-1:var(--text);--text-2:var(--text-secondary);--text-3:var(--text-muted);--surface-1:var(--bg);--surface-2:var(--surface);--surface-3:var(--surface2);--surface-4:var(--surface3);--overlay-1:var(--overlay-white-soft);--overlay-2:var(--overlay-white-medium);--overlay-3:var(--overlay-white-prominent);--accent:#ff6b35;--accent-strong:#c2410c;--accent-text:#ff8658;--accent-veil:rgba(255,107,53,0.04);--accent-soft:rgba(255,107,53,0.12);--accent-tint:rgba(255,107,53,0.14);--accent-border:rgba(255,107,53,0.3);--radius-2xs:4px;--radius-xs:8px;--radius-sm:12px;--radius:16px;--radius-lg:22px;--radius-xl:28px;--radius-pill:999px;--radius-round:50%;--shadow-sm:0 1px 3px var(--overlay-black-soft);--shadow:0 8px 30px var(--overlay-black-medium);--shadow-lg:0 25px 60px var(--overlay-black-strong);--shadow-focus-ring:0 0 0 3px var(--accent-soft);--overlay-white-faint:rgba(255,255,255,0.02);--overlay-white-subtle:rgba(255,255,255,0.04);--overlay-white-soft:rgba(255,255,255,0.06);--overlay-white-medium:rgba(255,255,255,0.12);--overlay-white-strong:rgba(255,255,255,0.14);--overlay-white-prominent:rgba(255,255,255,0.24);--overlay-black-subtle:rgba(0,0,0,0.14);--overlay-black-soft:rgba(0,0,0,0.3);--overlay-black-medium:rgba(0,0,0,0.45);--overlay-black-strong:rgba(0,0,0,0.6);--header-height:52px;--header-safe-top:env(safe-area-inset-top, 0px);--header-total-height:calc(var(--header-height) + var(--header-safe-top));--banner-h:0px;--header-bg:#121212;--header-bg-scrolled:#121212;--modal-mobile-top-gap:max(1rem, calc(env(safe-area-inset-top, 0px) + 0.5rem));--modal-mobile-bottom-pad:env(safe-area-inset-bottom, 0px);--kb-inset:0px;--text-3xs:0.6875rem;--text-2xs:0.6875rem;--text-xs:0.72rem;--text-sm:0.82rem;--text-md:0.88rem;--text-base:1rem;--text-lg:1.15rem;--text-xl:1.35rem;--text-2xl:1.6rem;--color-danger:#e74c3c;--color-danger-soft:rgba(231,76,60,0.12);--color-danger-text:#ff6b5e;--color-success:#2ecc71;--color-warning:#f39c12;--space-2xs:0.25rem;--space-xs:0.35rem;--space-sm:0.5rem;--space-md:0.75rem;--space-lg:1rem;--space-xl:1.5rem;--space-2xl:2rem;--motion-micro:90ms;--motion-fast:150ms;--motion-base:280ms;--motion-slow:400ms;--motion-tab:240ms;--motion-sheet:380ms;--ease-spring:cubic-bezier(0.34, 1.56, 0.64, 1);--ease-out:cubic-bezier(0.25, 0.46, 0.45, 0.94);--ease-smooth:cubic-bezier(0.16, 1, 0.3, 1);--ease-exit:cubic-bezier(0.55, 0, 1, 0.45);--ease-gentle:cubic-bezier(0.34, 1.04, 0.64, 1);--act-gym:#ff6b35;--act-swim:#00bcd4;--act-laufen:#2ecc71;--act-laufen-in:#16a085;--act-fahr:#3498db;--act-spaz:#f1c40f;--act-ges:#e91e63;--act-krank:#e74c3c;--act-krank-text:#ff6b5e;--act-ges-text:#ff5c93;--act-custom:#c77dff}@keyframes shimmer{0%{background-position:-200% center}100%{background-position:200% center}}.skeleton{background:linear-gradient(90deg,var(--surface2) 25%,var(--overlay-white-soft) 50%,var(--surface2) 75%);background-size:200% 100%;animation:shimmer 1.6s ease-in-out infinite;border-radius:var(--radius-sm,6px);color:transparent!important;pointer-events:none;user-select:none}.skeleton-line{display:block;height:.75rem;border-radius:var(--radius-2xs)}.skeleton-pill{display:inline-block;height:1.6rem;border-radius:var(--radius-pill)}.user-cell.skeleton-cell{gap:.6rem;min-height:72px}.skeleton-summary-pill{height:2.5rem;width:clamp(60px,12vw,90px);border-radius:var(--radius-pill)}.skeleton-username{display:inline-block;height:.85rem;width:64px;vertical-align:middle;border-radius:var(--radius-2xs)}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden;scrollbar-gutter:stable;overscroll-behavior:auto;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:2px}.modal-card::-webkit-scrollbar{display:none}html.modal-open{overflow:hidden;overscroll-behavior:none}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,'SF Pro Text','SF Pro Display','Segoe UI',system-ui,sans-serif;min-height:100vh;min-height:100dvh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.5;overscroll-behavior-y:auto}.hidden{display:none!important}.view{min-height:100vh;min-height:100dvh}.ui-icon{display:inline-flex;width:1em;height:1em;align-items:center;justify-content:center;flex:0 0 auto;line-height:1}.ui-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem}.icon-btn .ui-icon{font-size:var(--text-base)}.icon-only .ui-icon{font-size:var(--text-base)}.ui-state{display:flex;align-items:flex-start;gap:var(--space-md);border:1px dashed var(--border-strong);border-radius:var(--radius);padding:.95rem;color:var(--text-2);background:var(--overlay-white-faint)}.ui-state__icon{margin-top:.1rem;color:var(--accent);font-size:var(--text-base)}.ui-state--loading .ui-state__icon{animation:spin .9s linear infinite;transform-origin:center}.ui-state__title{color:var(--text);font-size:var(--text-sm);font-weight:700}.ui-state__copy{margin-top:.16rem;font-size:var(--text-sm)}:where(button,input,textarea,select,a,[tabindex]):focus{outline:0}:where(button,input,textarea,select,a,[tabindex]):focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 72%,#fff 8%);outline-offset:3px}.modal-card :where(button,input,textarea,select,a,[tabindex]):focus-visible{outline-offset:2px}body.modal-open{overflow:hidden;position:fixed;left:0;right:0;width:100%;top:var(--scroll-lock-top,0)}.view{transition:transform var(--motion-base) var(--ease-smooth),opacity var(--motion-base) ease}body.modal-open #app-view:not(.hidden),body.modal-open #feed-view:not(.hidden),body.modal-open #login-view:not(.hidden){transform:none;opacity:1}@supports (view-transition-name:root){#app-view>header,#feed-view>header{view-transition-name:stable-header}::view-transition-old(root){animation:viewFadeOld 220ms var(--ease-smooth) both}::view-transition-new(root){animation:viewFadeNew .3s var(--ease-smooth) backwards}::view-transition-old(stable-header){animation:none;opacity:0}::view-transition-new(stable-header){animation:none}}.content-swap-out{opacity:.55;transform:translateY(4px) scale(.99);transition:opacity var(--motion-fast) ease,transform var(--motion-fast) ease}.content-swap-in{animation:contentSwapIn var(--motion-base) var(--ease-smooth) backwards}.is-updating{position:relative;pointer-events:none;display:grid;place-items:center}.is-updating::after{content:'';position:absolute;top:50%;left:50%;width:18px;height:18px;margin-left:-9px;margin-top:-9px;border-radius:var(--radius-round);border:2px solid var(--overlay-white-strong);border-top-color:var(--accent);animation:spin .7s linear infinite}#login-view{display:flex;align-items:center;justify-content:center;padding:1.5rem;padding-top:calc(1.5rem + env(safe-area-inset-top,0px));padding-bottom:calc(1.5rem + env(safe-area-inset-bottom,0px));min-height:100dvh}.login-card{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-xl);padding:3rem 2rem 2.25rem;width:100%;max-width:360px;box-shadow:var(--shadow-lg)}.login-icon{width:3rem;height:3rem;margin:0 auto .5rem;display:flex;color:var(--accent)}.login-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.login-card h1{font-size:var(--text-2xl);font-weight:700;margin-bottom:2.25rem;color:var(--text);text-align:center;letter-spacing:0}.form-group{margin-bottom:1.125rem}.form-group label{display:block;font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin-bottom:var(--space-sm)}.form-group input,.form-group select{width:100%;background:var(--surface2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);padding:0 1rem;font-size:var(--text-base);font-family:inherit;outline:0;transition:border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease;-webkit-appearance:none;appearance:none;height:52px}.form-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath fill='none' stroke='%23555' stroke-width='1.5' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.75rem;cursor:pointer}.form-group input:focus,.form-group select:focus{border-color:var(--accent);box-shadow:var(--shadow-focus-ring)}.form-group select option{background:var(--surface2)}.error-msg{color:#ff4d4d;font-size:var(--text-sm);min-height:1.2rem;margin-bottom:var(--space-sm);text-align:center}.login-status{min-height:1.2rem;margin-bottom:var(--space-sm);color:var(--text-2);font-size:var(--text-sm);text-align:center}.btn-primary{width:100%;background:var(--accent-strong);color:#fff;border:none;border-radius:var(--radius-sm);padding:0;font-size:var(--text-base);font-weight:600;font-family:inherit;cursor:pointer;touch-action:manipulation;transition:opacity var(--motion-fast) ease,transform var(--motion-fast) var(--ease-smooth);margin-top:var(--space-sm);height:52px;letter-spacing:0}.btn-primary:hover{opacity:.92;transform:translateY(-1px)}.btn-primary:active{opacity:.85;transform:scale(.93)}.btn-ghost.is-busy,.btn-logout.is-busy,.btn-primary.is-busy,.btn-secondary.is-busy{position:relative;cursor:wait;padding-right:2.35rem}.btn-ghost.is-busy::after,.btn-logout.is-busy::after,.btn-primary.is-busy::after,.btn-secondary.is-busy::after{content:'';position:absolute;top:50%;right:.85rem;width:15px;height:15px;margin-top:-7.5px;border-radius:var(--radius-round);border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:spin .7s linear infinite}.btn-danger{background:#c0392b}.btn-secondary{background:0 0;border:1px solid var(--border-strong);color:var(--text);border-radius:var(--radius-sm);min-height:52px;padding:0 1rem;font:inherit;cursor:pointer;touch-action:manipulation;transition:background var(--motion-fast) ease,border-color var(--motion-fast) ease,transform var(--motion-fast) var(--ease-smooth)}.btn-secondary:hover{background:var(--surface2);border-color:var(--border-strong);transform:translateY(-1px)}.btn-secondary:active{background:var(--surface3);transform:scale(.93)}.confirm-modal-msg{color:var(--text-2);font-size:var(--text-md);margin-bottom:var(--space-2xs)}header{background-color:var(--header-bg);background:rgba(15,15,15,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:.5px solid var(--border);position:fixed;top:var(--banner-h);left:0;right:0;z-index:50}#app-view{padding-top:calc(var(--header-total-height) + var(--banner-h))}.header-inner{max-width:1100px;margin:0 auto;height:var(--header-total-height);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:var(--header-safe-top) 1.25rem 0;position:relative;z-index:1}.header-inner::before{display:none}.header-mobile-left{display:flex;align-items:center;justify-self:start;grid-column:1;overflow:visible}.header-left-group{display:none;align-items:center;gap:var(--space-2xs);justify-self:start;grid-column:1}@media (min-width:721px){.header-inner{grid-template-columns:1fr auto 1fr}.header-mobile-left{display:none}.header-left-group{display:flex}.header-right-group{display:flex;align-items:center;gap:var(--space-2xs);justify-self:end}.header-right-group #header-user{font-size:var(--text-xs);color:var(--text-3);font-weight:500;padding:0 .25rem}.header-nav{display:none!important}.header-left-group .btn-ghost,.header-left-group .btn-logout,.header-right-group .btn-ghost,.header-right-group .btn-logout{background:0 0;border-color:transparent;font-weight:500}.header-left-group .btn-ghost:hover,.header-left-group .btn-logout:hover,.header-right-group .btn-ghost:hover,.header-right-group .btn-logout:hover{background:var(--surface2);border-color:transparent}}.header-title{display:inline-flex;align-items:center;gap:.45rem;font-size:var(--text-base);font-weight:700;letter-spacing:0;white-space:nowrap;justify-self:center;grid-column:2}.header-right{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-sm);position:relative;justify-self:end;grid-column:3}#header-user{font-size:var(--text-xs);color:var(--text-3);font-weight:500}.header-nav{display:flex;align-items:center;gap:var(--space-2xs)}.notification-toggle{position:relative;display:inline-flex;align-items:center;gap:.45rem}.notification-toggle-label{line-height:1}.notification-icon{font-size:var(--text-base);line-height:1}.notification-icon-wrap{position:relative;display:inline-flex;overflow:visible}.notification-icon-btn{background:var(--surface2);border:1px solid var(--border-strong);color:var(--text-2);border-radius:var(--radius-sm);width:44px;height:44px;padding:0;cursor:pointer;touch-action:manipulation;align-items:center;justify-content:center;transition:background var(--motion-fast) ease,color var(--motion-fast) ease,transform var(--motion-fast) var(--ease-smooth),box-shadow var(--motion-fast) ease}.notification-icon-btn:hover{transform:translateY(-1px)}.notification-icon-btn:active{background:var(--surface3);transform:scale(.95)}.notification-badge{position:absolute;top:2px;right:2px;z-index:5;min-width:1.15rem;padding:2px 6px;border-radius:var(--radius-pill);background:var(--accent-strong);color:#fff;border:1px solid rgba(15,15,15,.92);box-shadow:0 4px 12px rgba(255,107,53,.35);font-size:var(--text-2xs);font-weight:700;line-height:1.2;text-align:center;pointer-events:none;white-space:nowrap;transform:translate(30%,-30%)}.modal-card.notification-card{max-width:560px;height:min(88dvh,720px);overflow:hidden}.notification-panel-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.notification-modal-header{align-items:center;gap:var(--space-md);min-width:0}.notification-modal-header h2{margin-bottom:.1rem;flex:1;min-width:0}.notification-header-right{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-sm);margin-left:auto;flex:0 0 auto;min-width:0}.notification-head-meta{display:inline-flex;align-items:center;gap:.45rem;flex-wrap:nowrap;justify-content:flex-end;min-width:0}@media (max-width:600px){.notification-header-right{align-items:center;gap:.4rem}}#notification-modal .modal-sticky-header{flex:0 0 auto;padding-bottom:.75rem}#notification-modal #notification-tabs-el{margin-top:var(--space-md);margin-bottom:var(--space-md)}#notification-modal .modal-sticky-header.is-scrolled{background:color-mix(in srgb,#fff 4%,var(--surface));border-bottom-color:transparent;box-shadow:inset 0 -1px 0 var(--border-strong)}.notification-mini-state{display:inline-flex;align-items:center;min-height:28px;padding:0 .65rem;border-radius:var(--radius-pill);background:var(--overlay-white-soft);border:1px solid var(--overlay-white-medium);color:var(--text);font-size:var(--text-xs);font-weight:700;letter-spacing:.01em;white-space:nowrap}.notification-mini-btn{min-height:44px;padding:0 .7rem;border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:0 0;color:var(--text-2);font:inherit;font-size:var(--text-sm);font-weight:700;cursor:pointer;touch-action:manipulation;transition:background var(--motion-fast) ease,color var(--motion-fast) ease,border-color var(--motion-fast) ease,transform var(--motion-fast) var(--ease-smooth);white-space:nowrap}.notification-mini-btn:hover{background:var(--surface2);color:var(--text);transform:translateY(-1px)}.notification-mini-btn:active{background:var(--surface3);transform:scale(.96)}.notification-mini-btn:disabled{opacity:.6;cursor:default;transform:none}.notification-panel-body{padding:.75rem 0 .25rem;display:grid;grid-auto-rows:max-content;align-content:start;gap:var(--space-lg)}.notification-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-xs);padding:.25rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--overlay-white-faint)}.notification-tab{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid transparent;border-radius:var(--radius-xs);background:0 0;color:var(--text-2);font:inherit;font-size:var(--text-sm);font-weight:700;cursor:pointer;touch-action:manipulation;transition:background var(--motion-tab) var(--ease-smooth),color var(--motion-tab) ease,border-color var(--motion-tab) ease,transform var(--motion-tab) var(--ease-smooth),box-shadow var(--motion-tab) ease}.notification-tab:hover{background:var(--overlay-white-subtle);color:var(--text);transform:translateY(-1px)}.notification-tab.active{background:var(--accent-tint);border-color:rgba(255,107,53,.28);color:var(--text);box-shadow:inset 0 1px 0 var(--overlay-white-subtle),0 8px 18px rgba(0,0,0,.16);transform:none}.notification-tab:disabled{opacity:.45;cursor:default}.notification-section{display:grid;gap:.65rem;min-width:0;min-height:0;transform-origin:top center}.notification-section-compose,.notification-section-device{align-content:start}.notification-section-list{min-height:300px;grid-template-rows:auto minmax(0,1fr) auto}.notification-section-list .ui-state{min-height:180px;align-items:center}.notification-section-enter{animation:notificationSectionIn .3s var(--ease-smooth) backwards}.notification-section-exit{pointer-events:none;animation:notificationSectionOut .2s var(--ease-exit) both}.notification-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.notification-status{background:linear-gradient(180deg,var(--overlay-white-subtle),var(--overlay-white-faint));border:1px solid var(--border);border-radius:var(--radius);padding:.85rem .95rem}.notification-status[data-tone=success]{border-color:rgba(46,204,113,.28);background:linear-gradient(180deg,rgba(46,204,113,.12),rgba(46,204,113,.04))}.notification-status[data-tone=info]{border-color:rgba(52,152,219,.3);background:linear-gradient(180deg,rgba(52,152,219,.14),rgba(52,152,219,.05))}.notification-status[data-tone=warn]{border-color:rgba(241,196,15,.28);background:linear-gradient(180deg,rgba(241,196,15,.14),rgba(241,196,15,.05))}.notification-status-title{font-size:var(--text-sm);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);margin-bottom:var(--space-2xs)}.notification-status-copy{color:var(--text);font-size:var(--text-sm)}.notification-ios-steps{margin-top:.7rem;display:grid;gap:var(--space-xs);color:var(--text-2);font-size:var(--text-sm)}.notification-compose,.notification-device-card{border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface2);padding:.9rem;display:flex;flex-direction:column;gap:.8rem}.notification-device-head{display:flex;justify-content:space-between;gap:var(--space-md);align-items:flex-start}.notification-device-current{color:var(--text);font-size:var(--text-sm);font-weight:600}.notification-mode-switch{display:inline-flex;align-items:center;gap:.3rem;flex-wrap:wrap;justify-content:flex-end}.notification-mini-btn.active{background:var(--accent-tint);border-color:rgba(255,107,53,.28);color:var(--text)}.notification-prefs{display:flex;flex-direction:column;gap:var(--space-sm);padding-top:.6rem;border-top:1px solid var(--border)}.notification-prefs-title{font-size:var(--text-xs);font-weight:700;color:var(--text-2);text-transform:uppercase;letter-spacing:.04em}.notification-pref-group{display:flex;flex-direction:column;gap:.4rem;padding:.5rem .65rem;background:var(--surface2);border-radius:var(--radius-sm);border:1px solid var(--border)}.notification-pref-group--system{background:rgba(100,160,255,.06);border-color:rgba(100,160,255,.2)}.notification-pref-group--user{background:rgba(255,107,53,.06);border-color:rgba(255,107,53,.2)}.notification-pref-group-label{font-size:var(--text-xs);font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.15rem}.notification-pref-group--system .notification-pref-group-label{color:rgba(100,160,255,.8)}.notification-pref-group--user .notification-pref-group-label{color:rgba(255,107,53,.75)}.notification-section-head--actions{padding-bottom:.5rem;margin-bottom:.1rem;border-bottom:1px solid var(--border)}.notification-mark-all-btn{font:inherit;font-size:var(--text-xs);font-weight:500;color:var(--accent);background:0 0;border:none;cursor:pointer;padding:.2rem .4rem;border-radius:var(--radius-xs);white-space:nowrap;flex-shrink:0}.notification-mark-all-btn:hover{background:rgba(255,107,53,.1)}.notification-pref-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.notification-pref-label{display:flex;flex-direction:column;gap:.1rem;flex:1;min-width:0}.notification-pref-name{font-size:var(--text-sm);color:var(--text)}.notification-pref-desc{font-size:var(--text-xs);color:var(--text-2)}.notification-pref-btn{flex-shrink:0;padding:.25rem .65rem;border-radius:var(--radius-pill);border:1px solid var(--border);background:0 0;color:var(--text-2);font-size:var(--text-xs);cursor:pointer;transition:background var(--motion-fast),border-color var(--motion-fast),color var(--motion-fast)}.notification-pref-btn.active{background:var(--accent-tint);border-color:rgba(255,107,53,.35);color:var(--text)}.notification-reminder-lead-select{flex-shrink:0;padding:.25rem 1.75rem .25rem .65rem;border-radius:var(--radius-pill);border:1px solid var(--border);background:0 0;color:var(--text-2);font-size:var(--text-xs);font-family:inherit;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='none' stroke='%23888' stroke-width='1.5' d='M1 1l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .65rem center}.notification-reminder-lead-select:focus{outline:0;border-color:var(--accent);box-shadow:var(--shadow-focus-ring)}.notification-reminder-lead-select option{background:var(--surface2)}.notification-install-prompt{margin-top:var(--space-sm)}.notification-install-btn{background:var(--accent-tint);border:1px solid rgba(255,107,53,.35);border-radius:var(--radius-sm);color:var(--text);font:inherit;font-size:var(--text-sm);padding:.4rem .9rem;cursor:pointer;touch-action:manipulation;transition:background var(--motion-fast) ease,border-color var(--motion-fast) ease}.notification-install-btn:hover{background:rgba(255,107,53,.22);border-color:rgba(255,107,53,.5)}.notification-field{display:flex;flex-direction:column;gap:.45rem}.notification-field-label{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);color:var(--text);font-size:var(--text-sm);font-weight:700}.notification-field-meta{color:var(--text-2);font-size:var(--text-xs);font-weight:600}.notification-chip-row{display:flex;flex-wrap:wrap;gap:.45rem}.notification-chip{min-height:34px;padding:0 .8rem;border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:0 0;color:var(--text-2);font:inherit;font-size:var(--text-sm);font-weight:600;cursor:pointer;touch-action:manipulation;transition:background var(--motion-fast) ease,color var(--motion-fast) ease,border-color var(--motion-fast) ease,transform var(--motion-fast) var(--ease-smooth)}.notification-chip:hover{background:var(--surface2);color:var(--text);transform:translateY(-1px)}.notification-chip.active{background:var(--accent-tint);border-color:var(--accent-border);color:var(--text)}.notification-note-input{width:100%;min-height:84px;resize:vertical;padding:.8rem .9rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface2);color:var(--text);font:inherit}.notification-note-input:focus{outline:0;border-color:rgba(255,107,53,.4)}.notification-note-input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.notification-preview-card{border:1px dashed var(--overlay-white-strong);border-radius:var(--radius-sm);padding:.75rem .8rem;background:rgba(15,15,15,.18)}.notification-preview-label{color:var(--text-2);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.35rem}.notification-preview-text{color:var(--text);font-size:var(--text-sm)}.notification-actions{display:flex;gap:.65rem;flex-wrap:wrap}.notification-actions .btn-primary,.notification-actions .btn-secondary{margin-top:0;width:auto;min-width:0;flex:1 1 180px}.notification-list-wrap{min-height:0}.notification-list-title{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-2)}.notification-list{display:flex;flex-direction:column;gap:.9rem;min-height:0;overflow:visible;padding-right:.1rem}.notification-list-footer{display:flex;flex-direction:column;gap:var(--space-sm)}.notification-more-btn{min-height:38px;width:100%;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--overlay-white-faint);color:var(--text-2);font:inherit;font-size:var(--text-sm);font-weight:700;cursor:pointer;touch-action:manipulation;transition:background var(--motion-fast) ease,color var(--motion-fast) ease,border-color var(--motion-fast) ease,transform var(--motion-fast) var(--ease-smooth)}@media (hover:hover){.notification-more-btn:hover{background:var(--surface2);color:var(--text);transform:translateY(-1px)}}.notification-more-btn:active{background:var(--surface3);transform:scale(.97)}.notification-group{display:flex;flex-direction:column;gap:.45rem}.notification-group-title{color:var(--text-2);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em}.notification-group-list{display:flex;flex-direction:column;gap:.55rem}.notification-item{width:100%;background:linear-gradient(180deg,var(--overlay-white-faint),var(--overlay-white-faint));border:1px solid var(--border);border-radius:var(--radius);color:inherit;text-align:left;overflow:hidden}.notification-item.is-unread{border-color:rgba(255,107,53,.32);background:linear-gradient(180deg,var(--accent-soft),var(--overlay-white-faint))}.notification-item-content{display:block;width:100%;padding:.85rem .95rem;color:inherit;text-align:left;cursor:pointer;touch-action:manipulation;transition:background var(--motion-fast) ease,transform var(--motion-fast) var(--ease-smooth);background:0 0;border:none}@media (hover:hover){.notification-item-content:hover{background:var(--overlay-white-subtle);transform:none}}.notification-item-content:active{transform:scale(.98)}.notification-item-footer{display:flex;align-items:center;gap:var(--space-sm);padding:.4rem .95rem .55rem;border-top:1px solid var(--border)}.notification-delete-label{font-size:var(--text-xs);color:var(--text-2);margin-right:auto}.notification-delete-btn{font-size:var(--text-xs);color:var(--text-2);background:0 0;border:none;cursor:pointer;padding:.2rem .5rem;border-radius:var(--radius-sm);touch-action:manipulation;transition:color var(--motion-fast) ease,background var(--motion-fast) ease}@media (hover:hover){.notification-delete-btn:hover{color:#ff6b6b;background:rgba(255,107,107,.08)}}.notification-delete-confirm-btn{font-size:var(--text-xs);font-weight:700;color:#ff6b6b;background:rgba(255,107,107,.1);border:1px solid rgba(255,107,107,.25);border-radius:var(--radius-sm);padding:.22rem .6rem;cursor:pointer;touch-action:manipulation}.notification-delete-cancel-btn{font-size:var(--text-xs);color:var(--text-2);background:0 0;border:none;cursor:pointer;padding:.2rem .5rem;border-radius:var(--radius-sm);touch-action:manipulation}.notification-item-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);margin-bottom:.35rem}.notification-item-sender-wrap{display:flex;gap:.65rem;min-width:0}.notification-item-avatar{width:34px;height:34px;border-radius:var(--radius-round);display:inline-flex;align-items:center;justify-content:center;flex:0 0 34px;background:rgba(255,107,53,.16);border:1px solid rgba(255,107,53,.25);color:#ffd3bf;font-weight:800;font-size:var(--text-sm)}.notification-item-avatar--achievement,.notification-item-avatar--workout{background:rgba(46,204,113,.14);border-color:rgba(46,204,113,.28);color:#a3f0c5}.notification-item-avatar--reaction{background:rgba(231,76,60,.14);border-color:rgba(231,76,60,.28);color:#faa}.notification-item-avatar--summary{background:rgba(52,152,219,.14);border-color:rgba(52,152,219,.28);color:#9dd3f5}.notification-item-avatar--reminder{background:rgba(241,196,15,.14);border-color:rgba(241,196,15,.28);color:#f8e49a}.notification-item-sender{font-size:var(--text-sm);font-weight:700;color:var(--text)}.notification-item-sender-wrapline{display:inline-flex;align-items:center;gap:.4rem}.notification-item-dot{width:7px;height:7px;border-radius:var(--radius-round);background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent);flex-shrink:0}.notification-item-chips{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:.24rem}.notification-item-chip{display:inline-flex;align-items:center;min-height:22px;padding:0 .45rem;border-radius:var(--radius-pill);background:rgba(15,15,15,.24);border:1px solid var(--overlay-white-soft);color:var(--text-2);font-size:var(--text-2xs);font-weight:700}.notification-item-chip--incoming{background:rgba(46,204,113,.12);border-color:rgba(46,204,113,.24);color:#9be7b4}.notification-item-chip--outgoing{background:rgba(255,107,53,.12);border-color:rgba(255,107,53,.26);color:#ffd3bf}.notification-item-chip--other{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);color:var(--text)}.notification-item-time{font-size:var(--text-xs);color:var(--text-2);white-space:nowrap;flex-shrink:0}.notification-item-body{color:var(--text-2);font-size:var(--text-sm);line-height:1.45;padding-left:2.95rem}.notification-item-preview{margin-top:.45rem;color:var(--text);font-size:var(--text-sm);padding-left:2.95rem}.notification-empty,.notification-loading{display:contents}.btn-menu{display:none;background:var(--surface2);border:1px solid var(--border-strong);color:var(--text-2);border-radius:var(--radius-sm);width:44px;height:44px;font-size:var(--text-base);cursor:pointer;touch-action:manipulation;align-items:center;justify-content:center;transition:background var(--motion-fast) ease,color var(--motion-fast) ease,transform var(--motion-fast) var(--ease-smooth),box-shadow var(--motion-fast) ease}.btn-menu:hover{transform:translateY(-1px)}.btn-menu:active{background:var(--surface3);transform:scale(.95)}@media (max-width:720px){#header-user,.header-left-group,.header-right-group{display:none}.header-nav{display:none;flex-direction:column;align-items:stretch;position:absolute;top:calc(100% + 8px);right:0;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);padding:6px;gap:2px;z-index:100;min-width:min(180px,calc(100vw - 2rem));box-shadow:var(--shadow)}.header-nav.open{display:flex;animation:slideDown var(--motion-tab) var(--ease-smooth) backwards}.header-nav .btn-ghost,.header-nav .btn-logout{text-align:left;justify-content:flex-start;border-radius:var(--radius-xs);padding:.625rem .875rem;font-size:var(--text-md);background:0 0;border-color:transparent;font-weight:500}.header-nav .btn-ghost:hover,.header-nav .btn-logout:hover{background:var(--surface3);box-shadow:none;transform:none}.header-nav .btn-ghost:active,.header-nav .btn-logout:active{background:var(--surface3);transform:scale(.93)}.notification-actions{flex-direction:column}.notification-actions .btn-primary,.notification-actions .btn-secondary{width:100%;flex-basis:auto}.notification-device-head{flex-direction:column}.notification-mode-switch{justify-content:flex-start}.notification-item-time{white-space:normal}}