:root{--app-max-width:520px;--color-bg:#fffaf3;--color-surface:#fff;--color-surface-warm:#fff0df;--color-primary:#b94d27;--color-primary-strong:#8f3518;--color-text:#31231d;--color-muted:#8f7062;--color-border:#efdfd2;--color-success:#277747;--color-danger:#b42318;--radius-card:20px;--radius-control:14px;--tap-size:44px;--bottom-nav-height:72px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*,:before,:after{box-sizing:border-box}html{background:var(--color-bg);min-height:100%}body{background:var(--color-bg);min-width:320px;min-height:100dvh;color:var(--color-text);margin:0}body,#root{width:100%}#root{justify-content:center;min-height:100dvh;display:flex}button,input,select,textarea{font:inherit;min-height:var(--tap-size)}button{cursor:pointer}button:disabled{cursor:not-allowed}.mobileApp{width:min(100%, var(--app-max-width));min-height:100dvh;padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom) + 24px);background:var(--color-surface);position:relative;overflow-x:clip}.mobileApp .mobileHeader{z-index:20;min-height:76px;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;border-bottom:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 94%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.mobileApp .mobileHeaderTitle{min-width:0}.mobileApp .mobileEyebrow{color:var(--color-primary);letter-spacing:.08em;margin-bottom:2px;font-size:11px;font-weight:800;display:block}.mobileApp .mobileHeader h1{color:var(--color-text);letter-spacing:-.04em;margin:0;padding:0;font-size:clamp(19px,5.5vw,24px);line-height:1.2}.mobileSessionExpiry{color:var(--color-muted);margin-top:2px;font-size:10px;line-height:1.2;display:block}.mobileApp .mobileHeaderActions{flex:none;gap:4px;display:flex}.mobileApp .mobileHeaderAction{color:var(--color-text);background:0 0;border:0;position:relative}.mobileApp .mobileHeaderAction:hover,.mobileApp .mobileHeaderAction:focus-visible{background:var(--color-surface-warm);color:var(--color-primary-strong)}.mobileApp .unreadActivityBadge{border:2px solid var(--color-surface);background:var(--color-danger);color:#fff;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:900;line-height:1;display:grid;position:absolute;top:3px;right:2px}.mobileApp .mobileContent{width:100%;padding:20px 16px}.mobileApp .mobileViewTransition{animation:.24s cubic-bezier(.2,.8,.2,1) backwards mobile-view-enter}.mobileApp button:not(:disabled):active{transform:scale(.97)}@keyframes mobile-view-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.mobileApp .mobileModulePlaceholder,.mobileApp .mobileDetailSlot,.mobileApp .mobileOverlaySlot{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-warm);padding:20px}.mobileApp .mobileModulePlaceholder h2,.mobileApp .mobileModulePlaceholder p{margin-top:0}.mobileApp .mobileModulePlaceholder p{color:var(--color-muted);margin-bottom:0;line-height:1.6}.mobileApp .mobileDetailSlot,.mobileApp .mobileOverlaySlot{margin-top:16px}.mobileApp .bottomNav{z-index:30;width:min(100%, var(--app-max-width));min-height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom));padding:6px 8px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 96%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:fixed;bottom:0;right:50%;transform:translate(50%);box-shadow:0 -8px 24px #31231d14}.mobileApp .bottomNavItem{min-width:var(--tap-size);min-height:var(--tap-size);border-radius:var(--radius-control);color:var(--color-muted);background:0 0;border:0;grid-template-rows:26px auto;align-content:center;place-items:center;gap:2px;padding:4px 6px;font-size:12px;font-weight:700;display:grid}.mobileApp .bottomNavItem svg{width:24px;height:24px}.mobileApp .bottomNavItem.active,.mobileApp .bottomNavItem[aria-current=page]{background:var(--color-surface-warm);color:var(--color-primary-strong)}.mobileApp .bottomNavItem:focus-visible{outline:3px solid color-mix(in srgb, var(--color-primary) 35%, transparent);outline-offset:-2px}.appBanner{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-warm);color:var(--color-text);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.appBanner button,.iconButton,.submitButton{min-width:var(--tap-size);min-height:var(--tap-size);border-radius:var(--radius-control)}.iconButton{place-items:center;display:inline-grid}.iconButton svg{width:24px;height:24px}.submitButton{background:var(--color-primary);color:var(--color-surface);border:0}.submitButton:not(:disabled):hover{background:var(--color-primary-strong)}.mobileApp.mobileAuthApp,.mobileApp.mobileLoadingShell{min-height:100dvh;padding:env(safe-area-inset-top) 16px env(safe-area-inset-bottom);background:radial-gradient(circle at 15% 8%, #b94d2729, transparent 30%), radial-gradient(circle at 92% 34%, #f0a64624, transparent 27%), linear-gradient(155deg, transparent 58%, #ffffffb8), var(--color-bg)}.mobileApp .mobileAuthShell{min-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom));place-items:center;padding:24px 0;display:grid}.mobileApp .mobileLoginCard{isolation:isolate;border:1px solid var(--color-border);border-radius:var(--radius-card);background:color-mix(in srgb, var(--color-surface) 96%, transparent);width:100%;padding:24px 18px;position:relative;overflow:hidden;box-shadow:0 20px 52px #4c2f2024}.mobileApp .mobileLoginCard:before{z-index:-1;content:"";background:radial-gradient(circle,#f4b86033,#f4b86000);border-radius:50%;width:184px;height:184px;position:absolute;top:-76px;right:-58px}.mobileApp .mobileLoginScene{place-items:end center;width:106px;height:92px;margin:-2px auto 12px;display:grid;position:relative}.mobileApp .mobileLoginHome{background:linear-gradient(145deg, #d9673d, var(--color-primary));border-radius:8px 8px 18px 18px;width:76px;height:57px;animation:3.2s ease-in-out infinite mobileLoginFloat;position:relative;box-shadow:0 12px 24px #8f351833}.mobileApp .mobileLoginRoof{background:#8f3518;border-radius:12px;width:60px;height:60px;position:absolute;top:-24px;left:8px;transform:rotate(45deg)}.mobileApp .mobileLoginHome:after{border-radius:inherit;content:"";background:linear-gradient(120deg,#ffffff38,#0000 46%);position:absolute;inset:0}.mobileApp .mobileLoginDoor{z-index:1;background:#fff5e8;border-radius:11px 11px 0 0;width:22px;height:31px;position:absolute;bottom:0;left:27px}.mobileApp .mobileLoginHeart{z-index:2;color:#d9673d;font-size:11px;position:absolute;top:15px;left:33px}.mobileApp .mobileLoginSpark{color:#e7a33d;font-weight:900;animation:2.4s ease-in-out infinite mobileLoginTwinkle;position:absolute}.mobileApp .mobileLoginSparkOne{font-size:18px;top:4px;left:2px}.mobileApp .mobileLoginSparkTwo{font-size:8px;animation-delay:.6s;top:17px;right:0}.mobileApp .mobileLoginSparkThree{font-size:11px;animation-delay:1.1s;top:0;right:19px}@keyframes mobileLoginFloat{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-5px)rotate(1deg)}}@keyframes mobileLoginTwinkle{0%,to{opacity:.45;transform:scale(.76)rotate(0)}50%{opacity:1;transform:scale(1.12)rotate(18deg)}}.mobileApp .mobileLoginEyebrow{color:var(--color-primary);letter-spacing:.08em;text-align:center;margin:0 0 6px;font-size:12px;font-weight:900}.mobileApp .mobileLoginCard h1{color:var(--color-text);letter-spacing:-.045em;text-align:center;margin:0;font-size:clamp(24px,7vw,32px)}.mobileApp .mobileLoginHint{color:var(--color-muted);text-align:center;margin:10px 0 16px;font-size:14px;line-height:1.6}.mobileApp .mobileTelegramStatus{background:var(--color-surface-warm);min-height:44px;color:var(--color-muted);border-radius:12px;align-items:center;gap:8px;padding:10px 12px;font-size:12px;font-weight:700;display:flex}.mobileApp .mobileTelegramStatus>span{background:var(--color-muted);border-radius:50%;flex:none;width:8px;height:8px}.mobileApp .mobileTelegramStatus>span.connected{background:var(--color-success);box-shadow:0 0 0 4px color-mix(in srgb, var(--color-success) 16%, transparent)}.mobileApp .mobileUserGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.mobileApp .mobileUserSelect{border:1px solid var(--color-border);background:var(--color-surface);min-height:132px;color:var(--color-text);animation:.42s both mobileUserArrive;animation-delay:var(--mobile-user-delay,0s);border-radius:16px;justify-items:center;gap:7px;padding:14px 8px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid;position:relative;overflow:hidden;box-shadow:0 7px 18px #4c2f200f}.mobileApp .mobileUserSelect:before{background:color-mix(in srgb, var(--mobile-user-color) 12%, transparent);content:"";border-radius:50%;width:72px;height:72px;position:absolute;top:-32px;right:-32px}.mobileApp .mobileUserSelect:not(:disabled):hover,.mobileApp .mobileUserSelect:not(:disabled):focus-visible{border-color:var(--mobile-user-color);background:var(--color-surface-warm);box-shadow:0 10px 24px color-mix(in srgb, var(--mobile-user-color) 18%, transparent);transform:translateY(-2px)}.mobileApp .mobileUserSelect:disabled{cursor:not-allowed;opacity:.54}.mobileApp .mobileUserAvatar,.mobileApp .mobilePinAvatar{background:var(--mobile-user-color);color:#fff;width:48px;height:48px;box-shadow:0 7px 16px color-mix(in srgb, var(--mobile-user-color) 28%, transparent);border-radius:50%;place-items:center;font-size:21px;font-weight:900;display:grid}@keyframes mobileUserArrive{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.mobileApp .mobileUserSelect small{color:var(--color-muted);font-size:11px;line-height:1.35}.mobileApp .mobilePinPanel{text-align:center;justify-items:center;margin-top:20px;animation:.22s cubic-bezier(.2,.8,.2,1) both mobile-pin-enter;display:grid}@keyframes mobile-pin-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.mobileApp .mobilePinPanel p{min-height:24px;color:var(--color-text);margin:12px 0 2px;font-weight:750}.mobileApp .mobilePinPanel small{color:var(--color-primary-strong)}.mobileApp .mobilePinDots{justify-content:center;align-items:center;gap:14px;min-height:44px;margin:10px 0;display:flex}.mobileApp .mobilePinDots span{border:2px solid var(--color-border);background:var(--color-surface);border-radius:50%;width:13px;height:13px}.mobileApp .mobilePinDots span.filled{border-color:var(--mobile-user-color);background:var(--mobile-user-color);animation:.18s cubic-bezier(.2,.9,.35,1.35) both mobile-pin-dot-pop}@keyframes mobile-pin-dot-pop{0%{transform:scale(.55)}65%{transform:scale(1.22)}to{transform:scale(1)}}.mobileApp .mobilePinKeypad{grid-template-columns:repeat(3,minmax(44px,1fr));gap:8px;width:min(100%,300px);display:grid}.mobileApp .mobilePinKeypad button,.mobileApp .mobileChooseAnother{border:1px solid var(--color-border);background:var(--color-surface);min-width:44px;min-height:44px;color:var(--color-text);border-radius:14px;font-size:18px;font-weight:800}.mobileApp .mobilePinKeypad button{-webkit-tap-highlight-color:transparent;box-shadow:0 3px 0 color-mix(in srgb, var(--color-border) 72%, transparent);touch-action:manipulation;transition:transform 90ms ease-out,box-shadow 90ms ease-out,background-color 90ms ease-out}.mobileApp .mobilePinKeypad button:not(:disabled):active{background:var(--color-surface-warm);transform:translateY(2px)scale(.94);box-shadow:inset 0 2px 5px #4c2f2024}.mobileApp .mobilePinKeypad .mobilePinUtility{color:var(--color-muted);font-size:13px}.mobileApp .mobileChooseAnother{color:var(--color-primary-strong);margin-top:14px;padding:0 16px;font-size:14px}.mobileApp .mobileAuthBanner,.mobileApp .mobileDataBanner{z-index:40;border-color:color-mix(in srgb, var(--color-danger) 30%, var(--color-border));margin:12px 0;position:relative}.mobileApp.mobileAuthApp .mobileAuthBanner{margin-top:12px;margin-bottom:-4px}.mobileApp .appBanner button{background:var(--color-primary);color:#fff;border:0;font-weight:800}.mobileApp.mobileLoadingShell{text-align:center;color:var(--color-text);align-content:center;justify-items:center;display:grid}.mobileApp .mobileLoadingMark{background:var(--color-primary);color:#fff;border-radius:50%;place-items:center;width:56px;height:56px;font-size:30px;animation:1.2s ease-in-out infinite alternate mobileLoadingPulse;display:grid}.mobileApp.mobileLoadingShell h1{margin:16px 0 4px}.mobileApp.mobileLoadingShell p{color:var(--color-muted);margin:0}@keyframes mobileLoadingPulse{0%{opacity:.72;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.mobileApp .mobileLoadingMark,.mobileApp .mobileLoginHome,.mobileApp .mobileLoginSpark,.mobileApp .mobileUserSelect,.mobileApp .mobileViewTransition,.mobileApp .mobilePinPanel,.mobileApp .mobilePinDots span.filled,.bottomSheetBackdrop,.bottomSheetPanel{animation:none}.mobileApp button:not(:disabled):active{transform:none}}@media (height<=700px){.mobileApp .mobileAuthShell{padding:12px 0}.mobileApp .mobileLoginCard{padding-top:16px;padding-bottom:16px}.mobileApp .mobileLoginScene{transform-origin:bottom;width:78px;height:55px;margin-bottom:8px;transform:scale(.72)}.mobileApp .mobileLoginHint{margin:6px 0 10px}.mobileApp .mobileUserGrid,.mobileApp .mobilePinPanel{margin-top:12px}}.mobileApp .homeScreen{gap:18px;display:grid}.mobileApp .homeGreeting p,.mobileApp .homeGreeting h2{margin:0}.mobileApp .homeGreeting p{color:var(--color-primary);margin-bottom:5px;font-size:13px;font-weight:850}.mobileApp .homeGreeting h2{color:var(--color-text);letter-spacing:-.045em;font-size:clamp(22px,6.5vw,29px);line-height:1.25}.mobileApp .homeHeroCard,.mobileApp .homeEmptyState{border:1px solid color-mix(in srgb, var(--color-primary) 16%, var(--color-border));border-radius:var(--radius-card);width:100%;min-width:0;color:var(--color-text);background:radial-gradient(circle at 92% 12%,#ffffffa8,#0000 30%),linear-gradient(145deg,#fff3e2,#ffe2c7);padding:22px 18px;box-shadow:0 14px 34px #8f35181c}.mobileApp .homeHeroCard{text-align:left;border-width:1px;gap:5px;display:grid}.mobileApp .homeHeroCard:focus-visible,.mobileApp .homeUpcomingRow:focus-visible,.mobileApp .homeQuickActions button:focus-visible{outline:3px solid color-mix(in srgb, var(--color-primary) 35%, transparent);outline-offset:2px}.mobileApp .homeHeroEyebrow,.mobileApp .homeSectionHeading p{color:var(--color-primary-strong);letter-spacing:.03em;font-size:12px;font-weight:900}.mobileApp .homeHeroCard>strong{letter-spacing:-.045em;font-size:clamp(23px,7vw,30px);line-height:1.25}.mobileApp .homeHeroTime{color:var(--color-muted);font-size:14px;font-weight:750}.mobileApp .homeHeroDetails{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:15px 0 0;display:grid}.mobileApp .homeHeroDetails div{background:#ffffffa3;border-radius:13px;min-width:0;padding:10px}.mobileApp .homeHeroDetails dt{color:var(--color-muted);margin-bottom:4px;font-size:11px;font-weight:800}.mobileApp .homeHeroDetails dd{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;font-weight:850;overflow:hidden}.mobileApp .homeEmptyState{text-align:center;justify-items:center;gap:5px;display:grid}.mobileApp .homeEmptyState>span{font-size:30px}.mobileApp .homeEmptyState>strong{font-size:19px}.mobileApp .homeEmptyState p,.mobileApp .homeUpcomingEmpty{color:var(--color-muted);margin:0;font-size:14px;line-height:1.5}.mobileApp .homeQuickActions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.mobileApp .homeQuickActions button{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);min-height:50px;color:var(--color-primary-strong);font-size:14px;font-weight:900}.mobileApp .homeQuickActions button:first-child{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.mobileApp .homeChoresSection{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);gap:14px;padding:18px;display:grid}.mobileApp .choresScreen{gap:16px;display:grid}.mobileApp .choresIntro{gap:4px;padding:4px 2px 0;display:grid}.mobileApp .choresIntro span,.mobileApp .choresIntro p{color:var(--color-muted);margin:0}.mobileApp .choresIntro span{font-size:12px;font-weight:900}.mobileApp .choresIntro h2{margin:0;font-size:clamp(25px,7vw,32px)}.mobileApp .choresIntro p{font-size:14px;line-height:1.55}.mobileApp .homeChoreForm{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.mobileApp .homeChoreForm label{min-width:0;color:var(--color-muted);gap:6px;font-size:12px;font-weight:850;display:grid}.mobileApp .homeChoreForm .homeChoreTitleField,.mobileApp .homeChoreForm>button{grid-column:1/-1}.mobileApp .homeChoreForm input,.mobileApp .homeChoreForm select,.mobileApp .homeChoreCard select{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);width:100%;min-width:0;min-height:44px;color:var(--color-text);font:inherit}.mobileApp .homeChoreForm input,.mobileApp .homeChoreForm select{padding:0 11px}.mobileApp .homeChoreForm>button{border-radius:var(--radius-control);background:var(--color-primary);color:#fff;border:0;min-height:46px;font-weight:900}.mobileApp .homeChoreMessage,.mobileApp .homeChoreEmpty,.mobileApp .homeChoreMore{color:var(--color-muted);margin:0;font-size:13px;line-height:1.5}.mobileApp .homeChoreMessage{color:var(--color-primary-strong);font-weight:800}.mobileApp .homeChoreList{gap:8px;display:grid}.mobileApp .homeChoreCard{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-warm);grid-template-columns:minmax(0,1fr) 82px auto;align-items:center;gap:8px;min-width:0;padding:10px;display:grid}.mobileApp .homeChoreCard.status-doing{border-color:color-mix(in srgb, var(--color-primary) 40%, var(--color-border))}.mobileApp .homeChoreCard.status-done{opacity:.72}.mobileApp .homeChoreMain{gap:3px;min-width:0;display:grid}.mobileApp .homeChoreMain strong{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.mobileApp .homeChoreMain span,.mobileApp .homeChoreMain small{color:var(--color-muted);font-size:11px}.mobileApp .homeChoreCard select{padding:0 7px;font-size:12px;font-weight:800}.mobileApp .homeChoreDelete{min-height:40px;color:var(--color-danger,#a33b32);background:0 0;border:0;padding:0 5px;font-size:11px;font-weight:850}.mobileApp .homeChoresSection details summary{color:var(--color-muted);cursor:pointer;font-size:13px;font-weight:850}.mobileApp .homeChoresSection details .homeChoreList{margin-top:10px}.mobileApp .homeUpcomingSection{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);padding:18px}.mobileApp .homeSectionHeading p,.mobileApp .homeSectionHeading h3{margin:0}.mobileApp .homeSectionHeading h3{color:var(--color-text);letter-spacing:-.035em;margin-top:3px;font-size:19px}.mobileApp .homeUpcomingList{margin-top:10px;display:grid}.mobileApp .homeUpcomingRow{border:0;border-top:1px solid var(--color-border);min-height:62px;color:var(--color-text);text-align:left;background:0 0;grid-template-columns:minmax(0,76px) minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 0;display:grid}.mobileApp .homeUpcomingWhen,.mobileApp .homeUpcomingTitle{min-width:0}.mobileApp .homeUpcomingWhen{gap:2px;display:grid}.mobileApp .homeUpcomingWhen b{font-size:12px}.mobileApp .homeUpcomingWhen small{color:var(--color-muted);font-size:11px}.mobileApp .homeUpcomingTitle{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:850;overflow:hidden}.mobileApp .homeScopeBadge{background:var(--color-surface-warm);color:var(--color-primary-strong);border-radius:999px;padding:4px 7px;font-size:10px;font-weight:900}.mobileApp .homeScopeBadge.personal{color:var(--color-muted);background:#f3eee9}.mobileApp .homeUpcomingEmpty{padding-top:14px}.mobileApp .homeCompactCounts{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.mobileApp .homeCompactCountButton{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-warm);min-height:58px;color:inherit;font:inherit;text-align:left;cursor:pointer;place-items:center start;gap:8px;padding:13px 14px;display:grid}.mobileApp .homeCompactCountButton:disabled{cursor:default;opacity:.62}.mobileApp .homeCompactCounts span{color:var(--color-muted);font-size:12px;font-weight:800}.mobileApp .homeCompactCounts strong{color:var(--color-primary-strong);font-size:18px}.mobileApp .calendarScreen{gap:18px;min-width:0;display:grid}.mobileApp .calendarIntro>span,.mobileApp .calendarSectionHeading>span{color:var(--color-primary);letter-spacing:.04em;font-size:12px;font-weight:900}.mobileApp .calendarIntro h2,.mobileApp .calendarIntro p,.mobileApp .calendarSectionHeading h3{margin:0}.mobileApp .calendarIntro h2{color:var(--color-text);letter-spacing:-.045em;margin-top:2px;font-size:clamp(25px,7vw,32px)}.mobileApp .calendarIntro p{color:var(--color-muted);margin-top:6px;font-size:14px;line-height:1.55}.mobileApp .eventComposer,.mobileApp .calendarUpcoming,.mobileApp .monthCalendar{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);min-width:0;padding:17px}.mobileApp .calendarSectionHeading h3{color:var(--color-text);letter-spacing:-.03em;margin-top:3px;font-size:18px}.mobileApp .quickEventForm,.mobileApp .manualEventForm{gap:10px;margin-top:14px;display:grid}.mobileApp .quickEventForm>input,.mobileApp .manualEventForm input{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-bg);width:100%;min-width:0;min-height:46px;color:var(--color-text);font:inherit;padding:0 13px}.mobileApp .scopeChips,.mobileApp .calendarViewToggle,.mobileApp .calendarFilterSheet{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.mobileApp .scopeChips button,.mobileApp .calendarViewToggle button,.mobileApp .calendarFilterSheet button,.mobileApp .calendarPrimaryAction,.mobileApp .calendarSecondaryAction,.mobileApp .monthHeader button{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-warm);min-width:44px;min-height:44px;color:var(--color-text);font-weight:850}.mobileApp .scopeChips button.active,.mobileApp .scopeChips button[aria-pressed=true],.mobileApp .calendarViewToggle button.active,.mobileApp .calendarFilterSheet button.active{border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 10%, var(--color-surface));color:var(--color-primary-strong)}.mobileApp .calendarPrimaryAction{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.mobileApp .calendarSecondaryAction{width:100%;color:var(--color-primary-strong);background:0 0;margin-top:9px}.mobileApp .manualEventForm{border-top:1px solid var(--color-border);padding-top:12px}.mobileApp .manualEventForm label{color:var(--color-muted);gap:5px;font-size:12px;font-weight:800;display:grid}.mobileApp .manualDateTime{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.mobileApp .eventAdvancedDisclosure,.mobileApp .manualEventAdvancedDisclosure{border-top:1px solid var(--color-border);margin-top:10px}.mobileApp .eventAdvancedDisclosure>summary,.mobileApp .manualEventAdvancedDisclosure>summary{min-height:44px;color:var(--color-primary-strong);cursor:pointer;align-items:center;font-size:13px;font-weight:850;display:flex}.mobileApp .eventAdvancedFields,.mobileApp .manualEventAdvancedFields,.mobileApp .eventReminderAssigneeFields{gap:10px;display:grid}.mobileApp .eventAdvancedFields>label,.mobileApp .manualEventAdvancedFields>label,.mobileApp .eventReminderAssigneeFields>label{color:var(--color-muted);gap:5px;font-size:12px;font-weight:800;display:grid}.mobileApp .eventAdvancedFields select,.mobileApp .manualEventAdvancedFields select{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-bg);width:100%;min-height:44px;color:var(--color-text);font:inherit;padding:0 10px}.mobileApp .manualEventOvernight{color:var(--color-primary-strong);margin:8px 0 0;font-size:12px;font-weight:850}.mobileApp .eventAdvancedFields fieldset,.mobileApp .eventReminderAssigneeFields fieldset{border:0;min-width:0;margin:0;padding:0}.mobileApp .eventAdvancedFields legend,.mobileApp .eventReminderAssigneeFields legend{color:var(--color-muted);margin-bottom:5px;font-size:12px;font-weight:800}.mobileApp .eventAssigneePicker{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.mobileApp .eventAssigneePicker label{background:var(--color-surface-warm);min-height:44px;color:var(--color-text);border-radius:11px;align-items:center;gap:8px;padding:7px 10px;font-size:12px;font-weight:800;display:flex}.mobileApp .eventAssigneePicker input{width:20px;min-height:20px;margin:0}.mobileApp .composerMessage{color:var(--color-primary-strong);margin:10px 0 0;font-size:13px;line-height:1.5}.eventDeleteConfirmLead{color:var(--color-muted);margin:0 0 12px;line-height:1.55}.eventDeleteConfirmList{gap:8px;margin:0;padding:0;list-style:none;display:grid}.eventDeleteConfirmList li{background:var(--color-surface-warm);border-radius:14px;gap:3px;padding:12px;display:grid}.eventDeleteConfirmList span{color:var(--color-muted);font-size:13px}.eventDeleteConfirmActions{grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;display:grid}.eventDeleteConfirmActions button{min-height:var(--tap-size)}.eventDeleteConfirmActions .dangerAction{border-radius:var(--radius-control);background:var(--color-danger);color:#fff;border:0;font-weight:800}.mobileApp .calendarToolbar{gap:9px;display:grid}.mobileApp .calendarFilterDisclosure{min-width:0;position:relative}.mobileApp .calendarFilterDisclosure summary{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);min-height:44px;color:var(--color-muted);cursor:pointer;align-items:center;padding:0 13px;font-size:13px;font-weight:800;display:flex}.mobileApp .calendarFilterSheet{border-radius:var(--radius-control);background:var(--color-surface-warm);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:7px;padding:8px}.mobileApp .calendarEventList,.monthDayList{grid-template-columns:minmax(0,1fr);gap:0;min-width:0;margin-top:10px;display:grid}.mobileApp .calendarEventRow{border:0;border-top:1px solid var(--color-border);width:100%;min-width:0;min-height:82px;color:var(--color-text);text-align:left;background:0 0;grid-template-columns:minmax(0,82px) minmax(0,1fr);gap:11px;padding:13px 0;display:grid}.mobileApp .calendarEventRow[data-built-in=true],.mobileApp .monthDayEvent[data-built-in=true]{cursor:default;opacity:1}.mobileApp .monthDay[data-holiday=true] .monthDayNumber,.mobileApp .calendarEventRow[data-built-in=true] strong,.mobileApp .monthDayEvent[data-built-in=true] strong{color:#b42318}.mobileApp .calendarEventWhen,.mobileApp .calendarEventMain{align-content:start;min-width:0;display:grid}.mobileApp .calendarEventWhen b{font-size:12px}.mobileApp .calendarEventWhen small,.mobileApp .calendarEventMain>small{color:var(--color-muted);margin-top:3px;font-size:11px}.mobileApp .calendarEventMain>strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;line-height:1.35;overflow:hidden}.mobileApp .calendarEventMeta{min-width:0;color:var(--color-muted);flex-wrap:wrap;gap:4px 7px;margin-top:8px;font-size:10px;font-weight:750;display:flex}.mobileApp .calendarEventMeta span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.mobileApp .calendarEmptyState,.mobileApp .monthDayList>p{color:var(--color-muted);margin:12px 0 0;font-size:14px}.mobileApp .monthHeader{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;display:grid}.mobileApp .monthHeader h3{color:var(--color-text);text-align:center;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:18px;overflow:hidden}.monthWeekdays,.monthGrid{grid-template-columns:repeat(7,minmax(0,1fr));width:100%;min-width:0;display:grid}.mobileApp .monthWeekdays{color:var(--color-muted);text-align:center;margin-top:12px;font-size:10px;font-weight:850}.mobileApp .monthWeekdays span{padding:6px 0}.mobileApp .monthGrid{touch-action:pan-y;border-top:1px solid var(--color-border);border-left:1px solid var(--color-border);grid-auto-rows:minmax(82px,auto)}.mobileApp .monthGrid[data-swipe-direction=next]{animation:.22s cubic-bezier(.2,.8,.2,1) month-slide-next}.mobileApp .monthGrid[data-swipe-direction=previous]{animation:.22s cubic-bezier(.2,.8,.2,1) month-slide-previous}.monthDay{min-width:0;overflow:visible}.mobileApp .monthDay{border:0;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:var(--color-surface);min-height:82px;color:var(--color-text);text-align:left;border-radius:0;align-content:start;gap:2px;padding:5px 3px;display:grid}.mobileApp .monthDay.outside{color:color-mix(in srgb, var(--color-muted) 48%, transparent);background:var(--color-bg)}.mobileApp .monthDay.selected{box-shadow:inset 0 0 0 2px var(--color-primary);background:var(--color-surface-warm)}.mobileApp .monthDayNumber{font-size:10px;font-weight:900}.mobileApp .monthEventTitles{gap:2px;min-width:0;display:grid}.mobileApp .monthEventTitle,.mobileApp .monthEventMore{background:color-mix(in srgb, var(--color-primary) 12%, transparent);min-width:0;max-width:100%;color:var(--color-primary-strong);border-radius:4px;padding:1px 3px;font-size:9px;font-weight:850;line-height:1.35;display:block}.mobileApp .monthEventTitle{white-space:normal;overflow-wrap:anywhere}.mobileApp .monthEventMore{white-space:nowrap;width:fit-content;color:var(--color-muted)}@keyframes month-slide-next{0%{opacity:.45;transform:translate(10%)}to{opacity:1;transform:translate(0)}}@keyframes month-slide-previous{0%{opacity:.45;transform:translate(-10%)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.mobileApp .monthGrid[data-swipe-direction]{animation:none}}.mobileApp .monthDaySection{margin-top:16px}.mobileApp .monthDaySection h3{color:var(--color-text);margin:0;font-size:16px}.mobileApp .monthDayEvent{border:0;border-top:1px solid var(--color-border);width:100%;min-width:0;min-height:58px;color:var(--color-text);text-align:left;background:0 0;grid-template-columns:minmax(0,68px) minmax(0,1fr);gap:2px 9px;padding:10px 0;display:grid}.mobileApp .monthDayEvent>span{color:var(--color-muted);grid-row:1/span 2;font-size:11px;font-weight:800}.mobileApp .monthDayEvent strong,.mobileApp .monthDayEvent small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mobileApp .monthDayEvent small{color:var(--color-muted);font-size:10px}.mobileApp .calendarEventRow:focus-visible,.mobileApp .monthDay:focus-visible,.mobileApp .monthDayEvent:focus-visible,.mobileApp .eventComposer button:focus-visible,.mobileApp .calendarToolbar button:focus-visible{outline:3px solid color-mix(in srgb, var(--color-primary) 35%, transparent);outline-offset:2px}.mobileApp .mobileDetailSlot[data-detail-slot=event]{z-index:50;width:min(100%, var(--app-max-width));overscroll-behavior:contain;background:#2d1f1957;border:0;border-radius:0;margin:0 auto;padding:0;position:fixed;inset:0;overflow-y:auto}.mobileApp .eventDetailSheet{min-height:100dvh;padding:env(safe-area-inset-top) 16px calc(24px + env(safe-area-inset-bottom));background:var(--color-bg);color:var(--color-text)}.mobileApp .eventDetailHeader{z-index:3;border-bottom:1px solid var(--color-border);background:color-mix(in srgb, var(--color-bg) 95%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);justify-content:space-between;align-items:flex-start;gap:12px;margin:0 -16px;padding:14px 16px 13px;display:flex;position:sticky;top:0}.mobileApp .eventDetailHeader>div{min-width:0}.mobileApp .eventDetailHeader h2,.mobileApp .eventDetailHeader p,.mobileApp .eventDetailHeader small{margin:0}.mobileApp .eventDetailHeader h2{overflow-wrap:anywhere;letter-spacing:-.045em;margin-top:3px;font-size:clamp(22px,7vw,29px)}.mobileApp .eventDetailHeader p{margin-top:5px;font-size:13px;font-weight:800}.mobileApp .eventDetailHeader small{color:var(--color-muted);margin-top:4px;line-height:1.45;display:block}.mobileApp .eventDetailScope{color:var(--color-primary);font-size:11px;font-weight:900}.mobileApp .eventDetailClose{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);min-width:44px;min-height:44px;color:var(--color-primary-strong);font-weight:850}.mobileApp .eventAttendance{border:1px solid color-mix(in srgb, var(--color-primary) 24%, var(--color-border));border-radius:var(--radius-card);background:var(--color-surface);margin-top:14px;padding:15px}.mobileApp .eventAttendance h3{margin:0 0 10px;font-size:17px}.mobileApp .deepAttendanceConfirmation{background:color-mix(in srgb, var(--color-primary) 9%, var(--color-surface));color:var(--color-primary-strong);border-radius:11px;margin:-2px 0 10px;padding:9px 10px;font-size:12px;line-height:1.45}.mobileApp .eventAttendanceActions{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.mobileApp .eventAttendanceActions button{border:1px solid var(--color-border);background:var(--color-surface-warm);min-width:0;min-height:44px;color:var(--color-text);border-radius:12px;padding:5px 2px;font-size:11px;font-weight:850}.mobileApp .eventAttendanceActions button.active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.mobileApp .eventAttendanceActions button.requested{outline:3px solid color-mix(in srgb, var(--color-primary) 28%, transparent);outline-offset:2px}.mobileApp .eventMemberStatuses{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.mobileApp .eventMemberStatuses>div{grid-template-columns:28px minmax(0,1fr);align-items:center;gap:1px 7px;min-width:0;display:grid}.mobileApp .eventMemberStatuses>div>span{background:var(--member-color,var(--color-primary));color:#fff;border-radius:50%;grid-row:1/span 2;place-items:center;width:28px;height:28px;font-size:11px;font-weight:900;display:grid}.mobileApp .eventMemberStatuses b,.mobileApp .eventMemberStatuses small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mobileApp .eventMemberStatuses b{font-size:11px}.mobileApp .eventMemberStatuses small{color:var(--color-muted);font-size:9px}.mobileApp .eventDetailMessage{color:var(--color-primary-strong);margin:10px 0 0;font-size:13px;font-weight:750}.mobileApp .eventDetailDisclosure{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);margin-top:10px;overflow:clip}.mobileApp .eventDetailDisclosure>summary{min-height:52px;color:var(--color-text);cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:0 14px;font-size:14px;font-weight:900;display:flex}.mobileApp .eventDetailDisclosure>summary span{max-width:55%;color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.mobileApp .eventDetailBody{border-top:1px solid var(--color-border);gap:10px;padding:13px 14px 15px;display:grid}.mobileApp .eventInlineComposer{grid-template-columns:minmax(0,1fr) minmax(96px,.42fr) auto;gap:7px;display:grid}.mobileApp .eventInlineComposer.comment{grid-template-columns:minmax(0,1fr) auto}.mobileApp .eventDetailBody input,.mobileApp .eventDetailBody select,.mobileApp .eventDetailBody textarea{border:1px solid var(--color-border);background:var(--color-bg);width:100%;min-width:0;min-height:44px;color:var(--color-text);font:inherit;border-radius:11px;padding:9px 10px}.mobileApp .eventDetailBody textarea{resize:vertical;min-height:86px}.mobileApp .eventDetailBody button,.mobileApp .eventDetailMissing button{border:1px solid var(--color-primary);background:var(--color-primary);color:#fff;border-radius:11px;min-height:44px;padding:0 12px;font-weight:850}.mobileApp .eventDetailBody button.danger{border-color:var(--color-danger);background:var(--color-danger)}.mobileApp .eventChecklist,.mobileApp .eventCommentList,.mobileApp .eventHistoryList{gap:8px;display:grid}.mobileApp .eventChecklist label{background:var(--color-surface-warm);border-radius:11px;align-items:center;gap:9px;padding:9px;display:flex}.mobileApp .eventChecklist input{width:20px;min-height:20px}.mobileApp .eventChecklist span{min-width:0;display:grid}.mobileApp .eventChecklist small{color:var(--color-muted)}.mobileApp .eventChecklist .done b{color:var(--color-muted);text-decoration:line-through}.mobileApp .eventCommentList article,.mobileApp .eventHistoryList article{background:var(--color-surface-warm);border-radius:11px;padding:10px}.mobileApp .eventCommentList p{overflow-wrap:anywhere;margin:4px 0}.mobileApp .eventCommentList small,.mobileApp .eventHistoryList small{color:var(--color-muted);font-size:10px}.mobileApp .eventHistoryList article{gap:3px;display:grid}.mobileApp .eventHistoryList span{color:var(--color-muted);font-size:12px}.mobileApp .eventLogisticsFields,.mobileApp .eventOwnerControls{grid-template-columns:repeat(2,minmax(0,1fr))}.mobileApp .eventLogisticsFields label,.mobileApp .eventOwnerControls label,.mobileApp .eventRecurrenceFields label{color:var(--color-muted);gap:5px;font-size:11px;font-weight:800;display:grid}.mobileApp .eventLogisticsFields label:last-child{grid-column:1/-1}.mobileApp .eventLogisticsFields a{min-height:44px;color:var(--color-primary-strong);align-self:end;padding:12px;font-weight:850}.mobileApp .eventRecurrenceFields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.mobileApp .eventRecurrenceActions,.mobileApp .eventOwnerControls>div{flex-wrap:wrap;gap:8px;display:flex}.mobileApp .eventOwnerControls{border-bottom:1px solid var(--color-border);gap:8px;padding-bottom:12px;display:grid}.mobileApp .eventOwnerControls>div{grid-column:1/-1}.mobileApp .eventDetailMissing{background:var(--color-bg);justify-content:space-between;align-items:center;gap:12px;min-height:100dvh;padding:20px;display:flex}@media (width>=560px){.mobileApp .eventDetailSheet{width:min(100%,560px);margin-left:auto;box-shadow:-18px 0 46px #2d1f192e}}@media (width<=390px){.mobileApp .eventInlineComposer{grid-template-columns:minmax(0,1fr) auto}.mobileApp .eventInlineComposer select{grid-area:2/1/auto/-1}.mobileApp .eventLogisticsFields,.mobileApp .eventOwnerControls{grid-template-columns:minmax(0,1fr)}.mobileApp .eventOwnerControls>div,.mobileApp .eventLogisticsFields label:last-child{grid-column:auto}}.mobileApp .neededItemsScreen{gap:16px;min-width:0;display:grid}.mobileApp .neededIntro>span,.mobileApp .neededSectionHeading>span,.mobileApp .neededDetailSheet header span{color:var(--color-primary);letter-spacing:.04em;font-size:12px;font-weight:900}.mobileApp .neededIntro h2,.mobileApp .neededIntro p,.mobileApp .neededSectionHeading h3,.mobileApp .neededDetailSheet h2{margin:0}.mobileApp .neededIntro h2{color:var(--color-text);letter-spacing:-.045em;margin-top:2px;font-size:clamp(25px,7vw,32px)}.mobileApp .neededIntro p{color:var(--color-muted);margin-top:6px;font-size:14px;line-height:1.55}.mobileApp .neededQuickForm,.mobileApp .neededCompletedDisclosure{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);min-width:0;padding:17px}.mobileApp .neededSectionHeading{grid-column:1/-1}.mobileApp .neededSectionHeading h3{color:var(--color-text);letter-spacing:-.03em;margin-top:3px;font-size:18px}.mobileApp .neededQuickForm{grid-template-columns:minmax(0,1fr) minmax(92px,.42fr);gap:10px;display:grid}.mobileApp .neededQuickForm label,.mobileApp .neededDetailForm label{min-width:0;color:var(--color-muted);gap:5px;font-size:12px;font-weight:800;display:grid}.mobileApp .neededQuickForm input,.mobileApp .neededDetailForm input,.mobileApp .neededDetailForm select,.mobileApp .neededDetailForm textarea,.mobileApp .neededItemCard select{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-bg);width:100%;min-width:0;min-height:46px;color:var(--color-text);font:inherit;padding:9px 11px}.mobileApp .neededQuickActions{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.mobileApp .neededQuickActions button,.mobileApp .neededDetailForm>button,.mobileApp .neededDetailSheet header button{border:1px solid var(--color-primary);border-radius:var(--radius-control);background:var(--color-primary);color:#fff;min-width:44px;min-height:46px;font-weight:900}.mobileApp .neededQuickActions button:last-child,.mobileApp .neededDetailSheet header button{background:var(--color-surface-warm);color:var(--color-primary-strong)}.mobileApp .neededMessage,.mobileApp .neededEmpty{color:var(--color-muted);margin:0;font-size:14px;line-height:1.5}.mobileApp .neededMessage{color:var(--color-primary-strong);font-weight:750}.mobileApp .neededFilters{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;min-width:0;display:grid}.mobileApp .neededFilters button{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);min-width:0;min-height:48px;color:var(--color-muted);place-items:center;padding:5px 2px;font-size:12px;font-weight:900;display:grid}.mobileApp .neededFilters button span{font-size:10px}.mobileApp .neededFilters button.active{border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 10%, var(--color-surface));color:var(--color-primary-strong)}.mobileApp .neededItemList{gap:9px;min-width:0;display:grid}.mobileApp .neededItemCard{border:1px solid color-mix(in srgb, var(--color-primary) 18%, var(--color-border));border-left:5px solid var(--color-primary);border-radius:var(--radius-control);background:var(--color-surface);grid-template-columns:minmax(0,1fr) minmax(104px,.34fr);align-items:center;gap:10px;min-width:0;padding:13px;display:grid}.mobileApp .neededItemCard.status-planned{border-left-color:#d59628}.mobileApp .neededItemCard.status-completed{border-left-color:var(--color-success);background:var(--color-surface-warm)}.mobileApp .neededItemMain{min-width:0;color:var(--color-text);text-align:left;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 8px;padding:0;display:grid}.mobileApp .neededPriority{color:var(--color-muted);background:#ede7df;border-radius:999px;align-self:center;padding:3px 7px;font-size:10px;font-weight:900}.mobileApp .neededPriority.priority-urgent{color:#a51d1d;background:#fee2e2}.mobileApp .neededPriority.priority-high{color:#a84a18;background:#ffead5}.mobileApp .neededPriority.priority-low{color:#23746b;background:#e3f1ef}.mobileApp .neededItemTitle{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:16px;font-weight:900;overflow:hidden}.mobileApp .neededQuantity{color:var(--color-muted);font-size:11px;font-weight:800}.mobileApp .neededItemSummary{min-width:0;color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;grid-column:2/-1;font-size:11px;overflow:hidden}.mobileApp .neededCompletedDisclosure{padding:0;overflow:clip}.mobileApp .neededCompletedDisclosure>summary{min-height:52px;color:var(--color-text);cursor:pointer;padding:16px;font-size:14px;font-weight:900}.mobileApp .neededCompletedDisclosure>.neededItemList{border-top:1px solid var(--color-border);padding:0 12px 12px}.mobileApp .neededCompletedDisclosure .neededItemCard:first-child{margin-top:12px}.mobileApp .neededDetailLayer{z-index:50;width:min(100%, var(--app-max-width));overscroll-behavior:contain;background:#2d1f1957;margin:0 auto;position:fixed;inset:0;overflow-y:auto}.mobileApp .neededDetailSheet{min-height:100dvh;padding:max(env(safe-area-inset-top), 24px) 16px calc(24px + env(safe-area-inset-bottom));background:var(--color-bg);color:var(--color-text)}.mobileApp .neededDetailSheet header{z-index:2;border-bottom:1px solid var(--color-border);background:color-mix(in srgb, var(--color-bg) 95%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);justify-content:space-between;align-items:flex-start;gap:10px;margin:0 -16px;padding:14px 16px 13px;display:flex;position:sticky;top:0}.mobileApp .neededDetailSheet header>div{min-width:0}.mobileApp .neededDetailSheet h2{overflow-wrap:anywhere;margin-top:3px;font-size:clamp(22px,7vw,29px)}.mobileApp .neededDetailForm{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;padding:16px;display:grid}.mobileApp .neededDetailForm .wide,.mobileApp .neededDetailMeta{grid-column:1/-1}.mobileApp .neededDetailForm textarea{resize:vertical;min-height:96px}.mobileApp .neededDetailForm>button.danger{border-color:var(--color-danger);background:var(--color-danger)}.mobileApp .neededDetailMeta{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.mobileApp .neededDetailMeta div{background:var(--color-surface-warm);border-radius:12px;padding:10px}.mobileApp .neededDetailMeta dt{color:var(--color-muted);font-size:10px;font-weight:800}.mobileApp .neededDetailMeta dd{text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;font-size:12px;font-weight:900;overflow:hidden}.mobileApp .neededItemMain:focus-visible,.mobileApp .neededFilters button:focus-visible,.mobileApp .neededQuickForm button:focus-visible,.mobileApp .neededCompletedDisclosure summary:focus-visible,.mobileApp .neededDetailSheet button:focus-visible{outline:3px solid color-mix(in srgb, var(--color-primary) 35%, transparent);outline-offset:2px}@media (width<=390px){.mobileApp .neededQuickForm,.mobileApp .neededDetailForm{grid-template-columns:minmax(0,1fr)}.mobileApp .neededSectionHeading,.mobileApp .neededQuickActions,.mobileApp .neededDetailForm .wide,.mobileApp .neededDetailMeta{grid-column:auto}.mobileApp .neededItemCard{grid-template-columns:minmax(0,1fr)}.mobileApp .neededItemCard select{min-height:44px}}.bottomSheetBackdrop{z-index:80;overscroll-behavior:contain;background:#2d1f196b;justify-content:center;align-items:flex-end;animation:.18s ease-out both sheet-backdrop-enter;display:flex;position:fixed;inset:0}.bottomSheetPanel{width:min(100%, var(--app-max-width));max-height:min(88dvh,820px);padding-bottom:calc(16px + env(safe-area-inset-bottom));border:1px solid var(--color-border);background:var(--color-bg);border-bottom:0;border-radius:24px 24px 0 0;animation:.26s cubic-bezier(.2,.8,.2,1) both sheet-panel-enter;overflow:hidden;box-shadow:0 -18px 56px #31231d33}.homeChoreDetailButton{min-height:44px;color:inherit;text-align:left;background:0 0;border:0;padding:0}.choreDetailForm,.choreDetailForm label,.choreDetailHistory li{gap:8px;display:grid}.choreDetailForm{gap:14px}.choreDetailForm label>span,.choreDetailHistory h3{font-weight:800}.choreDetailForm input,.choreDetailForm select{min-height:46px}.choreDetailActions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.choreDetailActions button,.choreDetailMissing button{min-height:44px}.choreDetailHistory{margin-top:24px}.choreDetailHistory ol{gap:12px;padding-left:20px;display:grid}.choreDetailHistory time{color:var(--color-muted);font-size:13px}.choreDetailMissing{gap:16px;display:grid}@keyframes sheet-backdrop-enter{0%{opacity:0}to{opacity:1}}@keyframes sheet-panel-enter{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.bottomSheetHeader{border-bottom:1px solid var(--color-border);background:var(--color-surface);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px 10px;display:flex}.bottomSheetHeader h2{margin:0;font-size:21px}.bottomSheetHeader button{min-width:var(--tap-size);min-height:var(--tap-size);background:var(--color-surface-warm);color:var(--color-text);border:0;border-radius:50%;font-size:26px}.bottomSheetBody{max-height:calc(88dvh - 70px - env(safe-area-inset-bottom));overscroll-behavior:contain;padding:16px;overflow-y:auto}.sheetLeadRow{justify-content:space-between;align-items:center;gap:12px;display:flex}.sheetLeadRow>p{color:var(--color-muted);margin:0;font-size:13px}.sheetLeadRow button,.profileActions button,.mobileBugReportForm>button,.bugConfirmationActions button{min-height:var(--tap-size);border-radius:var(--radius-control);background:var(--color-primary);color:#fff;border:0;font-weight:800}.sheetMessage{background:var(--color-surface-warm);color:var(--color-primary-strong);border-radius:12px;padding:10px 12px;font-size:13px}.sheetEmpty{color:var(--color-muted);text-align:center}.activitySheetList{gap:8px;margin-top:14px;display:grid}.activitySheetRow{border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:58px;color:var(--color-text);text-align:left;border-radius:14px;grid-template-columns:32px minmax(0,1fr);gap:10px;padding:10px;display:grid}.activitySheetRow.unread{border-color:color-mix(in srgb, var(--color-primary) 50%, var(--color-border));background:var(--color-surface-warm)}.activitySheetRow:disabled{opacity:1}.activitySheetRow b,.activitySheetRow small{overflow-wrap:anywhere;display:block}.activitySheetRow small{color:var(--color-muted);margin-top:4px;font-size:11px}.mobileBugReportForm{gap:14px;display:grid}.mobileBugReportForm fieldset{border:0;min-width:0;margin:0;padding:0}.mobileBugReportForm legend,.mobileBugReportForm label>span{margin-bottom:7px;font-size:13px;font-weight:800;display:block}.bugCategoryGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.bugCategoryGrid label{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;min-width:0;padding:10px}.bugCategoryGrid label.selected{border-color:var(--color-primary);background:var(--color-surface-warm)}.bugCategoryGrid input{opacity:0;position:absolute}.bugCategoryGrid span{overflow-wrap:anywhere;font-size:12px}.mobileBugReportForm textarea{resize:vertical;width:100%;min-height:86px}.bugContextPreview{background:var(--color-surface-warm);border-radius:12px;padding:12px;font-size:12px}.bugContextPreview p{line-height:1.55}.mobileBugReports{gap:10px;margin-top:22px;display:grid}.mobileBugReports h3{margin:0}.bugReport{border:1px solid var(--color-border);background:var(--color-surface);border-radius:14px;padding:13px}.bugReport>div:first-child{align-items:center;gap:8px;display:flex}.bugReport>div:first-child span{color:var(--color-primary);font-size:11px;font-weight:900}.bugReport p{overflow-wrap:anywhere}.bugReport small{color:var(--color-muted)}.bugConfirmationActions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.profileIdentity{border-radius:var(--radius-card);background:var(--color-surface-warm);align-items:center;gap:12px;padding:16px;display:flex}.profileIdentity>span{font-size:34px}.profileIdentity b,.profileIdentity small{display:block}.profileIdentity small{color:var(--color-muted);margin-top:4px}.profileMemberSetup{border:1px solid var(--color-line);border-radius:var(--radius-card);background:var(--color-surface);gap:10px;margin-top:16px;padding:14px;display:grid}.profileMemberSetup h3,.profileMemberSetup p{margin:0}.profileMemberSetup p{color:var(--color-muted);font-size:13px;line-height:1.5}.profileMemberSetup label{color:var(--color-text);gap:6px;font-size:13px;font-weight:800;display:grid}.profileMemberSetup input,.profileMemberSetup select{width:100%;min-height:var(--tap-size);box-sizing:border-box;border:1px solid var(--color-line);border-radius:var(--radius-control);color:var(--color-text);font:inherit;background:#fff;padding:0 12px}.profileMemberSetup button{min-height:var(--tap-size);border-radius:var(--radius-control);background:var(--color-primary);color:#fff;border:0;font-weight:800}.profileMemberSetup button:disabled{opacity:.55}.profileActions{gap:10px;margin-top:16px;display:grid}.profileActions .dangerButton{background:var(--color-danger)}@media (width<=340px){.bugCategoryGrid,.bugConfirmationActions{grid-template-columns:minmax(0,1fr)}}
