:root{--font-sans:"Plus Jakarta Sans",system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial,"Noto Sans","Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--text-hero:clamp(2.5rem,8vw,4rem);--text-display:clamp(2rem,6vw,3rem);--text-xxl:28px;--text-xl:22px;--text-lg:18px;--text-md:16px;--text-sm:14px;--text-xs:12px;--font-weight-black:900;--font-weight-bold:700;--font-weight-semibold:600;--font-weight-medium:500;--leading-tight:1.15;--leading-normal:1.45;--tracking-tight:-0.02em;--tracking-normal:0;--space-1:2px;--space-2:4px;--space-3:6px;--space-4:8px;--space-5:12px;--space-6:16px;--space-7:20px;--space-8:24px;--space-9:32px;--space-10:40px;--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-2xl:32px;--radius-full:9999px;--color-bg:#f9f9fb;--color-surface:#fff;--color-surface-rgb:255,255,255;--color-muted:#f4f3f6;--color-border:#dedde4;--color-text:#141221;--color-text-muted:#6b677e;--color-primary:#643dff;--color-primary-600:#4b1fff;--color-primary-700:#30f;--color-primary-50:#ebe6ff;--color-primary-rgb:99,91,255;--color-secondary:#00e6bf;--color-secondary-600:#0ca;--color-secondary-50:#00e6bf26;--color-accent:#ffc619;--color-accent-50:#ffc61926;--gradient-primary:linear-gradient(135deg,#643dff,#b3f);--gradient-secondary:linear-gradient(135deg,#00e6bf,#00d4ff);--gradient-hero:linear-gradient(145deg,#704dff,#ee2bad,#fc3);--gradient-warm:linear-gradient(135deg,#ee2bad,#fc3);--gradient-success:linear-gradient(135deg,#20b661,#00e6bf);--color-success:#20b661;--color-success-50:#20b6611f;--color-warning:#ffa200;--color-warning-50:#ffa20026;--color-danger:#ef3939;--color-danger-50:#ef39391f;--color-hover-surface:#f5f4fb;--shadow-1:0 1px 3px #1018280f,0 1px 2px #1018280a;--shadow-2:0 4px 8px #10182814,0 2px 4px #1018280a;--shadow-3:0 8px 24px #1018281f,0 4px 8px #1018280f;--shadow-xl:0 16px 48px #10182829,0 8px 16px #10182814;--shadow-primary:0 8px 24px #3300ff59;--shadow-secondary:0 8px 24px #00e6bf4d;--shadow-accent:0 8px 24px #ffbf004d;--shadow-sm:var(--shadow-1);--shadow-md:var(--shadow-2);--shadow-lg:var(--shadow-3);--ease:cubic-bezier(0.2,0.8,0.2,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--ease-out-expo:cubic-bezier(0.19,1,0.22,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--dur-instant:80ms;--dur-fast:120ms;--dur-base:200ms;--dur-slow:300ms;--dur-sheet:350ms;--dur-page:500ms;--glass-bg:#ffffffb3;--glass-blur:blur(16px);--glass-border:#ffffff4d;--inset-top:env(safe-area-inset-top);--inset-bottom:env(safe-area-inset-bottom)}:root[data-theme=dark]{--color-bg:#121117;--color-surface:#1c1a23;--color-surface-rgb:18,18,32;--color-muted:#2a2833;--color-border:#3c3946;--color-text:#fafafa;--color-text-muted:#a19fad;--color-primary:#8d70ff;--color-primary-600:#7c5cff;--color-primary-700:#643dff;--color-primary-50:#8c82ff26;--color-primary-rgb:140,130,255;--color-secondary:#19ffd9;--color-secondary-600:#00ffd4;--color-secondary-50:#19ffd92e;--color-accent:#fc3;--color-accent-50:#ffcc332e;--gradient-primary:linear-gradient(135deg,#7c5cff,#c44dff);--gradient-secondary:linear-gradient(135deg,#00ffd4,#19d9ff);--gradient-hero:linear-gradient(145deg,#7c5cff,#f042b6,#ffcf3d);--gradient-warm:linear-gradient(135deg,#f042b6,#ffcf3d);--color-success:#2fda79;--color-success-50:#2fda7926;--color-warning:#ffab19;--color-warning-50:#ffab192e;--color-danger:#f04c4c;--color-danger-50:#f04c4c26;--color-hover-surface:#ffffff0f;--shadow-1:0 1px 3px #0006,0 1px 2px #0000004d;--shadow-2:0 4px 8px #00000080,0 2px 4px #00000059;--shadow-3:0 8px 24px #0009,0 4px 8px #0006;--shadow-xl:0 16px 48px #000000b3,0 8px 16px #00000080;--shadow-primary:0 8px 24px #5c33ff66;--shadow-secondary:0 8px 24px #00ffd459;--shadow-accent:0 8px 24px #ffc61959;--shadow-sm:var(--shadow-1);--shadow-md:var(--shadow-2);--shadow-lg:var(--shadow-3);--glass-bg:#121220bf;--glass-blur:blur(16px);--glass-border:#ffffff14}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg:#121117;--color-surface:#1c1a23;--color-surface-rgb:18,18,32;--color-muted:#2a2833;--color-border:#3c3946;--color-text:#fafafa;--color-text-muted:#a19fad;--color-primary:#8d70ff;--color-primary-600:#7c5cff;--color-primary-700:#643dff;--color-primary-50:#8c82ff26;--color-primary-rgb:140,130,255;--color-secondary:#19ffd9;--color-secondary-600:#00ffd4;--color-secondary-50:#19ffd92e;--color-accent:#fc3;--color-accent-50:#ffcc332e;--gradient-primary:linear-gradient(135deg,#7c5cff,#c44dff);--gradient-secondary:linear-gradient(135deg,#00ffd4,#19d9ff);--gradient-hero:linear-gradient(145deg,#7c5cff,#f042b6,#ffcf3d);--gradient-warm:linear-gradient(135deg,#f042b6,#ffcf3d);--color-success:#2fda79;--color-success-50:#2fda7926;--color-warning:#ffab19;--color-warning-50:#ffab192e;--color-danger:#f04c4c;--color-danger-50:#f04c4c26;--color-hover-surface:#ffffff0f;--shadow-1:0 1px 3px #0006,0 1px 2px #0000004d;--shadow-2:0 4px 8px #00000080,0 2px 4px #00000059;--shadow-3:0 8px 24px #0009,0 4px 8px #0006;--shadow-xl:0 16px 48px #000000b3,0 8px 16px #00000080;--shadow-primary:0 8px 24px #5c33ff66;--shadow-secondary:0 8px 24px #00ffd459;--shadow-accent:0 8px 24px #ffc61959;--shadow-sm:var(--shadow-1);--shadow-md:var(--shadow-2);--shadow-lg:var(--shadow-3);--glass-bg:#121220bf;--glass-blur:blur(16px);--glass-border:#ffffff14}}:root{--font-system:var(--font-sans);--font-size-base:var(--text-md);--line-height-base:var(--leading-normal)}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-family:var(--font-system);font-size:var(--text-md);font-size:var(--font-size-base);line-height:var(--leading-normal);line-height:var(--line-height-base);margin:0}canvas,img,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);margin:var(--space-4) 0 var(--space-3)}.text-hero{font-size:var(--text-hero);font-weight:var(--font-weight-black);letter-spacing:-.03em;line-height:1.1}.text-display{font-size:var(--text-display);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}.text-gradient{-webkit-text-fill-color:#0000;background:var(--gradient-hero);-webkit-background-clip:text;background-clip:text}p{color:var(--color-text-muted);margin:var(--space-2) 0}.surface{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.card{padding:var(--space-5)}.btn,button{background:var(--color-primary);border:1px solid #0000;border-radius:var(--radius-md);color:#fff;min-height:40px;min-width:44px;padding:8px 12px;transition:background-color var(--dur-base) var(--ease),transform var(--dur-fast) var(--ease)}.btn:hover,button:hover{background:var(--color-primary-600)}.btn:active,button:active{transform:translateY(1px)}.btn[disabled],button[disabled]{cursor:not-allowed;opacity:.6}.btn-secondary{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text)}.btn-danger{background:var(--color-danger)}.btn-primary{background:var(--color-primary);border-color:#0000;color:#fff}.btn-primary:hover{background:var(--color-primary-600)}.btn-secondary:hover{background:var(--color-primary-50)}.btn-danger:hover{filter:brightness(.95)}input[type=email],input[type=number],input[type=password],input[type=text],select,textarea{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);min-height:40px;padding:8px 10px;width:100%}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}.container{margin:0 auto;max-width:1024px;padding-left:var(--space-4);padding-right:var(--space-4);width:100%}@media (max-width:768px){.container{padding-left:var(--space-3);padding-right:var(--space-3)}}@media (max-width:480px){.container{padding-left:var(--space-2);padding-right:var(--space-2)}}[class$=-container]{margin-left:auto;margin-right:auto;max-width:1024px;padding-left:var(--space-4);padding-right:var(--space-4)}@media (max-width:768px){[class$=-container]{padding-left:var(--space-3);padding-right:var(--space-3)}}@media (max-width:480px){[class$=-container]{padding-left:var(--space-2);padding-right:var(--space-2)}}.nav-surface{background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.bottom-bar{backdrop-filter:saturate(160%) blur(12px);-webkit-backdrop-filter:saturate(160%) blur(12px);background:rgba(var(--color-surface-rgb),.85);border-top:1px solid var(--color-border);box-shadow:0 -2px 12px #00000014}@media (max-width:768px){h1,h2,h3{margin-bottom:var(--space-2);margin-top:var(--space-2)}p{margin:var(--space-2) 0}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;scroll-behavior:auto!important;transition:none!important}}.glass{backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);background:var(--glass-bg)}.glass,.glass-strong{border:1px solid var(--glass-border)}.glass-strong{backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);background:rgba(var(--color-surface-rgb),.9)}.bg-gradient-primary{background:var(--gradient-primary)}.bg-gradient-secondary{background:var(--gradient-secondary)}.bg-gradient-hero{background:var(--gradient-hero)}.bg-gradient-warm{background:var(--gradient-warm)}.shadow-primary{box-shadow:var(--shadow-primary)}.shadow-secondary{box-shadow:var(--shadow-secondary)}.shadow-xl{box-shadow:var(--shadow-xl)}.animate-spring{transition-timing-function:var(--ease-spring)}.animate-expo{transition-timing-function:var(--ease-out-expo)}.press-effect{transition:transform var(--dur-fast) var(--ease-spring),box-shadow var(--dur-base) var(--ease)}.press-effect:active{transform:scale(.98)}.stagger>:first-child{animation-delay:0ms}.stagger>:nth-child(2){animation-delay:50ms}.stagger>:nth-child(3){animation-delay:.1s}.stagger>:nth-child(4){animation-delay:.15s}.stagger>:nth-child(5){animation-delay:.2s}.stagger>:nth-child(6){animation-delay:.25s}.stagger>:nth-child(7){animation-delay:.3s}.stagger>:nth-child(8){animation-delay:.35s}.stagger>:nth-child(9){animation-delay:.4s}.stagger>:nth-child(10){animation-delay:.45s}@keyframes slideInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes popIn{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,var(--color-muted) 0,var(--color-surface) 50%,var(--color-muted) 100%);background-size:200% 100%;border-radius:var(--radius-sm)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes pulseScale{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.animate-pulse{animation:pulse 2s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.animate-float{animation:float 3s ease-in-out infinite}.m-0{margin:0!important}.m-1{margin:var(--space-1)!important}.m-2{margin:var(--space-2)!important}.m-3{margin:var(--space-3)!important}.m-4{margin:var(--space-4)!important}.m-5{margin:var(--space-5)!important}.m-6{margin:var(--space-6)!important}.m-7{margin:var(--space-7)!important}.mt-0{margin-top:0!important}.mt-1{margin-top:var(--space-1)!important}.mt-2{margin-top:var(--space-2)!important}.mt-3{margin-top:var(--space-3)!important}.mt-4{margin-top:var(--space-4)!important}.mt-5{margin-top:var(--space-5)!important}.mt-6{margin-top:var(--space-6)!important}.mt-7{margin-top:var(--space-7)!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:var(--space-1)!important}.mb-2{margin-bottom:var(--space-2)!important}.mb-3{margin-bottom:var(--space-3)!important}.mb-4{margin-bottom:var(--space-4)!important}.mb-5{margin-bottom:var(--space-5)!important}.mb-6{margin-bottom:var(--space-6)!important}.mb-7{margin-bottom:var(--space-7)!important}.ml-2{margin-left:var(--space-2)!important}.mr-2,.mx-2{margin-right:var(--space-2)!important}.mx-2{margin-left:var(--space-2)!important}.my-2{margin-bottom:var(--space-2)!important;margin-top:var(--space-2)!important}.p-0{padding:0!important}.p-1{padding:var(--space-1)!important}.p-2{padding:var(--space-2)!important}.p-3{padding:var(--space-3)!important}.p-4{padding:var(--space-4)!important}.p-5{padding:var(--space-5)!important}.p-6{padding:var(--space-6)!important}.p-7{padding:var(--space-7)!important}.px-2{padding-left:var(--space-2)!important;padding-right:var(--space-2)!important}.px-3{padding-left:var(--space-3)!important;padding-right:var(--space-3)!important}.px-4{padding-left:var(--space-4)!important;padding-right:var(--space-4)!important}.py-2{padding-bottom:var(--space-2)!important;padding-top:var(--space-2)!important}.py-3{padding-bottom:var(--space-3)!important;padding-top:var(--space-3)!important}.py-4{padding-bottom:var(--space-4)!important;padding-top:var(--space-4)!important}.flex{display:flex!important}.inline-flex{display:inline-flex!important}.grid{display:grid!important}.items-center{align-items:center!important}.justify-center{justify-content:center!important}.justify-between{justify-content:space-between!important}.gap-2{gap:var(--space-2)!important}.gap-3{gap:var(--space-3)!important}.gap-4{gap:var(--space-4)!important}.gap-5{gap:var(--space-5)!important}.gap-6{gap:var(--space-6)!important}.text-muted{color:var(--color-text-muted)!important}.text-primary{color:var(--color-primary)!important}.text-danger{color:var(--color-danger)!important}.text-center{text-align:center!important}.text-sm{font-size:var(--text-sm)!important}.text-md{font-size:var(--text-md)!important}.text-lg{font-size:var(--text-lg)!important}.text-semibold{font-weight:600!important}.text-bold{font-weight:700!important}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-1)}.rounded-sm{border-radius:var(--radius-sm)!important}.rounded-md{border-radius:var(--radius-md)!important}.rounded-lg{border-radius:var(--radius-lg)!important}.shadow-1{box-shadow:var(--shadow-1)!important}.shadow-2{box-shadow:var(--shadow-2)!important}.shadow-3{box-shadow:var(--shadow-3)!important}.u-transition{transition:all var(--dur-base) var(--ease)!important}.u-pressable:active{transform:translateY(1px) scale(.99)}.visually-hidden{clip:rect(0,0,0,0)!important;border:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.App{display:flex;flex-direction:column;min-height:100vh;overflow-x:hidden}.main-content{flex:1 1;margin:0 auto;max-width:1024px;padding:var(--space-4);width:100%}@media (max-width:768px){.main-content{max-width:100%;padding:10px 10px calc(80px + env(safe-area-inset-bottom))}}@media (max-width:480px){.main-content{padding:8px 8px calc(80px + env(safe-area-inset-bottom))}}.loading-screen{align-items:center;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-accent) 100%);color:#fff;display:flex;font-size:1.1rem;font-weight:600;justify-content:center;min-height:100vh}.app-input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);padding:10px 12px;width:100%}.app-input::placeholder{color:var(--color-text-muted)}.app-textarea{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);padding:10px 12px;resize:vertical;width:100%}.app-textarea::placeholder{color:var(--color-text-muted)}.tab-btn{background:#0000;border:1px solid var(--color-border);border-radius:999px;color:var(--color-text);cursor:pointer;padding:8px 12px}.tab-btn.active{background:var(--color-primary);border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-50);color:#fff}.chip{background:#0000;border:1px solid var(--color-border);border-radius:20px;color:var(--color-text);padding:8px 12px}.chip.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.notification-overlay{align-items:flex-start;animation:fadeIn .3s ease;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;overflow:hidden;padding:20px;position:fixed;right:0;top:0;z-index:1000}.notification-overlay-open{height:100%;overflow:hidden;position:fixed;width:100%}.notification-center{animation:slideIn .2s ease;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:80vh;max-width:500px;overflow:hidden;position:relative;width:100%}.notification-header{align-items:center;background:var(--color-muted);border-bottom:1px solid var(--color-border);padding:16px}.notification-header h3{color:var(--color-text);font-size:1.2rem;font-weight:600;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:4px;color:var(--color-text-muted);cursor:pointer;display:flex;font-size:1.5rem;justify-content:center;min-height:32px;min-width:32px;padding:4px;position:relative;transition:background-color .15s ease;z-index:15}.close-button:hover{background-color:var(--color-primary-50)}.segmented{background:var(--color-muted);border:1px solid var(--color-border);border-radius:999px;display:inline-flex;gap:4px;margin:12px 16px;padding:4px}.segmented-btn{appearance:none;background:#0000;border:none;border-radius:999px;color:var(--color-text-muted);cursor:pointer;font-size:.85rem;font-weight:600;padding:8px 12px;transition:background-color var(--dur-base) var(--ease),color var(--dur-base) var(--ease)}.segmented-btn.active{background:var(--color-surface);box-shadow:var(--shadow-1);color:var(--color-text)}.notification-actions{background:#f8fafc;border-bottom:1px solid var(--color-border);padding:12px 20px}.notification-settings-tab{-webkit-overflow-scrolling:touch;flex:1 1;max-height:calc(100vh - 200px);overflow-y:auto;padding:16px;position:relative;z-index:5}.mark-all-read-btn{background:var(--color-primary);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:background-color .15s ease}.mark-all-read-btn:hover{background:var(--color-primary-600)}.notification-list{-webkit-overflow-scrolling:touch;flex:1 1;max-height:60vh;overflow-y:auto}.loading-notifications{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;justify-content:center;padding:40px 20px}.spinner{animation:spin 1s linear infinite;border-top:2px solid var(--color-border);border:2px solid var(--color-border);border-radius:50%;border-top-color:var(--color-primary);height:24px;margin-bottom:12px;width:24px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.empty-notifications{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;justify-content:center;padding:40px 20px;text-align:center}.empty-icon{font-size:3rem;margin-bottom:16px;opacity:.5}.empty-notifications p{color:#333;font-weight:500;margin:0 0 8px}.empty-notifications small{color:#999;line-height:1.4}.notification-item{align-items:flex-start;border-bottom:1px solid var(--color-border);cursor:pointer;display:flex;padding:16px 20px;position:relative;transition:background-color .15s ease}.notification-item:hover{background-color:var(--color-muted)}.notification-item.unread,.notification-item.unread:hover{background-color:var(--color-primary-50)}.notification-icon{flex-shrink:0;font-size:1.5rem;margin-right:12px;text-align:center;width:24px}.notification-content{flex:1 1;min-width:0}.notification-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:4px}.notification-title{color:var(--color-text);font-size:.95rem;font-weight:600;line-height:1.3;margin:0}.notification-time{color:#94a3b8;flex-shrink:0;font-size:.8rem;margin-left:8px}.notification-message{color:var(--color-text-muted);font-size:.9rem;line-height:1.4;margin:0 0 8px}.notification-sender{color:#94a3b8;font-size:.8rem;font-style:italic}.notification-actions{align-items:center;gap:8px;margin-left:8px}.unread-indicator{background-color:var(--color-primary);border-radius:50%;flex-shrink:0;height:8px;width:8px}.delete-notification-btn{background:none;border:none;border-radius:4px;color:#94a3b8;cursor:pointer;font-size:1rem;opacity:0;padding:4px;transition:all .15s ease}.notification-item:hover .delete-notification-btn{opacity:1}.delete-notification-btn:hover{background-color:#fee2e2;color:var(--color-danger)}.notification-invitation{border-left:4px solid #28a745}.notification-meal-plan{border-left:4px solid #007bff}.notification-shopping{border-left:4px solid #ffc107}.notification-chore-assigned{border-left:4px solid #17a2b8}.notification-chore-completed{border-left:4px solid #28a745}.notification-recipe{border-left:4px solid #fd7e14}.notification-general{border-left:4px solid #6c757d}@media (max-width:768px){.notification-overlay{align-items:flex-start;bottom:0;left:0;overflow:hidden;padding:calc(env(safe-area-inset-top, 20px) + 10px) 10px 10px;position:fixed;right:0;top:0}.notification-center{margin-top:0;max-height:calc(100vh - env(safe-area-inset-top, 20px) - 20px);max-width:100%;overflow:hidden;position:relative;top:0}.notification-header{background:var(--color-muted);border-bottom:1px solid var(--color-border);padding:16px;position:sticky;top:0;z-index:10}.notification-header h3{font-size:1.1rem}.notification-item{padding:12px 16px}.notification-icon{font-size:1.3rem;margin-right:10px}.notification-title{font-size:.9rem}.notification-message{font-size:.85rem}.notification-time{font-size:.75rem}.delete-notification-btn{opacity:1}}@media (max-width:480px){.notification-overlay{bottom:0;left:0;overflow:hidden;padding:calc(env(safe-area-inset-top, 20px) + 10px) 0 0;position:fixed;right:0;top:0}.notification-center{border-radius:0;margin-top:0;max-height:calc(100vh - env(safe-area-inset-top, 20px) - 20px);overflow:hidden;position:relative;top:0}.notification-header{background:var(--color-muted);border-bottom:1px solid var(--color-border);padding:12px 16px;position:sticky;top:0;z-index:10}.notification-tabs{font-size:.85rem}.notification-item,.tab{padding:10px 12px}.notification-icon{font-size:1.2rem;margin-right:8px}}.ui-btn{align-items:center;background:var(--color-primary);border:1px solid #0000;border-radius:var(--radius-md);color:#fff;display:inline-flex;font-weight:var(--font-weight-semibold);gap:8px;justify-content:center;min-height:40px;overflow:hidden;padding:8px 12px;position:relative;transition:background-color var(--dur-base) var(--ease),transform var(--dur-fast) var(--ease-spring),box-shadow var(--dur-base) var(--ease),opacity var(--dur-fast) var(--ease)}.ui-btn:active:not(:disabled){transform:scale(.98)}.ui-btn:disabled{cursor:not-allowed;opacity:.6}.ui-btn--primary{background:var(--color-primary)}.ui-btn--primary:hover:not(:disabled){background:var(--color-primary-600);box-shadow:var(--shadow-primary)}.ui-btn--secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.ui-btn--secondary:hover:not(:disabled){background:var(--color-primary-50);border-color:var(--color-primary)}.ui-btn--quiet{background:#0000;border-color:#0000;color:var(--color-text)}.ui-btn--quiet:hover:not(:disabled){background:var(--color-primary-50)}.ui-btn--destructive{background:var(--color-danger)}.ui-btn--destructive:hover:not(:disabled){box-shadow:0 4px 16px #ef393959;filter:brightness(1.1)}.ui-btn--success{background:var(--color-success)}.ui-btn--success:hover:not(:disabled){box-shadow:0 4px 16px #20b66159;filter:brightness(1.1)}.ui-btn--warning{background:var(--color-warning);color:#000}.ui-btn--warning:hover:not(:disabled){box-shadow:0 4px 16px #ffa20059;filter:brightness(1.05)}.ui-btn--gradient{background:var(--gradient-primary);border:none;position:relative}.ui-btn--gradient:before{background:var(--gradient-hero);border-radius:inherit;content:"";inset:0;opacity:0;position:absolute;transition:opacity var(--dur-base) var(--ease)}.ui-btn--gradient:hover:not(:disabled):before{opacity:1}.ui-btn--gradient:hover:not(:disabled){box-shadow:var(--shadow-primary)}.ui-btn--gradient .ui-btn__icon,.ui-btn--gradient .ui-btn__label{position:relative;z-index:1}.ui-btn--glass{backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--color-text)}.ui-btn--glass:hover:not(:disabled){background:rgba(var(--color-surface-rgb),.85);box-shadow:var(--shadow-2)}.ui-btn--sm{border-radius:var(--radius-sm);font-size:var(--text-sm);min-height:36px;padding:6px 10px}.ui-btn--md{font-size:var(--text-md);min-height:40px;padding:8px 14px}.ui-btn--lg{border-radius:var(--radius-lg);font-size:var(--text-lg);min-height:48px;padding:12px 20px}.ui-btn__icon{display:inline-flex;flex-shrink:0}.ui-btn__icon--left{margin-right:4px}.ui-btn__icon--right{margin-left:4px}.ui-btn--full-width{width:100%}.ui-btn--loading .ui-btn__label{opacity:.6}.ui-btn__spinner{align-items:center;display:flex;justify-content:center;position:absolute}.ui-btn__spinner svg{animation:btnSpin .8s linear infinite;height:20px;width:20px}@keyframes btnSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.ui-btn--pulse{animation:btnPulse 2s ease-in-out infinite}@keyframes btnPulse{0%,to{box-shadow:0 0 0 0 rgba(var(--color-primary-rgb),.4)}50%{box-shadow:0 0 0 8px rgba(var(--color-primary-rgb),0)}}@media (prefers-reduced-motion:reduce){.ui-btn{transition:none}.ui-btn--pulse,.ui-btn__spinner svg{animation:none}}.ui-segmented{align-items:center;background:var(--color-muted);border:1px solid var(--color-border);border-radius:999px;display:inline-flex;gap:4px;padding:3px}.ui-segmented.sm{padding:2px}.ui-segmented__btn{appearance:none;background:#0000;border:none;border-radius:999px;color:var(--color-text-muted);cursor:pointer;font-size:.85rem;font-weight:600;padding:6px 10px;transition:background-color var(--dur-base) var(--ease),color var(--dur-base) var(--ease),box-shadow var(--dur-base) var(--ease)}.ui-segmented__btn.is-active{background:var(--color-surface);box-shadow:var(--shadow-1);color:var(--color-text)}.ui-segmented__btn:focus-visible{box-shadow:0 0 0 3px #7c8bff40;outline:none}@media (prefers-reduced-motion:reduce){.ui-segmented__btn{transition:none}}.ui-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);transition:transform var(--dur-fast) var(--ease-spring),box-shadow var(--dur-base) var(--ease),border-color var(--dur-fast) var(--ease)}.ui-card,.ui-card--default{background:var(--color-surface)}.ui-card--muted{background:var(--color-muted);border-color:#0000}.ui-card--elevated{background:var(--color-surface);border:none;box-shadow:var(--shadow-3)}.ui-card--gradient{background:var(--gradient-primary);border:none;color:#fff}.ui-card--gradient .ui-card__header{color:#fff}.ui-card--gradient .ui-card__footer{border-top-color:#fff3}.ui-card--glass{backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);background:var(--glass-bg);border:1px solid var(--glass-border)}.ui-card--interactive{cursor:pointer;-webkit-user-select:none;user-select:none}.ui-card--interactive:hover{border-color:var(--color-primary);box-shadow:var(--shadow-3);transform:translateY(-2px)}.ui-card--interactive:active{transform:scale(.99)}.ui-card--interactive:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.ui-card--elevated.ui-card--interactive:hover{box-shadow:var(--shadow-xl)}.ui-card--no-padding .ui-card__body{padding:0}.ui-card--no-padding .ui-card__header{padding-bottom:0}.ui-card__header{color:var(--color-text);font-weight:var(--font-weight-bold);padding:var(--space-5) var(--space-5) var(--space-3)}.ui-card__body{padding:0 var(--space-5) var(--space-5)}.ui-card__footer{border-top:1px solid var(--color-border);padding:var(--space-3) var(--space-5) var(--space-5)}@media (prefers-reduced-motion:reduce){.ui-card{transition:none}.ui-card--interactive:hover{transform:none}}.notification-settings{padding:1rem}.notification-settings h3{color:var(--text-primary);font-size:1.5rem;margin:0 0 1.5rem}.notification-settings h4{color:var(--text-primary);font-size:1.1rem;margin:1rem 0 .5rem}.notification-status{background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:8px;margin:1.5rem 0;padding:1rem}.status-badge{border-radius:20px;display:inline-block;font-size:.875rem;font-weight:600;margin-bottom:.5rem;padding:.25rem .75rem}.status-badge.success{background:var(--success-color);color:#fff}.status-badge.error{background:var(--error-color);color:#fff}.status-badge.warning{background:var(--warning-color);color:var(--text-primary)}.status-badge.default{background:var(--surface-tertiary);color:var(--text-secondary)}.notification-actions{display:flex;flex-direction:column;gap:.75rem;margin:1.5rem 0}.error-message{align-items:center;background:var(--error-color);border-radius:8px;color:#fff;display:flex;justify-content:space-between;margin-bottom:1rem;padding:1rem}.error-message p{flex:1 1;margin:0}.error-message button{flex-shrink:0;margin-left:1rem}.permission-denied{background:var(--warning-color);border-radius:8px;color:var(--text-primary);margin:1rem 0;padding:1rem}.warning-message{font-weight:600;margin:0 0 .75rem}.permission-denied ol{margin:.5rem 0 0;padding-left:1.5rem}.permission-denied li{margin:.25rem 0}.notification-info{background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:8px;margin:1.5rem 0;padding:1rem}.notification-info ul{margin:.75rem 0;padding-left:1.5rem}.notification-info li{line-height:1.4;margin:.5rem 0}.note{background:var(--info-color);border-radius:6px;color:#fff;font-size:.9rem;margin:1rem 0 0;padding:.75rem}.status-message{font-weight:600;margin:0 0 1rem}.status-message.error{color:var(--error-color)}@media (max-width:768px){.notification-settings{padding:.75rem}.error-message{align-items:stretch;flex-direction:column;gap:.75rem}.error-message button{align-self:flex-end;margin-left:0}}.language-dialog-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.language-dialog{animation:dialogSlideIn .3s ease-out;background:var(--color-surface);border-radius:12px;box-shadow:0 8px 32px #0000004d;max-height:90vh;max-width:400px;overflow:hidden;width:90%}@keyframes dialogSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.language-dialog-header{border-bottom:1px solid var(--color-border);padding:24px 24px 16px}.language-dialog-header h2{color:var(--color-text);font-size:20px;font-weight:600;margin:0;text-align:center}.language-dialog-content{padding:24px}.language-options{display:flex;flex-direction:column;gap:16px}.language-option{align-items:center;background:var(--color-surface);border:2px solid var(--color-border);border-radius:8px;cursor:pointer;display:flex;gap:16px;padding:16px;transition:all .2s ease}.language-option:hover{background:var(--color-surface-hover);border-color:var(--color-primary)}.language-option input[type=radio]{accent-color:var(--color-primary);cursor:pointer;height:20px;width:20px}.language-option input[type=radio]:checked+.language-option-text{color:var(--color-primary)}.language-option-text{display:flex;flex:1 1;flex-direction:column;gap:4px}.language-code{color:var(--color-primary);font-size:16px;font-weight:700}.language-name{color:var(--color-text-secondary);font-size:14px}.language-dialog-actions{border-top:1px solid var(--color-border);display:flex;gap:12px;padding:16px 24px 24px}.language-dialog-button{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s ease}.language-dialog-button--cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text)}.language-dialog-button--cancel:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}.language-dialog-button--select{background:var(--color-primary);color:#fff}.language-dialog-button--select:hover{background:var(--color-primary-hover)}.language-dialog-button--select:disabled{cursor:not-allowed;opacity:.6}@media (max-width:480px){.language-dialog{margin:20px;width:95%}.language-dialog-actions,.language-dialog-content,.language-dialog-header{padding:20px}.language-dialog-actions{flex-direction:column}}.navigation{background:var(--color-bg);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:100}.nav-container{grid-column-gap:var(--space-3);align-items:center;box-sizing:border-box;column-gap:var(--space-3);display:grid;grid-template-columns:auto 1fr auto;height:52px;margin:0 auto;max-width:1024px;padding:0 var(--space-3);width:100%}.nav-brand{flex:1 1}.brand-link,.nav-brand{align-items:center;display:flex}.brand-link{color:var(--color-text);font-size:1rem;font-weight:700;gap:var(--space-2);min-width:0}.brand-icon{font-size:1.5rem}.brand-text{display:none}.nav-links{gap:var(--space-3)}.nav-links,.nav-links a{align-items:center;display:flex}.nav-links a{border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:.9rem;padding:6px 8px;transition:color var(--dur-base) var(--ease),background-color var(--dur-base) var(--ease)}.nav-links a:hover{color:var(--color-text)}.nav-links a.active,.nav-links a:hover{background-color:var(--color-primary-50)}.nav-links a.active{color:var(--color-primary);font-weight:600}.nav-right{align-items:center;display:flex;gap:var(--space-3);overflow:visible}.theme-switch{background:none;border:1px solid #0000;border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:1.1rem;padding:4px;transition:background-color var(--dur-base) var(--ease)}.theme-switch:hover{background-color:var(--color-primary-50)}.nav-icon{font-size:1.1rem;margin-right:6px}.nav-label{font-size:.9rem}.nav-notifications{margin-right:0;position:relative}.notification-bell{background:none;border:1px solid #0000;border-radius:var(--radius-sm);font-size:1.2rem;padding:6px;position:relative;transition:background-color .15s ease}.notification-bell:hover{background-color:var(--color-primary-50)}.notification-badge{background:var(--color-danger);border-radius:999px;box-shadow:var(--shadow-sm);color:#fff;font-size:.7rem;font-weight:700;line-height:1;min-width:18px;padding:2px 6px;position:absolute;right:2px;text-align:center;top:2px}.nav-user{position:relative}.user-info{align-items:center;border-radius:var(--radius-sm);cursor:pointer;display:flex;gap:var(--space-2);padding:6px 8px;transition:background-color var(--dur-base) var(--ease)}.user-info:hover{background-color:var(--color-primary-50)}.user-avatar{border-radius:50%;box-shadow:var(--shadow-sm);flex-shrink:0;height:32px;overflow:hidden;width:32px}.user-avatar img{height:100%;object-fit:cover;width:100%}.avatar-placeholder{align-items:center;background-color:var(--color-primary);color:#fff;display:flex;font-size:.9rem;font-weight:700;height:100%;justify-content:center;width:100%}.user-name{color:var(--color-text);font-size:.9rem;font-weight:600;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-arrow{color:var(--color-text-muted);font-size:.7rem;transition:transform .2s ease}.user-info:hover .dropdown-arrow{transform:rotate(180deg)}.user-menu{animation:slideDown .2s ease-out;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);margin-top:8px;min-width:200px;position:absolute;right:0;top:100%;z-index:1000}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.menu-item{background:none;border:none;cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:12px 14px;text-align:left;transition:background-color .15s ease;width:100%}.menu-item:hover{background-color:var(--color-primary-50)}.menu-label{color:var(--color-text-muted);font-size:.7rem;font-weight:600;text-transform:uppercase}.menu-value{color:var(--color-text);font-size:.9rem;font-weight:600}.menu-divider{background-color:var(--color-border);height:1px;margin:4px 0}.language-button{color:var(--color-primary);font-weight:600}.language-button:hover{background-color:var(--color-primary-50)}.logout-button{color:var(--color-danger);font-weight:600}.logout-button:hover{background-color:#fee2e2}.mobile-menu-overlay{animation:fadeIn .3s ease;background-color:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.mobile-menu{animation:slideIn .3s ease;background:#fff;box-shadow:2px 0 8px #0000001a;display:flex;flex-direction:column;height:100vh;left:0;position:fixed;top:0;width:280px}@keyframes slideIn{0%{transform:translateX(-100%)}to{transform:translateX(0)}}.mobile-menu-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:20px}.mobile-user-info{align-items:center;display:flex;gap:12px}.mobile-user-details{display:flex;flex-direction:column;gap:2px}.mobile-user-details .user-name{color:#333;font-size:.9rem;font-weight:600}.mobile-user-details .user-email{color:#666;font-size:.8rem}.close-menu-button{background:none;border:none;border-radius:4px;color:#666;cursor:pointer;font-size:1.5rem;padding:4px;transition:background-color .2s ease}.close-menu-button:hover{background-color:#f8f9fa}.mobile-nav-links{flex:1 1;overflow-y:auto;padding:20px 0}.mobile-nav-item{align-items:center;border-bottom:1px solid #f0f0f0;color:#333;display:flex;font-weight:500;padding:16px 20px;text-decoration:none;transition:background-color .2s ease}.mobile-nav-item:hover{background-color:#f8f9fa}.mobile-nav-item.active{background-color:#e3f2fd;border-left:4px solid #1976d2;color:#1976d2}.mobile-nav-item .nav-icon{font-size:1.2rem;margin-right:12px;text-align:center;width:20px}.mobile-nav-item .nav-label{font-size:1rem}.mobile-menu-footer{border-top:1px solid #e9ecef;padding:20px}.mobile-logout-button{align-items:center;background:none;border:none;border-radius:8px;color:#dc3545;cursor:pointer;display:flex;font-size:1rem;font-weight:500;padding:16px 20px;transition:background-color .2s ease;width:100%}.mobile-logout-button:hover{background-color:#fee}.mobile-bottom-nav{bottom:0;display:none;left:0;padding-bottom:var(--inset-bottom);position:fixed;right:0;z-index:1000}.bottom-nav-container{align-items:center;display:grid;grid-template-columns:repeat(5,1fr);height:68px;margin:0 auto;max-width:520px;padding:0 var(--space-3);position:relative}.bottom-nav-indicator{background:var(--color-primary-50);bottom:8px;left:0;pointer-events:none;position:absolute;transition:transform var(--dur-slow) var(--ease-spring),width var(--dur-slow) var(--ease-spring),opacity var(--dur-fast) var(--ease);z-index:0}.bottom-nav-indicator,.bottom-nav-item{border-radius:var(--radius-xl);height:56px}.bottom-nav-item{align-items:center;background:#0000;border:none;color:var(--color-text-muted);display:inline-flex;flex-direction:column;font-size:1.25rem;gap:2px;justify-content:center;min-width:44px;padding:8px 4px;position:relative;transition:color var(--dur-base) var(--ease),transform var(--dur-fast) var(--ease-spring);z-index:1}.bottom-nav-item:hover{color:var(--color-primary)}.bottom-nav-item:active{transform:scale(.92)}.bottom-nav-item.active{color:var(--color-primary)}.bottom-nav-icon{font-size:1.4rem;line-height:1;transition:transform var(--dur-base) var(--ease-spring)}.bottom-nav-item.active .bottom-nav-icon{transform:scale(1.1)}.bottom-nav-label{font-size:10px;font-weight:var(--font-weight-medium);opacity:0;transform:translateY(-4px);transition:opacity var(--dur-fast) var(--ease),transform var(--dur-base) var(--ease-spring)}.bottom-nav-item.active .bottom-nav-label{opacity:1;transform:translateY(0)}.submenu-container{position:relative;z-index:1}.submenu-button{align-items:center;background:none;border:none;border-radius:var(--radius-xl);color:var(--color-text-muted);cursor:pointer;display:inline-flex;flex-direction:column;font-size:1.25rem;gap:2px;height:56px;justify-content:center;min-width:44px;padding:8px 4px;transition:color var(--dur-base) var(--ease),transform var(--dur-fast) var(--ease-spring)}.submenu-button:hover{color:var(--color-primary)}.submenu-button:active{transform:scale(.92)}.submenu-button.active{color:var(--color-primary)}.submenu-icon{font-size:1.4rem;line-height:1;transition:transform var(--dur-base) var(--ease-spring)}.submenu-button.active .submenu-icon{transform:rotate(90deg)}.submenu-overlay{animation:fadeIn var(--dur-fast) var(--ease-out-expo);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background-color:#0006;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1001}.submenu{animation:submenuSlideUp var(--dur-base) var(--ease-spring);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);bottom:72px;box-shadow:var(--shadow-xl);min-width:180px;overflow:hidden;padding:var(--space-3);position:absolute;right:0}@keyframes submenuSlideUp{0%{opacity:0;transform:translateY(16px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.submenu-item{align-items:center;background:none;border:none;border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;font-size:var(--text-sm);font-weight:var(--font-weight-semibold);padding:var(--space-4) var(--space-4);text-align:left;transition:background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease-spring);width:100%}.submenu-item:hover{background-color:var(--color-primary-50)}.submenu-item:active{transform:scale(.98)}.submenu-item.active{background-color:var(--color-primary-50);color:var(--color-primary)}.submenu-item-icon{font-size:1.2rem;margin-right:var(--space-4);text-align:center;width:24px}.submenu-item-label{flex:1 1}.logout-item{border-top:1px solid #e9ecef;color:#dc3545;margin-top:4px}.logout-item:hover{background-color:#fee}@media (max-width:768px){.desktop-nav{display:none}.brand-text{display:block}.nav-container{height:56px;justify-content:space-between;padding:0 var(--space-3)}.nav-right{gap:var(--space-2)}.notification-bell{font-size:1.1rem;padding:6px}.user-name{display:none}.user-menu{min-width:180px;right:-8px}.mobile-bottom-nav{display:block}}@media (max-width:480px){.nav-container{padding:0 12px}.brand-text{font-size:1rem}.nav-right{gap:8px}.notification-bell{font-size:1.1rem;padding:4px}.dropdown-arrow{display:none}}.app-logo{background:var(--color-surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);height:32px;margin-right:8px;object-fit:contain;width:32px}.mobile-bottom-nav{backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);background:var(--glass-bg);border-top:1px solid var(--glass-border);box-shadow:0 -4px 24px #00000014}@media (prefers-reduced-motion:reduce){.bottom-nav-icon,.bottom-nav-indicator,.bottom-nav-item,.bottom-nav-label,.submenu,.submenu-button,.submenu-icon,.submenu-item{animation:none!important;transition:none!important}.bottom-nav-item.active .bottom-nav-label{opacity:1;transform:none}}.page-header{background:var(--color-bg);padding-top:var(--inset-top);position:sticky;top:0;width:100%;z-index:50}.page-header__row{align-items:center;background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-1);box-sizing:border-box;display:grid;grid-template-columns:minmax(44px,auto) 1fr minmax(44px,auto);height:52px;padding:0 var(--space-3);width:100%}.page-header__left,.page-header__right{align-items:center;display:flex;justify-content:center;min-width:44px}.page-header__center{min-width:0;overflow:hidden;text-align:center}.page-header__title{color:var(--color-text);font-size:var(--text-lg);font-weight:700;line-height:var(--leading-tight);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-header__subtitle{color:var(--color-text-muted);font-size:var(--text-sm);margin-top:2px}.fab-container{align-items:center;display:flex;flex-direction:column;gap:var(--space-4);position:fixed;z-index:100}.fab-container--bottom-right{bottom:calc(var(--space-6) + var(--inset-bottom));right:var(--space-6)}.fab-container--bottom-center{bottom:calc(var(--space-6) + var(--inset-bottom));left:50%;transform:translateX(-50%)}.fab-container--bottom-left{bottom:calc(var(--space-6) + var(--inset-bottom));left:var(--space-6)}.fab-backdrop{animation:fadeIn var(--dur-fast) var(--ease-out-expo);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);background:#0000004d;inset:0;position:fixed;z-index:99}.fab{align-items:center;border:none;border-radius:var(--radius-full);box-shadow:var(--shadow-3);color:#fff;cursor:pointer;display:inline-flex;height:56px;justify-content:center;overflow:hidden;position:relative;transition:transform var(--dur-fast) var(--ease-spring),box-shadow var(--dur-base) var(--ease),background var(--dur-base) var(--ease);width:56px}.fab--gradient{background:var(--gradient-primary)}.fab--gradient:hover{box-shadow:var(--shadow-primary),var(--shadow-xl)}.fab--primary{background:var(--color-primary)}.fab--primary:hover{background:var(--color-primary-600);box-shadow:var(--shadow-primary)}.fab--secondary{background:var(--color-secondary)}.fab--secondary:hover{background:var(--color-secondary-600);box-shadow:var(--shadow-secondary)}.fab--md{height:56px;width:56px}.fab--lg{height:64px;width:64px}.fab:hover{transform:scale(1.05)}.fab:active{transform:scale(.95)}.fab--expanded .fab__icon{transform:rotate(45deg)}.fab__icon{align-items:center;display:flex;font-size:28px;justify-content:center;line-height:1;transition:transform var(--dur-base) var(--ease-spring)}.fab__icon svg{height:24px;width:24px}.fab--lg .fab__icon{font-size:32px}.fab--lg .fab__icon svg{height:28px;width:28px}.fab--pulse{animation:fabPulse 2s ease-in-out infinite}@keyframes fabPulse{0%,to{box-shadow:var(--shadow-3),0 0 0 0 rgba(var(--color-primary-rgb),.4)}50%{box-shadow:var(--shadow-3),0 0 0 12px rgba(var(--color-primary-rgb),0)}}.fab-actions{flex-direction:column;padding-bottom:var(--space-3)}.fab-action,.fab-actions{display:flex;gap:var(--space-3)}.fab-action{--action-index:0;align-items:center;animation:fabActionIn var(--dur-base) var(--ease-spring) forwards;animation-delay:calc(var(--action-index)*50ms);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);box-shadow:var(--shadow-2);color:var(--color-text);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-weight-medium);opacity:0;padding:var(--space-3) var(--space-4);transform:translateY(8px) scale(.9);transition:background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease-spring);white-space:nowrap}.fab-action:hover{background:var(--color-primary-50);transform:scale(1.02)}.fab-action:active{transform:scale(.98)}@keyframes fabActionIn{to{opacity:1;transform:translateY(0) scale(1)}}.fab-action__icon{align-items:center;background:var(--gradient-primary);border-radius:var(--radius-full);color:#fff;display:flex;height:32px;justify-content:center;width:32px}.fab-action__icon svg{height:18px;width:18px}.fab-action__label{padding-right:var(--space-2)}@media (max-width:480px){.fab-container--bottom-right{bottom:calc(var(--space-4) + var(--inset-bottom));right:var(--space-4)}.fab-container--bottom-left{bottom:calc(var(--space-4) + var(--inset-bottom));left:var(--space-4)}.fab--md{height:52px;width:52px}.fab--lg{height:56px;width:56px}}@media (prefers-reduced-motion:reduce){.fab,.fab-action,.fab__icon{animation:none;transition:none}.fab--pulse{animation:none}.fab-action{opacity:1;transform:none}}
/*# sourceMappingURL=main.26889847.css.map*/