*{box-sizing:border-box}.mobile-navigation-configurator{max-width:980px;margin-inline:auto}.mobile-navigation-configurator__heading,.mobile-navigation-configurator__footer{justify-content:space-between;align-items:center;gap:16px;display:flex}.mobile-navigation-preview{border:1px solid var(--ant-color-border-secondary);background:color-mix(in srgb, var(--ant-color-bg-layout) 82%, var(--ant-color-primary-bg));border-radius:24px;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:10px;min-height:190px;padding:28px 18px 18px;display:grid}.mobile-navigation-preview__slot{text-align:center;border-radius:18px;flex-direction:column;justify-content:flex-end;gap:8px;min-width:0;min-height:126px;display:flex}.mobile-navigation-preview__slot--0,.mobile-navigation-preview__slot--4{transform-origin:bottom;transform:scale(.88)}.mobile-navigation-preview__slot--1,.mobile-navigation-preview__slot--3{transform-origin:bottom;transform:translateY(-8px)scale(.96)}.mobile-navigation-preview__slot--2{transform-origin:bottom;transform:translateY(-18px)scale(1.08)}.mobile-navigation-preview__slot-label{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.mobile-navigation-preview__item,.mobile-navigation-preview__placeholder{border:1px solid var(--ant-color-border-secondary);background:var(--ant-color-bg-container);cursor:grab;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:86px;padding:10px 4px;font-size:12px;font-weight:650;display:flex;position:relative;box-shadow:0 5px 16px #001b3d14}.mobile-navigation-preview__item.is-selected{border-color:var(--ant-color-primary);box-shadow:0 0 0 3px var(--ant-color-primary-bg)}.mobile-navigation-preview__item.is-locked{cursor:default}.mobile-navigation-preview__item.is-center{border-color:var(--ant-color-primary-border);background:var(--ant-color-primary-bg)}.mobile-navigation-preview__icon,.mobile-navigation-preview__item>.anticon{font-size:23px}.mobile-navigation-preview__drag{color:var(--ant-color-text-quaternary);font-size:12px!important}.mobile-navigation-preview__item .ant-btn{margin:-62px -52px 0 0;position:absolute}.mobile-navigation-preview__placeholder{box-shadow:none;color:var(--ant-color-text-tertiary);cursor:default;background:0 0;border-style:dashed}.mobile-navigation-available{margin-top:24px}.mobile-navigation-available__items{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.mobile-navigation-configurator__footer{justify-content:flex-end;margin-top:28px}@media (width<=640px){.mobile-navigation-preview{gap:3px;min-height:160px;padding-inline:4px}.mobile-navigation-preview__slot{min-height:108px}.mobile-navigation-preview__item,.mobile-navigation-preview__placeholder{min-height:76px;padding-inline:2px;font-size:10px}.mobile-navigation-preview__item .ant-btn{display:none}}.polls-page{width:min(1180px,100%);margin:0 auto}.polls-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.polls-toolbar .ant-input-affix-wrapper{border-radius:12px;width:min(360px,100%);min-height:44px}.polls-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.poll-card{border-color:var(--ant-color-border-secondary);cursor:pointer;border-radius:18px;min-height:274px;transition:border-color .18s,box-shadow .18s,transform .18s;overflow:hidden;box-shadow:0 6px 22px #122c4c12}.poll-card:hover{border-color:var(--ant-color-primary-border);transform:translateY(-2px);box-shadow:0 14px 34px #122c4c1f}.poll-card:focus-visible{outline:3px solid var(--ant-color-primary-border);outline-offset:3px}.poll-card .ant-card-body{flex-direction:column;height:100%;padding:22px;display:flex}.poll-card__head,.poll-card__meta,.poll-results__summary,.poll-result-option>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.poll-card__head>.anticon{width:46px;height:46px;color:var(--ant-color-primary);background:var(--ant-color-primary-bg);border-radius:14px;place-items:center;font-size:22px;display:grid}.poll-card h4.ant-typography{margin:18px 0 6px;line-height:1.28}.poll-card__meta{color:var(--ant-color-text-secondary);margin-top:auto;font-size:13px}.poll-card__meta span{align-items:center;gap:6px;display:inline-flex}.poll-card>.ant-card-body>.ant-progress{margin-top:10px}.poll-card__footer{border-top:1px solid var(--ant-color-border-secondary);color:var(--ant-color-primary);background:var(--ant-color-fill-quaternary);justify-content:space-between;align-items:center;gap:12px;margin:16px -22px -22px;padding:13px 22px;font-size:13px;font-weight:700;display:flex}.poll-card:hover .poll-card__footer .anticon,.poll-card:focus-visible .poll-card__footer .anticon{transform:translate(3px)}.poll-card__footer .anticon{transition:transform .18s}.polls-empty{padding-block:clamp(44px,9vw,96px)}.poll-option-editor,.poll-detail,.poll-quick-widget{width:100%}.poll-option-editor .ant-space-compact .ant-btn{width:44px;min-width:44px}.poll-editor-drawer .ant-drawer-body{padding-bottom:calc(28px + env(safe-area-inset-bottom))}.poll-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;margin-top:18px;display:grid}.poll-form-grid .ant-picker,.poll-form-grid .ant-input-number{width:100%}.poll-switch-label{margin-inline-start:10px}.poll-vote-box{background:var(--ant-color-fill-quaternary);border-radius:16px;gap:16px;padding:20px;display:grid}.poll-choice-list{gap:12px;display:grid}.poll-choice-list .ant-radio-wrapper,.poll-choice-list .ant-checkbox-wrapper{border:1px solid var(--ant-color-border-secondary);background:var(--ant-color-bg-container);border-radius:10px;min-height:44px;padding:9px 12px}.poll-results{gap:14px;display:grid}.poll-results__participation,.poll-result-option{border:1px solid var(--ant-color-border-secondary);background:var(--ant-color-fill-quaternary);border-radius:12px;gap:7px;padding:14px 16px;display:grid}.poll-detail__actions{border-top:1px solid var(--ant-color-border-secondary);width:100%;padding-top:4px}.poll-detail__actions .ant-btn{min-height:42px}.poll-widget-list{gap:8px;display:grid}.poll-widget-list button{width:100%;min-height:52px;color:inherit;background:var(--ant-color-fill-quaternary);text-align:left;cursor:pointer;border:0;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.poll-widget-list button span{flex-direction:column;display:flex}.poll-widget-list small{color:var(--ant-color-text-secondary)}.poll-widget-count.ant-typography{color:#0057c2;margin:0}.poll-latest-widget{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}@media (width<=1024px){.polls-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.polls-toolbar{flex-direction:column;align-items:stretch;margin-bottom:16px}.polls-toolbar .ant-input-affix-wrapper{width:100%}.polls-toolbar .ant-segmented-group{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.polls-grid{grid-template-columns:1fr;gap:12px}.poll-card{border-radius:16px;min-height:248px}.poll-form-grid{grid-template-columns:1fr}.poll-card__meta{flex-direction:column;align-items:flex-start;gap:4px}.ant-drawer .ant-drawer-header,.ant-drawer .ant-drawer-body{padding-inline:16px}.ant-drawer .ant-drawer-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.poll-vote-box{padding:16px}.poll-detail__actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.poll-detail__actions .ant-btn,.poll-detail__actions .ant-popconfirm-target{width:100%}.poll-choice-list,.poll-choice-list .ant-radio-wrapper,.poll-choice-list .ant-checkbox-wrapper{width:100%;min-width:0}.poll-choice-list .ant-radio-wrapper span:last-child,.poll-choice-list .ant-checkbox-wrapper span:last-child{overflow-wrap:anywhere;white-space:normal}}@media (prefers-reduced-motion:reduce){.poll-card,.poll-card__footer .anticon{transition:none}.poll-card:hover{transform:none}}.wishlists-page{gap:22px;width:min(1180px,100%);margin:0 auto;display:grid}.wishlists-toolbar{grid-template-columns:auto minmax(260px,1fr) auto;align-items:center;gap:14px;display:grid}.wishlists-toolbar .ant-input-affix-wrapper,.wishlists-toolbar>.ant-btn{border-radius:12px;min-height:44px}.wishlists-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.wishlist-card{border-color:var(--ant-color-border-secondary);cursor:pointer;border-radius:18px;min-height:280px;transition:border-color .18s,box-shadow .18s,transform .18s;overflow:hidden;box-shadow:0 6px 22px #122c4c12}.wishlist-card:hover{border-color:var(--ant-color-primary-border);transform:translateY(-2px);box-shadow:0 14px 34px #122c4c1f}.wishlist-card:focus-visible{outline:3px solid var(--ant-color-primary-border);outline-offset:3px}.wishlist-card .ant-card-body{flex-direction:column;gap:10px;height:100%;padding:22px;display:flex}.wishlist-card__head,.wishlist-item-card__title{justify-content:space-between;align-items:center;gap:12px;display:flex}.wishlist-card__icon{background:color-mix(in srgb, var(--ant-color-primary) 12%, transparent);width:46px;height:46px;color:var(--ant-color-primary);border-radius:14px;place-items:center;font-size:22px;display:inline-grid}.wishlist-card h4.ant-typography{margin:6px 0 0;line-height:1.28}.wishlist-card__date{text-transform:capitalize}.wishlist-card__planning{gap:5px;margin-top:auto;display:grid}.wishlist-card__footer{border-top:1px solid var(--ant-color-border-secondary);color:var(--ant-color-primary);background:var(--ant-color-fill-quaternary);justify-content:space-between;align-items:center;gap:12px;margin:12px -22px -22px;padding:13px 22px;font-size:13px;font-weight:700;display:flex}.wishlist-card__footer .anticon{transition:transform .18s}.wishlist-card:hover .wishlist-card__footer .anticon,.wishlist-card:focus-visible .wishlist-card__footer .anticon{transform:translate(3px)}.wishlists-empty{padding-block:clamp(44px,9vw,96px)}.wishlist-detail{width:100%}.wishlist-detail__overview{border:1px solid var(--ant-color-border-secondary);background:var(--ant-color-fill-quaternary);border-radius:14px;gap:12px;padding:18px;display:grid}.wishlist-detail__overview .ant-typography{margin:0}.wishlist-detail__planning{border-top:1px solid var(--ant-color-border-secondary);flex-direction:column;align-items:flex-start;gap:3px;padding-top:12px;display:flex}.wishlist-items-grid{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.wishlist-item-card{border:1px solid var(--ant-color-border-secondary);background:var(--ant-color-bg-container);box-shadow:0 5px 18px color-mix(in srgb, var(--ant-color-text) 7%, transparent);border-radius:16px;grid-template-columns:180px minmax(0,1fr);display:grid;overflow:hidden}.wishlist-item-image{object-fit:cover;background:color-mix(in srgb, var(--ant-color-primary) 8%, var(--ant-color-bg-layout));width:100%;height:100%;min-height:230px;color:var(--ant-color-primary);place-items:center;font-size:38px;display:grid}.wishlist-item-card__body{gap:9px;padding:16px;display:grid}.wishlist-item-card__body>.ant-typography{margin:0}.wishlist-item-card__title>.ant-typography{overflow-wrap:anywhere;min-width:0}.wishlist-item-actions .ant-btn{min-height:42px}.wishlist-item-card__facts{min-height:28px}.wishlist-item-card__variant:before{content:"· "}.wishlist-item-note{background:var(--ant-color-fill-quaternary);border-radius:10px;gap:3px;padding:10px 12px;font-size:13px;display:grid}.wishlist-item-note .ant-typography{margin:0}.wishlist-item-note--private{border-left:3px solid var(--ant-color-primary-border)}.wishlist-detail__actions{border-top:1px solid var(--ant-color-border-secondary);width:100%;padding-top:4px}.wishlist-detail__actions .ant-btn{min-height:42px}.wishlist-form-grid{grid-template-columns:1fr 1fr;gap:0 14px;display:grid}.wishlist-filter-controls{gap:20px;display:grid}.wishlist-filter-controls>label{gap:8px;display:grid}.wishlist-filter-controls .ant-select{width:100%}.wishlist-filter-switch{background:var(--ant-color-fill-quaternary);border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:14px;display:flex}.wishlist-filter-switch>div{gap:3px;display:grid}.wishlist-filter-drawer__footer{justify-content:flex-end;gap:10px;display:flex}.wishlist-editor-drawer .ant-drawer-body{padding-bottom:calc(28px + env(safe-area-inset-bottom))}.wishlist-detail-drawer .ant-drawer-extra .ant-btn{min-width:44px;height:44px}.wishlist-widget-list{gap:6px;display:grid}.wishlist-widget-list button{min-height:52px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 9px;display:grid}.wishlist-widget-list button:hover,.wishlist-widget-list button:focus-visible{background:var(--ant-color-fill-quaternary)}.wishlist-widget-list button>span{min-width:0;display:grid}.wishlist-widget-list small{color:var(--ant-color-text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width<=1100px){.wishlists-toolbar{grid-template-columns:auto minmax(220px,1fr) auto}.wishlists-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.wishlists-page{gap:16px;padding-bottom:18px}.wishlists-toolbar,.wishlists-grid,.wishlist-items-grid,.wishlist-form-grid{grid-template-columns:minmax(0,1fr)}.wishlists-toolbar>*,.wishlists-toolbar .ant-select,.wishlist-item-actions,.wishlist-item-actions .ant-btn{width:100%}.wishlist-card{min-height:260px}.wishlist-item-card{grid-template-columns:minmax(0,1fr)}.wishlist-item-image{height:180px;min-height:180px}.wishlist-item-actions,.wishlist-detail__actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.wishlist-detail__actions .ant-btn,.wishlist-item-actions .ant-btn{width:100%}.wishlist-detail-drawer .ant-drawer-extra .ant-btn{width:44px;padding-inline:0}.wishlist-filter-drawer .ant-drawer-content,.wishlist-filter-drawer .ant-drawer-section{border-radius:22px 22px 0 0}.wishlist-filter-drawer__footer .ant-btn{flex:1}}@media (prefers-reduced-motion:reduce){.wishlist-card,.wishlist-card__footer .anticon{transition:none}.wishlist-card:hover{transform:none}}.checklists-page{width:min(1180px,100%);margin:0 auto}.checklists-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.checklists-toolbar .ant-input-affix-wrapper{border-radius:12px;width:min(360px,100%);min-height:44px}.checklists-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.checklist-card{border-radius:18px;min-height:245px;box-shadow:0 6px 22px #122c4c12}.checklist-card[role=button]{cursor:pointer;transition:border-color .18s,box-shadow .18s,transform .18s}.checklist-card[role=button]:hover{border-color:color-mix(in srgb, var(--ant-color-primary) 32%, var(--ant-color-border));box-shadow:0 15px 32px color-mix(in srgb, var(--ant-color-text) 10%, transparent);transform:translateY(-3px)}.checklist-card[role=button]:focus-visible{outline:3px solid color-mix(in srgb, var(--ant-color-primary) 58%, transparent);outline-offset:3px}.checklist-card .ant-card-body{flex-direction:column;height:100%;padding:22px;display:flex}.checklist-card__head{justify-content:space-between;align-items:center;display:flex}.checklist-card__icon{width:46px;height:46px;color:var(--ant-color-primary);background:var(--ant-color-primary-bg);border-radius:14px;place-items:center;font-size:22px;display:inline-grid}.checklist-card h4.ant-typography{margin:18px 0 6px;line-height:1.28}.checklist-card .ant-progress{margin-top:12px}.checklist-card__secondary-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.checklist-card__cta{border-top:1px solid var(--ant-color-border-secondary);background:var(--ant-color-fill-quaternary);color:var(--ant-color-primary);cursor:pointer;border-radius:0 0 18px 18px;justify-content:space-between;align-items:center;gap:12px;margin:auto -22px -22px;padding:13px 22px;font-size:13px;font-weight:700;display:flex}.checklist-card__cta .anticon{transition:transform .18s}.checklist-card__cta:hover .anticon,.checklist-card__cta:focus-visible .anticon{transform:translate(3px)}.checklist-card__cta:focus-visible{outline:3px solid color-mix(in srgb, var(--ant-color-primary) 58%, transparent);outline-offset:-3px}.checklists-empty{padding-block:clamp(44px,9vw,96px)}.checklists-date,.checklist-detail{width:100%}.checklist-section{border-top:1px solid var(--ant-color-border-secondary);gap:8px;padding:8px 0;display:grid}.checklist-item{cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:52px;padding:8px 2px;display:grid}.checklist-item-row{border:1px solid var(--ant-color-border-secondary);background:var(--ant-color-bg-container);border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:2px 14px 2px 4px;transition:background-color .18s,border-color .18s;display:grid}.checklist-item-row.is-done{background:var(--ant-color-fill-quaternary);border-color:#0000}.checklist-item span{flex-direction:column;display:flex}.checklist-item small{color:var(--ant-color-text-secondary)}.checklist-item.is-done strong{color:var(--ant-color-text-tertiary);text-decoration:line-through}.checklist-add-item{grid-template-columns:minmax(0,1fr) auto auto;gap:8px;display:grid}.checklist-add-item .ant-form-item{margin:0}.checklist-widget-list{gap:8px;display:grid}.checklist-widget-list button{width:100%;min-height:48px;color:inherit;background:var(--ant-color-fill-quaternary);text-align:left;cursor:pointer;border:0;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:8px;display:flex}.checklist-widget-list button span{flex-direction:column;display:flex}.checklist-widget-list small{color:var(--ant-color-text-secondary)}.checklist-quick-widget{flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:130px;display:flex}@media (width<=1024px){.checklists-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.checklists-toolbar{flex-direction:column;align-items:stretch;margin-bottom:16px}.checklists-toolbar .ant-input-affix-wrapper{width:100%}.checklists-toolbar .ant-segmented-group{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.checklists-toolbar .ant-segmented-item-label{text-overflow:ellipsis;overflow:hidden}.checklists-grid{grid-template-columns:1fr;gap:12px}.checklist-card{border-radius:16px;min-height:210px}.checklist-add-item{grid-template-columns:1fr}.checklist-add-item .ant-btn{width:100%}}@media (prefers-reduced-motion:reduce){.checklist-card[role=button]{transition:none}.checklist-card[role=button]:hover{transform:none}}.meal-planner-page{width:100%;min-width:0;padding-bottom:32px}.meal-planner-toolbar{border-radius:18px;margin-bottom:20px}.meal-planner-toolbar .ant-card-body{grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:20px;display:grid}.meal-planner-toolbar h3{margin:0!important}.meal-planner-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;min-width:0;max-width:100%;padding-bottom:10px;display:grid}.meal-planner-grid.is-compact{display:block}.meal-planner-grid.is-compact .meal-planner-day{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.meal-planner-grid.is-compact .meal-planner-day>header{grid-column:1/-1}.meal-planner-grid.is-compact .meal-slot{margin-bottom:0}.meal-planner-day{border:1px solid var(--ant-color-border-secondary);background:var(--ant-color-bg-container);scroll-snap-align:start;border-radius:18px;min-width:0;padding:12px;box-shadow:0 7px 22px #1422380d}@media (width>=1200px){.meal-planner-day{padding:7px}.meal-slot{padding:5px}.meal-slot__header{gap:2px}.meal-slot__header>.ant-typography{white-space:nowrap;font-size:12px}.meal-slot__header .ant-btn{width:24px;min-width:24px;height:24px}.meal-slot__empty{font-size:12px}}.meal-planner-day>header{text-transform:capitalize;justify-content:space-between;align-items:baseline;padding:4px 4px 12px;display:flex}.meal-planner-day>header h3{color:#0057c2;margin:0!important}.meal-slot{background:var(--ant-color-bg-layout);border-radius:13px;min-height:118px;margin-bottom:12px;padding:9px}.meal-slot__header,.meal-entry__topline,.meal-entry__actions{justify-content:space-between;align-items:center;gap:8px;display:flex}.meal-slot__header{min-height:32px;margin-bottom:7px}.meal-slot__empty{border:1px dashed var(--ant-color-border);width:100%;min-height:60px;color:var(--ant-color-text-secondary);cursor:pointer;background:0 0;border-radius:10px}.meal-slot__empty:hover,.meal-slot__empty:focus-visible{color:#0057c2;border-color:#0057c2}.meal-entry{cursor:grab;border-left:4px solid #1677ff;margin-bottom:8px}.meal-entry.is-prepared{border-left-color:#3f9b65}.meal-entry.is-skipped{opacity:.78;border-left-color:#8a94a6}.meal-entry .ant-card-body{padding:10px}.meal-entry .ant-typography{overflow-wrap:anywhere}.meal-entry .ant-typography-secondary{font-size:12px;margin:8px 0 0!important}.meal-entry__actions{margin-top:6px}.meal-planner-skeleton{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.meal-form-row{grid-template-columns:1fr 1fr;width:100%;display:grid!important}.meal-form-row>.ant-space-item,.meal-form-row .ant-picker,.meal-form-row .ant-select,.meal-form-row .ant-input-number{width:100%}.meal-shopping-target{width:100%;margin-bottom:20px}.meal-shopping-review{gap:10px;width:100%;display:grid}.meal-shopping-review>label{border:1px solid var(--ant-color-border-secondary);border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;padding:10px 12px;display:grid}.meal-shopping-review small,.meal-widget-list small{color:var(--ant-color-text-secondary);display:block}.meal-slot-settings{gap:12px;margin-top:18px;display:grid}.meal-slot-settings .ant-form-item:last-of-type{margin-bottom:8px}.meal-widget-list{gap:8px;display:grid}.meal-widget-list button{border:0;border-bottom:1px solid var(--ant-color-border-secondary);width:100%;min-height:46px;color:inherit;text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;padding:6px 0;display:flex}.meal-next-widget,.meal-missing-widget{text-align:center;place-items:center;min-height:150px;display:grid}.meal-next-widget>.anticon,.meal-missing-widget>.anticon{color:#0057c2;font-size:28px}.meal-next-widget h4,.meal-missing-widget h1{margin:8px 0 0!important}.meal-week-widget{width:100%}.meal-planner-day-strip{touch-action:pan-y;scrollbar-width:none;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin:0 -4px 18px;display:grid}.meal-planner-day-strip__cell{min-width:0;position:relative}.meal-planner-day-strip__day{border:1px solid var(--ant-color-border-secondary);background:var(--ant-color-bg-container);width:100%;min-width:0;min-height:66px;color:var(--ant-color-text-secondary);border-radius:15px}.meal-planner-day-strip__day span,.meal-planner-day-strip__day strong{text-transform:capitalize;display:block}.meal-planner-day-strip__day strong{color:var(--ant-color-text);margin-top:4px;font-size:20px}.meal-planner-day-strip__day.is-active{color:#fff;background:#0877f9;border-color:#0877f9}.meal-planner-day-strip__day.is-active strong{color:#fff}.meal-planner-day-strip__day:focus-visible{outline:3px solid color-mix(in srgb, var(--ant-color-primary) 58%, transparent);outline-offset:2px}.meal-planner-day-strip__nav{z-index:2;border:1px solid var(--ant-color-border);background:var(--ant-color-bg-container);width:22px;height:22px;color:var(--ant-color-primary);border-radius:50%;place-items:center;font-size:10px;display:grid;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 6px #001b3d33}.dark-theme .meal-planner-day-strip__nav{color:#91caff;background:#1677ff38;border-color:#91caff59}.meal-planner-day-strip__nav--prev{left:-8px}.meal-planner-day-strip__nav--next{right:-8px}.meal-week-actions-sheet .mobile-action-sheet__logout{margin-top:12px}@media (width<=767px){.meal-planner-page{padding-bottom:94px}.meal-planner-toolbar .ant-card-body{grid-template-columns:1fr;gap:12px}.meal-planner-toolbar .ant-card-body>.ant-space:nth-child(2){justify-content:center}.meal-planner-grid,.meal-planner-grid.is-compact{display:block;overflow:visible}.meal-planner-grid.is-compact .meal-planner-day{grid-template-columns:1fr}.meal-planner-day{padding:14px}.meal-slot{min-height:122px}.meal-entry{cursor:default}.meal-form-row,.meal-planner-skeleton{grid-template-columns:1fr}.meal-planner-day-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.meal-planner-day-strip__day{min-width:0;padding-inline:2px;font-size:11px}}.recipes-page{width:100%;min-width:0;padding-bottom:28px}.recipes-toolbar{margin-bottom:20px}.recipes-toolbar .ant-card-body{grid-template-columns:minmax(220px,1fr) 180px auto;align-items:center;gap:12px;display:grid}.recipes-toolbar .ant-segmented{width:100%}.recipes-toolbar .ant-segmented-item{text-align:center;flex:1}.recipes-empty{place-items:center;min-height:340px;display:grid}.recipe-card{border-radius:16px;height:100%;transition:border-color .18s,box-shadow .18s,transform .18s;overflow:hidden}.recipe-card:hover{border-color:color-mix(in srgb, var(--ant-color-primary) 32%, var(--ant-color-border));box-shadow:0 16px 34px color-mix(in srgb, var(--ant-color-text) 10%, transparent);transform:translateY(-3px)}.recipe-card:focus-visible{outline:3px solid color-mix(in srgb, var(--ant-color-primary) 58%, transparent);outline-offset:3px}.recipe-card .ant-card-cover{height:190px;overflow:hidden}.recipe-card .ant-card-body{flex-direction:column;min-height:180px;display:flex}.recipe-card .ant-card-body>.ant-typography{flex:1}.recipe-card__image{object-fit:cover;width:100%!important;height:190px!important}.recipe-card .ant-card-cover .recipe-card__placeholder{height:190px;text-shadow:0 8px 20px color-mix(in srgb, var(--ant-color-text) 14%, transparent);background:linear-gradient(135deg, color-mix(in srgb, #0057c2 12%, var(--ant-color-bg-container)), var(--ant-color-bg-layout));place-items:center;font-size:64px;display:grid}.recipe-card__heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.recipe-card__heading h4{margin:0 0 8px!important}.recipe-heart{color:#d92d20;font-size:20px}.recipe-detail>.recipe-card__image{border-radius:16px;margin-bottom:18px;height:280px!important}.recipe-ingredients-list{gap:10px;margin:8px 0 20px;padding:0;list-style:none;display:grid}.recipe-ingredients-list li{border-bottom:1px solid var(--ant-color-border-secondary);justify-content:space-between;align-items:center;min-height:40px;padding:8px 0;display:flex}.recipe-step{grid-template-columns:34px minmax(0,1fr);gap:12px;margin-bottom:14px;display:grid}.recipe-step>span{color:#fff;background:#0057c2;border-radius:50%;place-items:center;width:30px;height:30px;font-weight:700;display:grid}.recipe-detail__actions{margin-top:24px}.recipe-form-list{width:100%;margin-bottom:24px;display:flex!important}.recipe-form-list>.ant-space-item{width:100%}.recipe-form-ingredient{grid-template-columns:96px 112px minmax(0,1fr) 40px;align-items:start;gap:8px;display:grid}.recipe-form-ingredient .ant-form-item{min-width:0}.recipe-form-list__remove{min-width:40px;min-height:40px}.recipe-form-step{grid-template-columns:24px minmax(0,1fr) 40px;width:100%;display:grid!important}.recipe-form-step .ant-form-item{width:100%}.recipe-widget__item{cursor:pointer}@media (width<=767px){.recipes-page{padding-bottom:92px}.recipes-toolbar .ant-card-body{grid-template-columns:1fr}.recipe-card .ant-card-cover,.recipe-card__image,.recipe-card .ant-card-cover .recipe-card__placeholder{height:165px!important}.recipe-form .ant-row>.ant-col{flex:0 0 100%;max-width:100%}.recipe-form-ingredient{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 40px;width:100%;display:grid;gap:6px!important}.recipe-form-ingredient__name{grid-area:2/1/auto/-1}.recipe-form-ingredient .recipe-form-list__remove{grid-area:1/3}.recipe-form-step{grid-template-columns:24px minmax(0,1fr) 40px}.recipe-form-list .ant-form-item{margin-bottom:10px}}@media (prefers-reduced-motion:reduce){.recipe-card{transition:none}.recipe-card:hover{transform:none}}.shopping-page{width:100%;min-width:0}.shopping-collection{gap:20px;display:grid}.shopping-collection__heading{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.shopping-collection__heading h3{margin:0 0 3px!important}.shopping-list-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.shopping-list-grid__item{min-width:0}.shopping-list-card,.shopping-detail-header{--shopping-accent:#1677ff;--shopping-accent-soft:color-mix(in srgb, #1677ff 13%, var(--ant-color-bg-container))}.shopping-list-card.is-green,.shopping-detail-header.is-green{--shopping-accent:#389e0d;--shopping-accent-soft:color-mix(in srgb, #389e0d 13%, var(--ant-color-bg-container))}.shopping-list-card.is-gold,.shopping-detail-header.is-gold{--shopping-accent:#d48806;--shopping-accent-soft:color-mix(in srgb, #d48806 13%, var(--ant-color-bg-container))}.shopping-list-card.is-orange,.shopping-detail-header.is-orange{--shopping-accent:#d46b08;--shopping-accent-soft:color-mix(in srgb, #d46b08 13%, var(--ant-color-bg-container))}.shopping-list-card.is-purple,.shopping-detail-header.is-purple{--shopping-accent:#722ed1;--shopping-accent-soft:color-mix(in srgb, #722ed1 13%, var(--ant-color-bg-container))}.shopping-list-card.is-red,.shopping-detail-header.is-red{--shopping-accent:#cf1322;--shopping-accent-soft:color-mix(in srgb, #cf1322 13%, var(--ant-color-bg-container))}.shopping-list-card{border:1px solid var(--ant-color-border-secondary);background:radial-gradient(circle at 92% 4%, var(--shopping-accent-soft), transparent 34%), var(--ant-color-bg-container);width:100%;min-height:244px;box-shadow:0 10px 26px color-mix(in srgb, var(--ant-color-text) 7%, transparent);color:var(--ant-color-text);text-align:left;cursor:pointer;border-radius:20px;flex-direction:column;padding:22px;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden}.shopping-list-card:before{content:"";background:var(--shopping-accent);width:5px;position:absolute;inset:0 auto 0 0}.shopping-list-card:hover{border-color:color-mix(in srgb, var(--shopping-accent) 55%, var(--ant-color-border));box-shadow:0 16px 34px color-mix(in srgb, var(--shopping-accent) 15%, transparent);transform:translateY(-3px)}.shopping-list-card:focus-visible{outline:3px solid color-mix(in srgb, var(--shopping-accent) 58%, transparent);outline-offset:3px}.shopping-list-card.is-archived{filter:saturate(.65)}.shopping-list-card__topline,.shopping-list-card__footer,.shopping-list-card__destination{align-items:center;display:flex}.shopping-list-card__topline{justify-content:space-between;gap:12px}.shopping-list-card__icon{background:var(--shopping-accent);width:48px;height:48px;box-shadow:0 7px 18px color-mix(in srgb, var(--shopping-accent) 28%, transparent);color:#fff;border-radius:15px;flex:0 0 48px;place-items:center;font-size:22px;display:grid}.shopping-list-card__badges{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.shopping-list-card__badges .ant-tag{margin:0}.shopping-list-card__body{gap:5px;margin:24px 0 18px;display:grid}.shopping-list-card__body strong{color:var(--ant-color-text-heading);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:20px;line-height:1.28;display:-webkit-box;overflow:hidden}.shopping-list-card__body>span{color:var(--ant-color-text-secondary)}.shopping-list-card__progress{background:var(--ant-color-fill-secondary);border-radius:999px;height:7px;display:block;overflow:hidden}.shopping-list-card__progress>span{border-radius:inherit;background:var(--shopping-accent);height:100%;display:block}.shopping-list-card__footer{color:var(--ant-color-text-secondary);justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px;font-size:12px}.shopping-list-card__destination{color:var(--ant-color-text);flex:none;gap:7px}.shopping-empty-state{border-radius:20px;place-items:center;min-height:320px;display:grid}.shopping-empty-state .ant-card-body{width:100%}.shopping-list-content,.shopping-widget{min-width:0}.shopping-list-content{gap:12px;max-width:980px;margin:0 auto;display:grid}.shopping-detail-header{border:1px solid color-mix(in srgb, var(--shopping-accent) 24%, var(--ant-color-border));background:linear-gradient(100deg, var(--shopping-accent-soft), transparent 48%), var(--ant-color-bg-container);border-radius:18px;grid-template-columns:auto auto minmax(0,1fr) auto auto;align-items:center;gap:12px;min-height:84px;padding:12px 14px;display:grid}.shopping-detail-header__back,.shopping-detail-header__options{border-radius:11px;min-height:42px}.shopping-detail-header__icon{background:var(--shopping-accent);color:#fff;border-radius:14px;place-items:center;width:46px;height:46px;font-size:20px;display:grid}.shopping-detail-header__copy{min-width:0}.shopping-detail-header__copy h2{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;margin:0 0 1px!important;font-size:22px!important;line-height:1.25!important}.shopping-detail-header__copy>span{color:var(--ant-color-text-secondary);align-items:center;gap:7px;font-size:13px;display:flex}.shopping-detail-header__copy .ant-tag{margin:0}.shopping-detail-header__progress{text-align:right;min-width:70px;display:grid}.shopping-detail-header__progress strong{color:var(--shopping-accent);font-size:20px;line-height:1}.shopping-detail-header__progress span{color:var(--ant-color-text-secondary);margin-top:3px;font-size:11px}.shopping-section-title,.shopping-widget__heading,.shopping-bulk-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.shopping-section-title h4{margin:0!important}.shopping-quick-add{border-color:color-mix(in srgb, #1677ff 30%, var(--ant-color-border));box-shadow:0 5px 16px color-mix(in srgb, var(--ant-color-text) 4%, transparent);border-radius:15px;margin:0}.shopping-quick-add .ant-card-body{padding:12px}.shopping-quick-add__row{grid-template-columns:minmax(0,1fr) auto auto;gap:8px;display:grid}.shopping-quick-add__details{grid-template-columns:minmax(120px,.45fr) minmax(180px,1fr);gap:8px;padding-top:9px;display:grid}.shopping-quick-add__row .ant-input,.shopping-quick-add__row .ant-btn,.shopping-quick-add__details .ant-input-number,.shopping-quick-add__details .ant-select{width:100%;min-height:44px}.shopping-quick-add__row .ant-btn.is-active{border-color:var(--ant-color-primary-border);background:var(--ant-color-primary-bg);color:var(--ant-color-primary)}.shopping-item-tools{grid-template-columns:minmax(260px,1fr) auto auto;gap:8px;display:grid}.shopping-item-tools .ant-btn{min-height:42px}.shopping-item-tools .ant-btn.is-active{border-color:var(--ant-color-primary-border);background:var(--ant-color-primary-bg);color:var(--ant-color-primary)}.shopping-item-tools__status{border:1px solid var(--ant-color-border-secondary);background:var(--ant-color-fill-quaternary);border-radius:11px;width:100%;padding:4px}.shopping-item-tools__status .ant-segmented-group,.shopping-item-tools__status .ant-segmented-item{width:100%}.shopping-filter-drawer__intro{line-height:1.55;margin-bottom:22px!important}.shopping-filter-drawer__field{gap:8px;display:grid}.shopping-filter-drawer__field+.shopping-filter-drawer__field{margin-top:18px}.shopping-filter-drawer__field .ant-input-affix-wrapper,.shopping-filter-drawer__field .ant-segmented{min-height:44px}.shopping-filter-drawer__field .ant-select{width:100%}.shopping-filter-drawer__field .ant-select-selector{min-height:44px!important}.shopping-filter-drawer__footer{grid-template-columns:1fr 1fr;gap:10px;display:grid}.shopping-filter-drawer__footer .ant-btn{border-radius:11px;min-height:46px}.shopping-actions-drawer__content{gap:10px;display:grid}.shopping-actions-drawer__content>.ant-btn{border-radius:12px;justify-content:flex-start;min-height:48px}.shopping-actions-drawer__identity{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:4px 2px 14px;display:grid}.shopping-actions-drawer__identity>span:last-child{gap:2px;min-width:0;display:grid}.shopping-actions-drawer__identity strong{color:var(--ant-color-text-heading);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shopping-actions-drawer__identity small{color:var(--ant-color-text-secondary)}.shopping-actions-drawer__icon{background:var(--ant-color-primary-bg);width:44px;height:44px;color:var(--ant-color-primary);border-radius:14px;place-items:center;font-size:20px;display:grid}.shopping-color-option{align-items:center;gap:8px;display:inline-flex}.shopping-color-option__swatch{background:var(--ant-color-primary);border-radius:50%;flex:0 0 12px;width:12px;height:12px}.shopping-color-option__swatch.is-green{background:#389e0d}.shopping-color-option__swatch.is-gold{background:#d48806}.shopping-color-option__swatch.is-orange{background:#d46b08}.shopping-color-option__swatch.is-purple{background:#722ed1}.shopping-color-option__swatch.is-red{background:#cf1322}.shopping-bulk-toolbar{z-index:3;background:var(--ant-color-bg-container);box-shadow:var(--ant-box-shadow-secondary);border-radius:12px;padding:8px 10px;position:sticky;top:76px}.shopping-bulk-toolbar .ant-typography{min-width:max-content}.shopping-section{border:1px solid var(--ant-color-border-secondary);background:var(--ant-color-bg-container);border-radius:16px;overflow:hidden}.shopping-items-empty{border-style:dashed;border-radius:16px;place-items:center;min-height:190px;display:grid}.shopping-section-title{border-bottom:1px solid var(--ant-color-border-secondary);min-height:42px;padding:8px 14px}.shopping-section-title h4{font-size:15px!important}.shopping-item-row{border-bottom:1px solid var(--ant-color-border-secondary);grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:6px;min-height:58px;padding:5px 10px;display:grid}.shopping-item-row:last-child{border-bottom:0}.shopping-item-actions{align-items:center;gap:2px;display:flex}.shopping-item-actions .ant-btn{width:40px;height:40px;padding:0}.shopping-item-delete,.shopping-item-delete:hover,.shopping-item-delete:focus-visible{color:var(--ant-color-error)!important}.shopping-item-check .ant-checkbox-inner{width:24px;height:24px}.shopping-item-select .ant-checkbox-inner{width:22px;height:22px}.shopping-item-main{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0}.shopping-item-main strong,.shopping-item-main span{overflow-wrap:anywhere;display:block}.shopping-item-main span{color:var(--ant-color-text-secondary);margin-top:1px;font-size:12px}.shopping-item-row.is-completed .shopping-item-main strong{text-decoration:line-through}.shopping-item-row.is-completed:after{content:"✓";width:1px;height:1px;position:absolute;overflow:hidden}.shopping-widget .ant-list-item{padding-inline:0}.shopping-count-widget{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0}@media (width<=991px){.shopping-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=767px){.shopping-page{padding-bottom:92px}.mobile-fab.ant-btn{z-index:29;right:18px;bottom:calc(86px + env(safe-area-inset-bottom));width:56px;min-width:56px;height:56px;box-shadow:0 12px 26px color-mix(in srgb, var(--ant-color-primary) 38%, transparent);border-radius:50%;place-items:center;padding:0;font-size:22px;transition:transform .15s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;display:grid;position:fixed}.mobile-fab.ant-btn:active{transform:scale(.94)}.mobile-fab-secondary.ant-btn{z-index:29;left:18px;bottom:calc(86px + env(safe-area-inset-bottom));border:1px solid var(--ant-color-border-secondary);background:var(--ant-color-bg-container);width:50px;min-width:50px;height:50px;color:var(--ant-color-text);border-radius:50%;place-items:center;padding:0;font-size:18px;transition:transform .15s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;display:grid;position:fixed;box-shadow:0 10px 24px #001b3d2e}.mobile-fab-secondary.ant-btn:active{transform:scale(.94)}.mobile-filter-sheet__body{flex-direction:column;gap:12px;display:flex}.mobile-filter-sheet__body .ant-segmented{width:100%}.mobile-filter-sheet__body .ant-segmented-item{text-align:center;flex:1}.shopping-collection{gap:16px}.shopping-list-grid{grid-template-columns:minmax(0,1fr);gap:14px}.shopping-list-card{border-radius:18px;min-height:220px;padding:19px}.shopping-list-card__body{margin:20px 0 16px}.shopping-list-content{gap:10px}.shopping-detail-header{border-radius:15px;grid-template-columns:40px minmax(0,1fr) auto 40px;gap:7px;min-height:70px;padding:8px}.shopping-detail-header__back,.shopping-detail-header__options{width:40px;min-height:40px;padding:0}.shopping-detail-header__back>span:not(.ant-btn-icon),.shopping-detail-header__options>span:not(.ant-btn-icon),.shopping-detail-header__icon{display:none}.shopping-detail-header__copy h2{font-size:18px!important}.shopping-detail-header__copy>span{font-size:12px}.shopping-detail-header__progress{min-width:43px}.shopping-detail-header__progress strong{font-size:17px}.shopping-detail-header__progress span{display:none}.shopping-quick-add .ant-card-body{padding:9px}.shopping-quick-add__row{grid-template-columns:minmax(0,1fr) 42px 44px;gap:6px}.shopping-quick-add__row .ant-btn{padding-inline:0}.shopping-quick-add__details{grid-template-columns:minmax(88px,.45fr) minmax(0,1fr);gap:6px;padding-top:7px}.shopping-item-tools{grid-template-columns:minmax(0,1fr) 42px 42px;gap:6px}.shopping-item-tools .ant-btn{width:42px;padding-inline:0}.shopping-item-tools__status{min-width:0;padding:3px}.shopping-item-tools__status .ant-segmented-item-label{min-height:32px;padding-inline:5px;line-height:32px}.shopping-item-row{grid-template-columns:34px minmax(0,1fr) auto;min-height:58px;padding-inline:8px}.shopping-item-actions .ant-btn{width:36px;height:40px}.shopping-bulk-toolbar{gap:6px;top:66px;overflow:hidden}.shopping-bulk-toolbar .ant-btn{min-width:38px;padding-inline:8px}.shopping-filter-drawer .ant-drawer-content,.shopping-filter-drawer .ant-drawer-section,.shopping-actions-drawer .ant-drawer-content,.shopping-actions-drawer .ant-drawer-section{border-radius:22px 22px 0 0}.shopping-filter-drawer .ant-drawer-footer,.shopping-actions-drawer .ant-drawer-body{padding-bottom:calc(12px + env(safe-area-inset-bottom));background:var(--ant-color-bg-container)}}@media (prefers-reduced-motion:reduce){.shopping-list-card{transition:none}.shopping-list-card:hover{transform:none}}body{background:var(--ant-color-bg-layout);margin:0}.app-shell{background:var(--ant-color-bg-layout);min-height:100dvh}.app-sidebar{z-index:20;border-right:1px solid var(--ant-color-border-secondary);height:100dvh;top:0;background:var(--ant-color-bg-container)!important;position:sticky!important}.app-sidebar .ant-layout-sider-children{flex-direction:column;display:flex}.app-brand,.app-mobile-brand{color:var(--ant-color-primary);letter-spacing:-.025em;align-items:center;gap:10px;font-weight:750;display:inline-flex}.app-brand{justify-content:flex-start;width:calc(100% - 28px);height:60px;margin:10px 14px 22px;padding-inline:2px;font-size:22px}.app-brand__mark,.app-mobile-brand img{flex:none;width:40px;height:40px}.app-navigation{background:0 0;flex:1;padding-inline:14px;border-inline-end:0!important}.app-navigation .ant-menu-item{height:46px;color:var(--ant-color-text-secondary);border-radius:10px;margin-block:3px;font-size:14px;font-weight:600;line-height:46px;position:relative}.app-navigation .ant-menu-item .anticon{font-size:18px}.app-navigation .ant-menu-item-selected{font-weight:700;background:var(--ant-color-primary-bg)!important;color:var(--ant-color-primary-text)!important}.app-navigation .ant-menu-item-selected .anticon{color:var(--ant-color-primary)!important}.app-navigation .ant-menu-item-selected:before{background:var(--ant-color-primary);content:"";border-radius:999px;width:3px;position:absolute;top:11px;bottom:11px;left:0}.dark-theme .app-brand,.dark-theme .app-mobile-brand,.dark-theme .app-mobile-brand span,.dark-theme .app-navigation .ant-menu-item-selected,.dark-theme .app-bottom-navigation .ant-btn.is-active{color:#91caff!important}.dark-theme .app-navigation .ant-menu-item-selected{background:#1677ff2e!important}.dark-theme .app-navigation .ant-menu-item-selected .anticon,.dark-theme .app-navigation .ant-menu-item-selected:before,.dark-theme .app-bottom-navigation .ant-btn.is-active .ant-btn-icon{color:#69b1ff!important}.dark-theme .app-navigation .ant-menu-item-selected:before{background:#3c89e8}.dark-theme .app-bottom-navigation .ant-btn.is-active .ant-btn-icon{background:#1677ff24;border-color:#69b1ff47;color:#91caff!important}.dark-theme .app-bottom-navigation{border-color:color-mix(in srgb, #69b1ff 10%, var(--ant-color-border));background:linear-gradient(155deg, color-mix(in srgb, var(--ant-color-bg-container) 96%, #18202d), color-mix(in srgb, var(--ant-color-bg-layout) 96%, #111a27));box-shadow:0 18px 42px #0000005c,0 4px 14px #00000038,inset 0 1px #ffffff1a}.family-workspace-context{border:1px solid var(--ant-color-border-secondary);background:var(--ant-color-bg-container);border-radius:12px;align-items:center;gap:12px;width:calc(100% - 28px);margin:-8px 14px 10px;padding:12px;display:flex}.family-workspace-context .ant-avatar{background:var(--ant-color-primary);color:#fff;flex:none;font-weight:700}.family-workspace-context .ant-typography{min-width:0;margin:0}.app-workspace-back{width:calc(100% - 28px);height:40px;color:var(--ant-color-text-secondary);justify-content:flex-start;margin:0 14px 12px;padding-inline:12px;font-size:13px;font-weight:600}.app-navigation__eyebrow{color:var(--ant-color-text-tertiary);letter-spacing:.08em;text-transform:uppercase;margin:8px 26px 5px;font-size:11px;font-weight:750;display:block}.app-sidebar-account{border:1px solid var(--ant-color-border-secondary);background:var(--ant-color-bg-container);text-align:left;border-radius:12px;justify-content:flex-start;align-items:center;gap:10px;width:calc(100% - 28px);height:64px;margin:auto 14px 14px;padding:8px 10px;display:flex}.app-sidebar-account:hover,.app-sidebar-account[aria-expanded=true]{border-color:color-mix(in srgb, var(--ant-color-primary) 35%, var(--ant-color-border));background:var(--ant-color-fill-quaternary)!important}.app-sidebar-account .ant-avatar{background:var(--ant-color-primary);color:#fff;flex:none;font-size:12px;font-weight:750}.app-sidebar-account__identity{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.app-sidebar-account__identity strong,.app-sidebar-account__identity small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-sidebar-account__identity strong{color:var(--ant-color-text);font-size:13px}.app-sidebar-account__identity small{color:var(--ant-color-text-tertiary);margin-top:3px;font-size:11px}.app-sidebar-account__chevron{color:var(--ant-color-text-tertiary);flex:none;font-size:10px}.app-main{background:var(--ant-color-bg-layout);min-width:0}.app-top-navigation{z-index:15;position:sticky;top:0}.branch-environment-banner{min-width:0;min-height:30px;padding:5px max(16px, env(safe-area-inset-right)) 5px max(16px, env(safe-area-inset-left));color:#fff;background:var(--branch-environment-color,#1d4ed8);justify-content:center;align-items:center;gap:8px;font-size:12px;line-height:20px;display:flex;box-shadow:inset 0 -1px #00000024}.branch-environment-banner strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.app-header{border-bottom:1px solid color-mix(in srgb, var(--ant-color-border-secondary) 78%, transparent);background:color-mix(in srgb, var(--ant-color-bg-container) 96%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);justify-content:flex-end;align-items:center;height:68px;padding:0 clamp(20px,3vw,44px);display:flex}.app-mobile-brand{display:none}.app-header__tools{align-items:center;gap:8px;display:flex}.family-selector{border-color:color-mix(in srgb, var(--ant-color-primary) 24%, transparent);background:var(--ant-color-primary-bg);border-radius:999px;justify-content:flex-start;align-items:center;gap:9px;min-width:0;max-width:260px;height:44px;padding-inline:7px 14px;transition:transform .15s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;display:flex;box-shadow:0 1px 2px #001b3d0f}.family-selector:active{transform:scale(.97)}.family-selector>.anticon:last-child{color:var(--ant-color-primary);font-size:11px}.family-selector__label,.family-selector__item-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.family-selector__label{text-align:left;color:var(--ant-color-text);flex:1;font-weight:700}.invitations-trigger{width:40px;height:40px;color:var(--ant-color-text-secondary);border-radius:10px;font-size:20px}.family-avatar{background:var(--ant-color-primary);color:#fff;flex:none;font-weight:700;box-shadow:0 2px 8px #00286424}.app-content{padding:clamp(32px,3vw,48px) clamp(24px,4vw,56px)}.app-content__inner{width:min(1220px,100%);margin:0 auto}.page-header{margin-bottom:34px}.page-header .ant-typography{margin-bottom:4px}.page-header h2.ant-typography{letter-spacing:-.02em;font-size:clamp(32px,3vw,40px);font-weight:700;line-height:1.2}.mobile-page-title{display:none}@media (width<=767px){.page-header:not(.family-workspace-page-header),.family-workspace-page-header__titles{display:none}.mobile-page-title{color:var(--ant-color-text-secondary);letter-spacing:-.005em;text-overflow:ellipsis;white-space:nowrap;margin:0 0 10px;font-size:15px;font-weight:650;display:block;overflow:hidden}}.app-bottom-navigation{display:none}.app-user-dropdown .ant-dropdown-menu,.family-selector-dropdown .ant-dropdown-menu{border:1px solid var(--ant-color-border-secondary);border-radius:14px;min-width:240px;padding:8px;box-shadow:0 16px 40px #001b3d29}.app-user-dropdown .ant-dropdown-menu-item,.family-selector-dropdown .ant-dropdown-menu-item{border-radius:9px;min-height:42px}.app-user-dropdown .ant-dropdown-menu-item-group-title,.family-selector-dropdown .ant-dropdown-menu-item-group-title{color:var(--ant-color-text-tertiary);letter-spacing:.07em;text-transform:uppercase;padding:9px 12px 4px;font-size:11px;font-weight:750}.family-selector-dropdown .ant-dropdown-menu-item-group-list{max-height:min(320px,50vh);overflow-y:auto}.swipeable-sheet{z-index:1050;position:fixed;inset:0}.swipeable-sheet__backdrop{background:#001b3d73;transition:opacity .32s;position:absolute;inset:0}.swipeable-sheet__panel{background:var(--ant-color-bg-container);will-change:transform;border-radius:22px 22px 0 0;flex-direction:column;min-height:0;max-height:min(84dvh,720px);display:flex;position:absolute;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -18px 48px #001b3d38}.swipeable-sheet__grabber-zone{touch-action:none;flex:none}.swipeable-sheet__grabber{background:var(--ant-color-fill-secondary);border-radius:999px;width:38px;height:4px;margin:8px auto 0;display:block}.swipeable-sheet__header{align-items:center;min-height:54px;padding:14px 20px 8px;display:flex}.swipeable-sheet__title{letter-spacing:-.015em;font-size:20px;font-weight:750}.swipeable-sheet__body{min-height:0;padding:8px 16px calc(18px + env(safe-area-inset-bottom));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}@media (prefers-reduced-motion:reduce){.swipeable-sheet__panel,.swipeable-sheet__backdrop{transition-duration:1ms!important}}.mobile-action-sheet__profile{border:1px solid var(--ant-color-border-secondary);background:var(--ant-color-fill-quaternary);border-radius:14px;align-items:center;gap:12px;margin-bottom:18px;padding:12px;display:flex}.mobile-action-sheet__profile .ant-avatar{background:var(--ant-color-primary);color:#fff;flex:none;font-weight:750}.mobile-action-sheet__profile>span{flex-direction:column;min-width:0;display:flex}.mobile-action-sheet__profile strong,.mobile-action-sheet__profile small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mobile-action-sheet__profile small{color:var(--ant-color-text-secondary);margin-top:2px}.mobile-action-sheet__section{margin-top:18px}.mobile-action-sheet__section:first-child{margin-top:0}.mobile-action-sheet__eyebrow{color:var(--ant-color-text-tertiary);letter-spacing:.08em;text-transform:uppercase;margin:0 4px 7px;font-size:11px;font-weight:750;display:block}.mobile-action-sheet__list{border:1px solid var(--ant-color-border-secondary);background:var(--ant-color-bg-container);border-radius:14px;overflow:hidden}.mobile-action-sheet__list .ant-btn{width:100%;min-height:54px;color:var(--ant-color-text);text-align:left;border-radius:0;justify-content:flex-start;align-items:center;gap:12px;padding:8px 14px;font-size:15px;display:flex}.mobile-action-sheet__list .ant-btn:not(:last-child){border-bottom:1px solid var(--ant-color-border-secondary)}.mobile-action-sheet__list .ant-btn>.anticon:first-child{width:24px;color:var(--ant-color-primary);font-size:18px}.mobile-action-sheet__list .ant-btn>span:not(.anticon){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mobile-action-sheet__trailing{flex:none;margin-left:auto;color:var(--ant-color-text-tertiary)!important;font-size:12px!important}.mobile-action-sheet__logout{border:1px solid color-mix(in srgb, var(--ant-color-error) 22%, transparent);background:color-mix(in srgb, var(--ant-color-error) 7%, transparent);border-radius:14px;justify-content:flex-start;min-height:52px;margin-top:18px;font-weight:650}.family-selector-sheet__families .ant-btn.is-current{background:var(--ant-color-primary-bg);color:var(--ant-color-primary-text);font-weight:700}.family-selector-sheet__families .family-avatar{border-width:0}.family-selector-sheet__empty{min-height:72px;color:var(--ant-color-text-secondary);align-items:center;gap:12px;padding:14px;display:flex}.family-selector-sheet__empty .anticon{color:var(--ant-color-primary);font-size:22px}.family-selector-sheet__actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;display:grid}.family-selector-sheet__actions .ant-btn{border-radius:12px;min-height:48px}.app-bottom-navigation .ant-btn:focus-visible{outline-offset:-2px;outline-width:2px}.dark-theme .family-selector-sheet__families .ant-btn.is-current{color:#91caff;background:#1677ff2e}@media (width<=480px){.family-selector-sheet__actions{grid-template-columns:1fr}}.app-brand:focus-visible,.app-mobile-brand:focus-visible,.app-workspace-back:focus-visible,.app-sidebar-account:focus-visible,.family-selector:focus-visible,.invitations-trigger:focus-visible,.app-bottom-navigation .ant-btn:focus-visible{outline:3px solid color-mix(in srgb, var(--ant-color-primary) 38%, transparent);outline-offset:2px}.full-page-loader{place-items:center;min-height:100dvh;display:grid}.login-page{min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));background:radial-gradient(circle at 14% 18%,#ffffff42,#0000 22rem),linear-gradient(145deg,#00377c 0%,#0057c2 52%,#3c8df0 100%);place-items:center;display:grid}.login-card{border:1px solid #ffffff38;border-radius:18px;width:min(440px,100%);box-shadow:0 24px 64px #0019414d}.login-card .ant-card-body{padding:clamp(28px,7vw,44px)}.login-card__content{width:100%}.login-card__heading{text-align:center}.login-card__heading h2{margin:10px 0 4px}.login-card__brand{color:var(--ant-color-primary);letter-spacing:.12em;text-transform:uppercase;font-size:13px;font-weight:700}.login-card__logo{width:56px;height:56px;margin:0 auto 4px}.login-card__submit{height:46px;margin-top:4px;font-weight:650}.register-card{width:min(560px,100%)}.register-card__name-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.login-card__switch{text-align:center;margin-top:22px}.dashboard-card{border-color:var(--ant-color-border-secondary);border-radius:16px;height:100%;box-shadow:0 6px 20px #14223812}.dashboard-card .ant-card-body{flex-direction:column;align-items:flex-start;min-height:238px;display:flex}.dashboard-card .ant-typography{margin-bottom:12px}.dashboard-card .ant-btn{margin-top:auto}.dashboard-card__icon{background:var(--ant-color-primary-bg);width:44px;height:44px;color:var(--ant-color-primary);border-radius:14px;place-items:center;margin-bottom:22px;font-size:20px;display:grid}.profile-summary{text-align:center;width:100%;margin-bottom:28px}.profile-summary .ant-typography,.family-form__avatar-row .ant-typography{margin-bottom:0}.scope-options{gap:10px;display:grid}.api-key-secret{width:100%}.families-page{gap:24px;width:min(1180px,100%);display:grid}.families-page__toolbar{justify-content:space-between;align-items:center;gap:16px;min-height:46px;display:flex}.families-page__count{font-size:14px;font-weight:600}.families-page__toolbar .ant-btn{min-height:46px;box-shadow:0 8px 20px color-mix(in srgb, var(--ant-color-primary) 24%, transparent);border-radius:12px;margin-inline-start:auto;padding-inline:20px;font-weight:650}.families-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.families-empty{border-color:var(--ant-color-border-secondary);background:var(--ant-color-bg-container);border-radius:16px;padding-block:64px;box-shadow:0 6px 20px #1422380f}.family-card{--family-card-accent:#2764d7;--family-card-accent-deep:#123f9c;border:1px solid var(--ant-color-border-secondary);min-width:0;min-height:292px;color:var(--ant-color-text);background:var(--ant-color-bg-container);box-shadow:0 8px 26px color-mix(in srgb, var(--ant-color-text) 7%, transparent);text-align:left;cursor:pointer;border-radius:20px;flex-direction:column;padding:0;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden}.family-card--tone-2{--family-card-accent:#5367cc;--family-card-accent-deep:#323d97}.family-card--tone-3{--family-card-accent:#367c83;--family-card-accent-deep:#19535d}.family-card--tone-4{--family-card-accent:#8a579a;--family-card-accent-deep:#60356e}.family-card__cover{background:radial-gradient(circle at 13% 15%, #ffffff47 0 2px, transparent 3px), radial-gradient(circle at 78% 34%, #fff3 0 3px, transparent 4px), linear-gradient(135deg, var(--family-card-accent), var(--family-card-accent-deep));min-height:112px;display:block;position:relative;overflow:hidden}.family-card__cover:before,.family-card__cover:after{content:"";border:1px solid #ffffff2e;border-radius:50%;position:absolute}.family-card__cover:before{width:128px;height:128px;top:-72px;right:-20px}.family-card__cover:after{background:#ffffff12;width:74px;height:74px;bottom:-54px;right:58px}.family-card__role{z-index:1;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0817303d;border:1px solid #fff3;border-radius:999px;align-items:center;gap:6px;min-height:30px;padding:5px 10px;font-size:12px;font-weight:700;display:inline-flex;position:absolute;top:16px;right:16px}.family-card__avatar{z-index:2;border:4px solid var(--ant-color-bg-container);background:var(--ant-color-bg-container);border-radius:50%;place-items:center;width:80px;height:80px;display:grid;position:absolute;top:76px;left:22px;box-shadow:0 8px 18px #081a3433}.family-card__avatar .family-avatar{color:#fff;background:var(--family-card-accent);font-size:20px;font-weight:700}.family-card__body{flex-direction:column;flex:1;min-width:0;min-height:180px;padding:48px 22px 18px;display:flex}.family-card__name{min-width:0;min-height:48px;color:var(--ant-color-text-heading);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:20px;font-weight:720;line-height:1.2;display:-webkit-box;overflow:hidden}.family-card__timezone{min-width:0;color:var(--ant-color-text-secondary);align-items:center;gap:8px;margin-top:8px;font-size:13px;display:flex}.family-card__timezone>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.family-card__timezone>.anticon{color:var(--family-card-accent)}.family-card__footer{border-top:1px solid var(--ant-color-border-secondary);color:var(--family-card-accent);justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:15px;font-size:13px;font-weight:700;display:flex}.family-card__footer>.anticon{transition:transform .18s}.family-card:hover{border-color:color-mix(in srgb, var(--family-card-accent) 42%, var(--ant-color-border-secondary));box-shadow:0 14px 34px color-mix(in srgb, var(--family-card-accent) 18%, transparent);transform:translateY(-3px)}.family-card:hover .family-card__footer>.anticon{transform:translate(4px)}.family-card:focus-visible{border-color:var(--family-card-accent);outline:3px solid color-mix(in srgb, var(--family-card-accent) 28%, transparent);outline-offset:3px}.family-card-skeleton{border-color:var(--ant-color-border-secondary);border-radius:20px;min-height:292px;overflow:hidden}.family-card-skeleton .ant-card-body{padding:0 22px 20px}.family-card-skeleton__cover{background:var(--ant-color-fill-quaternary);height:112px;margin:0 -22px 22px}@media (width<=1100px){.families-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.family-card,.family-card__footer>.anticon{transition:none}}.family-settings-page{width:min(1180px,100%);margin:0 auto}.family-settings-readonly-alert{border-radius:14px;width:min(760px,100%);margin-bottom:18px}.family-form-card{border-color:var(--ant-color-border-secondary);border-radius:16px;width:min(760px,100%);box-shadow:0 8px 28px #14223814}.family-form-card .ant-card-body{padding:clamp(24px,4vw,40px)}.family-form__avatar-row{border-bottom:1px solid var(--ant-color-border-secondary);align-items:center;gap:24px;margin-bottom:30px;padding-bottom:28px;display:flex}.family-form__photo-actions{margin-top:14px}.family-form__footer{justify-content:flex-end;margin-top:18px;display:flex}.family-form__save-status{justify-content:flex-end;align-items:center;gap:8px;min-height:24px;margin-top:4px;display:flex}.family-form__save-status .anticon{color:var(--ant-color-success)}.family-form__save-status.is-dirty .anticon{color:var(--ant-color-warning)}.family-form__footer .ant-btn{border-radius:10px;min-width:116px;height:46px;font-weight:650}.members-page{gap:24px;width:min(1180px,100%);margin:0 auto;display:grid}.members-layout{grid-template-columns:minmax(0,2fr) minmax(300px,1fr);align-items:stretch;gap:24px;display:grid}.members-card,.pending-card,.inbox-card{border-color:var(--ant-color-border-secondary);border-radius:16px;height:100%;box-shadow:0 8px 24px #14223812}.members-card .ant-card-head-title,.pending-card .ant-card-head-title{min-width:0}.members-card .ant-card-head-title .ant-typography,.pending-card .ant-card-head-title .ant-typography{margin:0;font-size:20px;line-height:1.3}.members-card .ant-card-body{padding:20px}.member-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:14px;display:grid}.member-person-card{border:1px solid var(--ant-color-border-secondary);background:var(--ant-color-fill-quaternary);border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:16px;display:grid}.member-person-card__identity{gap:2px;min-width:0;display:grid}.member-person-card__identity>.ant-typography{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.member-person-card__name{align-items:center;gap:6px;min-width:0;display:flex}.member-person-card__name>.ant-typography{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.member-person-card__name .ant-tag{flex:none;margin:0}.member-person-card__joined{border-top:1px solid var(--ant-color-border-secondary);color:var(--ant-color-text-secondary);grid-column:1/-1;align-items:center;gap:9px;padding-top:12px;display:flex}.member-person-card__joined>span{gap:1px;display:grid}.member-person-card__joined small{color:var(--ant-color-text-tertiary);letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-weight:700}.member-avatar{background:var(--ant-color-primary-bg);color:var(--ant-color-primary);font-weight:700}.pending-card .ant-card-body{min-height:256px}.pending-count{background:var(--ant-color-warning-bg);color:var(--ant-color-warning-text);border:0;border-radius:999px;font-weight:700}.pending-invitation-item{border:1px solid var(--ant-color-border-secondary);background:var(--ant-color-fill-quaternary);border-radius:12px;align-items:center;gap:12px;margin-bottom:12px;padding:12px;display:flex}.pending-invitation-item__content{flex-direction:column;flex:1;min-width:0;display:flex}.pending-invitation-item .ant-btn{width:40px;min-width:40px;height:40px}@media (width<=1100px){.members-layout{grid-template-columns:minmax(0,1fr)}}.inbox-card{max-width:940px}.invitation-inbox-item{border-bottom:1px solid var(--ant-color-border-secondary);justify-content:space-between;align-items:center;gap:20px;padding:22px 8px;display:flex}.invitation-inbox-item:last-child{border-bottom:0}.invitation-inbox-item__identity{align-items:center;gap:14px;min-width:0;display:flex}.invitation-inbox-item__identity>div{flex-direction:column;min-width:0;display:flex}.invitation-inbox-item__actions{gap:8px;display:flex}.mobile-api-keys-list{display:none}.profile-card,.api-keys-card{border-color:var(--ant-color-border-secondary);border-radius:16px;box-shadow:0 8px 24px #14223812}.modal-form-footer{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.family-workspace-loader,.family-dashboard-placeholder,.family-module-placeholder,.features-loading-card{border-color:var(--ant-color-border-secondary);border-radius:18px;box-shadow:0 8px 28px #14223812}.family-dashboard-placeholder,.family-module-placeholder{min-height:360px}.family-dashboard-placeholder .ant-result,.family-module-placeholder .ant-result{padding-block:70px}.family-dashboard-placeholder .ant-result-icon,.family-module-placeholder .ant-result-icon{color:var(--ant-color-primary)}.family-feature-load-alert{margin-bottom:24px}.family-settings-navigation{border:1px solid var(--ant-color-border-secondary);background:var(--ant-color-fill-quaternary);border-radius:14px;width:min(420px,100%);min-height:46px;margin-bottom:22px;padding:4px}.family-settings-navigation .ant-segmented-group{gap:4px}.family-settings-navigation .ant-segmented-item{border-radius:10px;min-height:36px;font-weight:650}.family-settings-navigation .ant-segmented-item-label{justify-content:center;align-items:center;gap:8px;min-height:36px;line-height:36px;display:flex}.family-features-page{width:min(1180px,100%);margin:0 auto}.family-features-readonly-alert,.family-features-empty-card{border-radius:16px;margin-bottom:20px}.family-features-overview{border:1px solid var(--ant-color-border-secondary);background:color-mix(in srgb, var(--ant-color-primary-bg) 58%, var(--ant-color-bg-container));border-radius:14px;align-items:center;gap:14px;margin-bottom:20px;padding:15px 18px;display:flex}.family-features-overview>div{gap:2px;display:grid}.family-features-overview__icon{background:var(--ant-color-primary);width:38px;height:38px;color:var(--ant-color-white);border-radius:12px;flex:none;place-items:center;font-size:18px;display:grid}.family-features-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.family-feature-card{border-color:var(--ant-color-border-secondary);border-radius:16px;box-shadow:0 6px 20px #1422380f}.family-feature-card.is-on{border-color:color-mix(in srgb, var(--ant-color-primary) 30%, var(--ant-color-border-secondary));box-shadow:0 8px 24px color-mix(in srgb, var(--ant-color-primary) 8%, transparent)}.family-feature-card .ant-card-body{flex-direction:column;min-height:210px;padding:22px;display:flex}.family-feature-card--loading .ant-card-body{justify-content:center}.family-feature-card__header{grid-template-columns:48px minmax(0,1fr);align-items:start;gap:16px;margin-bottom:12px;display:grid}.family-feature-card__icon{background:var(--ant-color-primary-bg);width:48px;height:48px;color:var(--ant-color-primary);border-radius:13px;place-items:center;font-size:21px;display:grid}.family-feature-card__heading{min-width:0}.family-feature-card h3.ant-typography{margin:1px 0 7px;font-size:19px;line-height:1.3}.family-feature-card__tags{flex-wrap:wrap;gap:6px;display:flex}.family-feature-card__tags .ant-tag{margin:0}.family-feature-card>.ant-card-body>.ant-typography{margin-bottom:16px}.family-feature-card__footer{border-top:1px solid var(--ant-color-border-secondary);justify-content:space-between;align-items:center;gap:16px;min-height:42px;margin-top:auto;padding-top:14px;display:flex}.family-feature-card__footer .ant-switch{flex:none;min-width:48px;min-height:26px}.family-feature-card .ant-switch-checked{background:var(--ant-color-primary)}.family-feature-card__error{border-radius:10px;margin-top:14px}.family-workspace-page-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.family-workspace-page-header__titles{min-width:0}.family-workspace-page-header__actions{flex:none;padding-top:4px}.family-dashboard-page{width:100%;min-width:0}.family-dashboard-editing-banner{border:1px solid color-mix(in srgb, var(--ant-color-primary) 24%, var(--ant-color-border-secondary));background:color-mix(in srgb, var(--ant-color-primary-bg) 72%, var(--ant-color-bg-container));border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:66px;margin:-6px 0 22px;padding:12px 16px;display:grid}.family-dashboard-editing-banner__icon{width:40px;height:40px;color:var(--ant-color-primary);background:var(--ant-color-bg-container);box-shadow:0 4px 12px color-mix(in srgb, var(--ant-color-primary) 14%, transparent);border-radius:12px;place-items:center;font-size:19px;display:grid}.family-dashboard-editing-banner>span:nth-child(2){flex-direction:column;gap:2px;min-width:0;display:flex}.family-dashboard-editing-banner small{color:var(--ant-color-text-secondary);line-height:1.4}.family-dashboard-editing-banner__count{color:var(--ant-color-primary);background:var(--ant-color-bg-container);white-space:nowrap;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.family-dashboard-skeleton{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.family-dashboard-skeleton .ant-card{border-color:var(--ant-color-border-secondary);border-radius:18px;min-height:210px}.family-dashboard-skeleton .ant-card:first-child{grid-column:1/-1}.family-dashboard-grid{width:100%;min-width:0;overflow:hidden}.family-dashboard-grid .react-grid-layout{min-height:280px}.family-dashboard-grid .react-grid-item{min-width:0;transition:transform .18s,width .18s,height .18s}.family-dashboard-grid[data-editing=true] .react-grid-item{z-index:2}.family-dashboard-grid .react-grid-placeholder{border:2px dashed var(--ant-color-primary);background:var(--ant-color-primary-bg);opacity:.72;border-radius:18px}.family-dashboard-grid__item,.widget-frame{min-width:0;height:100%}.widget-frame{border:1px solid var(--ant-color-border-secondary);background:var(--ant-color-bg-container);border-radius:18px;flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:0 9px 28px #14223814}.widget-frame:before{z-index:1;background:linear-gradient(90deg, var(--ant-color-primary), transparent 82%);content:"";opacity:.48;border-radius:0 0 999px 999px;height:2px;position:absolute;top:0;left:20px;right:20px}.widget-frame.is-editing{border-color:color-mix(in srgb, var(--ant-color-primary) 38%, var(--ant-color-border-secondary));box-shadow:0 12px 30px #0057c21f}.widget-frame__header{background:linear-gradient(180deg, color-mix(in srgb, var(--ant-color-primary-bg) 22%, transparent), transparent);align-items:center;gap:12px;min-height:64px;padding:16px 20px 10px;display:flex}.widget-frame__header h4.ant-typography{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:20px;overflow:hidden}.widget-frame__title-icon{background:var(--ant-color-primary-bg);width:38px;height:38px;color:var(--ant-color-primary);border-radius:12px;flex:0 0 38px;place-items:center;font-size:18px;display:grid}.widget-frame__editing-actions{border-top:1px solid var(--ant-color-border-secondary);border-bottom:1px solid var(--ant-color-border-secondary);background:var(--ant-color-fill-quaternary);align-items:center;min-height:44px;padding:3px 12px;display:flex}.widget-frame__editing-actions-spacer{flex:1}.widget-frame__editing-actions>div{align-items:center;gap:2px;display:flex}.widget-frame__editing-actions .ant-btn{width:38px;min-width:38px;height:38px}.widget-frame__drag-handle{cursor:grab;width:36px;height:36px;color:var(--ant-color-text-secondary);touch-action:none;place-items:center;font-size:18px;display:grid}.widget-frame__drag-handle:active{cursor:grabbing}.widget-frame__body{flex:1;min-width:0;min-height:0;padding:8px 20px 20px;overflow:auto}.widget-frame__body>.ant-empty{margin-block:8px 4px}.widget-frame__body>.ant-empty .ant-empty-image{height:44px;margin-bottom:4px}.widget-frame__body>.ant-empty .ant-empty-description{font-size:13px}.widget-frame .react-resizable-handle{width:28px;height:28px}.dashboard-family-age{grid-template-columns:auto 1fr;align-content:center;column-gap:12px;height:100%;min-height:160px;display:grid;position:relative}.dashboard-family-age>.ant-typography-secondary:not(.dashboard-family-age__date){grid-column:1/-1;margin-bottom:6px}.dashboard-family-age strong{color:var(--ant-color-primary);letter-spacing:-.05em;font-size:clamp(48px,6vw,72px);line-height:1}.dashboard-family-age>.ant-typography:not(.ant-typography-secondary){align-self:end;padding-bottom:7px;font-size:18px}.dashboard-family-age__heart{background:var(--ant-color-primary-bg);width:48px;height:48px;color:var(--ant-color-primary);border-radius:50%;place-items:center;font-size:23px;display:grid;position:absolute;top:0;right:0}.dashboard-family-age__date{grid-column:1/-1;margin-top:16px}.dashboard-widget-list__item{border-bottom:1px solid var(--ant-color-border-secondary);align-items:center;gap:12px;min-width:0;padding:12px 0;display:flex}.dashboard-widget-list__item:first-child{padding-top:4px}.dashboard-widget-list__item:last-child{border-bottom:0;padding-bottom:4px}.dashboard-widget-list__identity{flex-direction:column;flex:1;min-width:0;display:flex}.dashboard-widget-list__identity .ant-typography{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.family-dashboard-empty{border:1px dashed var(--ant-color-border-secondary);background:var(--ant-color-bg-container);border-radius:18px;padding:72px 20px}.dashboard-widget-catalog{gap:16px;display:grid}.dashboard-widget-catalog__intro{line-height:1.55;margin:0 0 18px!important}.dashboard-widget-catalog__card{border-color:var(--ant-color-border-secondary);border-radius:16px;transition:border-color .18s,box-shadow .18s;overflow:hidden}.dashboard-widget-catalog__card:not(.is-added):hover{border-color:var(--ant-color-primary-border);box-shadow:0 8px 22px color-mix(in srgb, var(--ant-color-primary) 11%, transparent)}.dashboard-widget-catalog__card.is-added{background:var(--ant-color-fill-quaternary)}.dashboard-widget-catalog__card .ant-card-body{grid-template-columns:auto 1fr;gap:8px 12px;display:grid}.dashboard-widget-catalog__icon{background:var(--ant-color-primary-bg);width:44px;height:44px;color:var(--ant-color-primary);border-radius:13px;grid-row:1/3;place-items:center;font-size:20px;display:grid}.dashboard-widget-catalog__card h4.ant-typography,.dashboard-widget-catalog__card p.ant-typography{margin:0}.dashboard-widget-catalog__card .ant-tag{grid-column:1/-1;width:max-content;margin-top:8px}.dashboard-widget-catalog__card .ant-btn{border-radius:11px;grid-column:1/-1;min-height:44px;margin-top:10px}.dashboard-widget-configuration__fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;display:grid}.dashboard-widget-configuration__fields .ant-select,.dashboard-widget-configuration__fields .ant-input-number{width:100%}.dashboard-widget-configuration__footer{grid-template-columns:1fr 1fr;gap:10px;display:grid}.dashboard-widget-configuration__footer .ant-btn{border-radius:12px;min-height:48px}@media (width<=1080px){.app-sidebar{display:none}.app-header{height:calc(68px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);padding-right:max(16px, env(safe-area-inset-right));padding-left:max(20px, env(safe-area-inset-left));justify-content:space-between}.app-mobile-brand{height:44px;margin-right:auto;padding-inline:0;font-size:20px;display:inline-flex}.app-mobile-brand img{width:38px;height:38px}.family-selector{min-width:180px;max-width:240px}.app-content{padding:34px max(28px, env(safe-area-inset-right)) calc(118px + env(safe-area-inset-bottom)) max(28px, env(safe-area-inset-left))}.app-bottom-navigation{z-index:30;bottom:max(10px, env(safe-area-inset-bottom));border:1px solid color-mix(in srgb, var(--ant-color-primary) 6%, var(--ant-color-border));background:linear-gradient(155deg, color-mix(in srgb, var(--ant-color-bg-container) 97%, white), color-mix(in srgb, var(--ant-color-bg-layout) 96%, var(--ant-color-bg-container)));-webkit-backdrop-filter:blur(22px)saturate(150%);backdrop-filter:blur(22px)saturate(150%);isolation:isolate;border-radius:28px;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;width:calc(100vw - 28px);max-width:620px;height:78px;padding:7px 8px;display:grid;position:fixed;left:50vw;transform:translate(-50%);box-shadow:0 18px 42px #001b3d29,0 4px 14px #001b3d12,inset 0 1px #ffffffd9}.app-bottom-navigation:before{display:none}.app-bottom-navigation--items-3{max-width:410px}.app-bottom-navigation--items-4{max-width:510px}.app-bottom-navigation .ant-btn{width:100%;height:62px;color:var(--ant-color-text-secondary);border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:2px;margin:0;padding-inline:2px;font-size:11px;font-weight:650;transition:color .18s,background .18s,opacity .18s,transform .22s cubic-bezier(.2,.8,.2,1);display:flex;position:relative}.app-bottom-navigation .ant-btn:active{transform:scale(.92)}.app-bottom-navigation .ant-btn>span:not(.ant-btn-icon){text-overflow:ellipsis;white-space:nowrap;flex:none;width:100%;max-width:100%;display:block;overflow:hidden}.app-bottom-navigation .ant-btn .ant-btn-icon{border:1px solid #0000;border-radius:14px;flex:0 0 38px;place-items:center;width:38px;height:38px;line-height:1;transition:color .18s,background .18s,border-color .18s,box-shadow .18s,transform .22s cubic-bezier(.34,1.56,.64,1);display:grid;margin:0!important}.app-bottom-navigation .ant-btn .anticon{background:0 0;width:1em;height:1em;margin:0;font-size:19px;line-height:1;display:block;transform:none}.app-bottom-navigation .ant-btn.is-active{color:var(--ant-color-primary);background:0 0;font-weight:700}.app-bottom-navigation .ant-btn.is-active .ant-btn-icon{border-color:color-mix(in srgb, var(--ant-color-primary) 24%, transparent);background:color-mix(in srgb, var(--ant-color-primary-bg) 86%, transparent);color:var(--ant-color-primary);box-shadow:0 3px 9px color-mix(in srgb, var(--ant-color-primary) 10%, transparent);transform:scale(1.06)}.app-bottom-navigation .ant-btn.is-active:after{background:var(--ant-color-primary);content:"";border-radius:999px;width:14px;height:3px;position:absolute;bottom:-2px}.app-bottom-navigation .ant-btn:hover:not(:disabled){background:color-mix(in srgb, var(--ant-color-primary-bg) 28%, transparent);color:var(--ant-color-primary)}.app-bottom-navigation .ant-btn:active:not(:disabled),.app-bottom-navigation .ant-btn.is-active:active:not(:disabled){box-shadow:none}.app-bottom-navigation .ant-btn:active:not(:disabled) .ant-btn-icon{transform:none}.app-bottom-navigation .ant-btn:disabled{color:var(--ant-color-text-quaternary);background:0 0}.app-bottom-navigation__empty{min-width:0;display:block}.app-bottom-navigation .app-bottom-navigation__slot--0,.app-bottom-navigation .app-bottom-navigation__slot--4{transform:scale(.9)}.app-bottom-navigation .app-bottom-navigation__slot--1,.app-bottom-navigation .app-bottom-navigation__slot--3{transform:translateY(-4px)scale(.97)}.app-bottom-navigation .app-bottom-navigation__slot--2{z-index:2;height:72px;transform:translateY(-12px)}.app-bottom-navigation .app-bottom-navigation__slot--2 .ant-btn-icon{border-color:color-mix(in srgb, var(--ant-color-primary) 12%, var(--ant-color-border));background:color-mix(in srgb, var(--ant-color-primary-bg) 52%, var(--ant-color-bg-container));border-radius:18px;flex-basis:50px;width:50px;height:50px;box-shadow:0 6px 14px #001b3d1a,inset 0 1px #fffc}.app-bottom-navigation .app-bottom-navigation__slot--2 .anticon{font-size:23px}.app-bottom-navigation .app-bottom-navigation__slot--2.is-active .ant-btn-icon{border-color:color-mix(in srgb, var(--ant-color-primary) 28%, transparent);background:color-mix(in srgb, var(--ant-color-primary-bg) 90%, transparent);box-shadow:0 6px 15px color-mix(in srgb, var(--ant-color-primary) 13%, transparent), inset 0 1px 0 #ffffffb3}@media (prefers-reduced-motion:reduce){.app-bottom-navigation .ant-btn,.app-bottom-navigation .ant-btn .ant-btn-icon{transition:none}}.members-page__actions{margin:0 0 20px}.invitation-inbox-item{flex-direction:column;align-items:flex-start;gap:16px}.invitation-inbox-item__identity,.invitation-inbox-item__actions{width:100%}}@media (width<=640px){.app-header{height:72px;padding-inline:12px}.app-mobile-brand{justify-content:flex-start;width:auto;height:44px;padding:0}.app-mobile-brand img{width:34px;height:34px}.app-mobile-brand span{color:var(--ant-color-primary);white-space:nowrap;font-size:18px;line-height:1;transform:none}.app-header__tools{z-index:2;gap:3px}.app-header__tools>.ant-badge{display:none}.family-selector{gap:7px;max-width:min(58vw,208px);height:42px;padding-inline:5px 12px}.family-selector__label{font-size:14.5px}.app-content{padding:28px max(16px, env(safe-area-inset-right)) calc(94px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left))}.app-bottom-navigation{bottom:max(8px, env(safe-area-inset-bottom));width:calc(100vw - 20px);height:78px;padding:7px 6px}.app-bottom-navigation .ant-btn{height:64px;font-size:11px}.app-bottom-navigation .ant-btn.is-active,.app-bottom-navigation .ant-btn.is-active:hover,.app-bottom-navigation .ant-btn.is-active:focus-visible{color:var(--ant-color-primary)!important;background:0 0!important}.app-bottom-navigation .ant-btn .anticon{font-size:19px}.dashboard-card .ant-card-body{min-height:0;padding:22px}.family-settings-navigation{z-index:10;border:1px solid var(--ant-color-border-secondary);background:color-mix(in srgb, var(--ant-color-bg-layout) 96%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:14px;width:100%;margin-bottom:20px;padding:4px;position:sticky;top:80px;box-shadow:0 6px 18px #001b3d12}.family-features-grid{grid-template-columns:1fr;gap:14px}.family-features-overview{align-items:flex-start;padding:14px}.family-feature-card .ant-card-body{min-height:0;padding:18px}.family-feature-card__header{grid-template-columns:44px minmax(0,1fr);gap:13px}.family-feature-card__icon{width:44px;height:44px}.family-feature-card h3.ant-typography{font-size:18px}.family-feature-card__topline{margin-bottom:18px}.family-dashboard-placeholder,.family-module-placeholder{min-height:300px}.family-dashboard-placeholder .ant-result,.family-module-placeholder .ant-result{padding:48px 12px}.dashboard-card__icon{margin-bottom:16px}.families-page{gap:18px}.families-page__toolbar{flex-direction:column;align-items:stretch;gap:12px}.families-page__toolbar .ant-btn{width:100%;margin-inline-start:0}.families-grid{grid-template-columns:minmax(0,1fr);gap:16px}.family-card,.family-card-skeleton{border-radius:18px;min-height:276px}.family-card__cover,.family-card-skeleton__cover{min-height:104px}.family-card__body{min-height:172px;padding:46px 20px 17px}.family-card__name{-webkit-line-clamp:1;min-height:29px;font-size:19px}.family-form-card{border-radius:16px;width:100%;margin-bottom:86px}.family-form-card .ant-card-body{padding:22px 18px}.family-form__avatar-row{flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:24px;padding-bottom:24px}.family-form__save-status{justify-content:flex-start;margin-top:0}.family-form__footer{z-index:24;right:16px;bottom:calc(90px + env(safe-area-inset-bottom));border:1px solid var(--ant-color-border-secondary);background:color-mix(in srgb, var(--ant-color-bg-container) 96%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:18px;grid-template-columns:minmax(92px,auto) 1fr;padding:8px;display:grid;position:fixed;left:16px;box-shadow:0 10px 28px #14223824}.family-form__footer .ant-btn{border-radius:13px;width:100%;min-width:0;height:50px}.family-form__footer .ant-space-item:only-child{grid-column:1/-1}.members-page{gap:16px;padding-bottom:18px}.members-card,.pending-card,.inbox-card,.profile-card,.api-keys-card{border-radius:16px;box-shadow:0 5px 18px #14223812}.members-card,.pending-card{height:auto}.members-card .ant-card-head,.pending-card .ant-card-head{min-height:58px;padding-inline:18px}.members-card .ant-card-head-title .ant-typography,.pending-card .ant-card-head-title .ant-typography{font-size:17px}.members-card .ant-card-body{padding:14px}.member-grid{grid-template-columns:minmax(0,1fr)}.member-person-card{grid-template-columns:auto minmax(0,1fr);padding:14px}.member-person-card>.ant-tag{grid-column:2;justify-self:start;margin:0}.pending-card .ant-card-body{min-height:160px;padding:18px}.pending-invitation-item{align-items:flex-start}.members-invite-drawer .ant-drawer-content,.members-invite-drawer .ant-drawer-section{border-radius:22px 22px 0 0}.members-invite-drawer .ant-drawer-body{padding-bottom:calc(20px + env(safe-area-inset-bottom))}.members-invite-footer .ant-btn{min-height:48px}.inbox-card .ant-card-body{padding:18px}.invitation-inbox-item{padding:18px 0}.invitation-inbox-item__actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.invitation-inbox-item__actions .ant-btn{width:100%}.modal-form-footer{grid-template-columns:1fr 1fr;display:grid}.modal-form-footer .ant-btn{height:48px}.profile-summary{margin-bottom:22px}.profile-card .ant-card-body{padding:22px 18px}.api-keys-card .ant-card-head-wrapper{flex-direction:column;align-items:stretch;gap:14px;padding-block:16px}.api-keys-card .ant-card-extra,.api-keys-card .ant-card-extra .ant-btn{width:100%}.desktop-api-keys-table{display:none}.api-keys-card .ant-card-body{padding:14px}.mobile-api-keys-list{gap:14px;display:grid}.mobile-api-key-card{background:var(--ant-color-bg-container);border-radius:14px;border:1px solid var(--ant-color-border-secondary)!important;padding:18px!important;display:block!important}.mobile-api-key-card__header,.mobile-api-key-card__meta{justify-content:space-between;gap:16px;display:flex}.mobile-api-key-card__header>div,.mobile-api-key-card__meta>span{flex-direction:column;gap:2px;display:flex}.mobile-api-key-card__scopes{flex-wrap:wrap;gap:6px;margin-block:16px;display:flex}.mobile-api-key-card__meta{border-top:1px solid var(--ant-color-border-secondary);padding-top:14px}.mobile-api-key-card__actions{grid-template-columns:1fr 1fr;margin-top:18px;display:grid}.mobile-api-key-card__actions .ant-btn{width:100%}.login-page{background:var(--ant-color-bg-layout);align-items:stretch;padding:0}.login-card{width:100%;min-height:100dvh;box-shadow:none;border:0;border-radius:0}.login-card .ant-card-body{min-height:100dvh;padding-top:max(28px, env(safe-area-inset-top));padding-right:max(28px, env(safe-area-inset-right));padding-bottom:max(28px, env(safe-area-inset-bottom));padding-left:max(28px, env(safe-area-inset-left));align-items:center;display:flex}.register-card__name-grid{grid-template-columns:1fr;gap:0}}@media (width<=390px){.app-mobile-brand span{font-size:18px}.family-selector{max-width:min(50vw,168px);padding-inline:4px 9px}.family-selector__label{font-size:13.5px}.app-content{padding-inline:14px}.app-bottom-navigation{border-radius:24px;width:calc(100vw - 12px);padding-inline:3px}.app-bottom-navigation .ant-btn{width:100%;margin:0;font-size:10px}}@media (width<=350px){.app-bottom-navigation .ant-btn{font-size:8px}.app-bottom-navigation .ant-btn>span:not(.ant-btn-icon){letter-spacing:-.02em}}@media (width<=640px){.family-workspace-page-header{flex-direction:column;align-items:stretch;gap:18px}.family-workspace-page-header__actions{width:100%;padding-top:0}.family-workspace-page-header__actions .ant-space{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.family-workspace-page-header__actions .ant-space-item,.family-workspace-page-header__actions .ant-btn{width:100%;min-width:0}.family-workspace-page-header__actions .ant-space-item:only-child,.family-workspace-page-header__actions .ant-space-item:first-child:nth-last-child(3){grid-column:1/-1}.family-workspace-page-header__actions .family-dashboard-view-actions{grid-template-columns:52px minmax(0,1fr)}.family-dashboard-grid{margin-inline:0}.family-dashboard-editing-banner{border-radius:14px;grid-template-columns:auto minmax(0,1fr);margin-top:-4px;padding:12px}.family-dashboard-editing-banner__count{grid-column:1/-1;width:max-content;margin-left:52px}.family-dashboard-skeleton{grid-template-columns:minmax(0,1fr);gap:14px}.family-dashboard-skeleton .ant-card:first-child{grid-column:auto}.widget-frame{border-radius:16px;box-shadow:0 6px 20px #14223812}.widget-frame__header{gap:10px;min-height:58px;padding:13px 16px 9px}.widget-frame__editing-actions{padding:4px 10px}.widget-frame__editing-actions>.widget-frame__drag-handle,.widget-frame__editing-actions-spacer{display:none}.widget-frame__editing-actions>div{width:100%}.widget-frame__editing-actions .ant-btn{flex:1;min-width:44px;height:42px}.widget-frame__header h4.ant-typography{font-size:18px}.widget-frame__title-icon{flex-basis:36px;width:36px;height:36px}.widget-frame__body{padding:2px 16px 16px}.widget-frame.is-editing .widget-frame__body{padding-bottom:10px;overflow:hidden}.widget-frame.is-editing .widget-frame__body>.ant-empty .ant-empty-image{height:32px}.dashboard-family-age{min-height:0}.dashboard-family-age strong{font-size:52px}.dashboard-family-age__heart{width:44px;height:44px}.dashboard-family-age__date{margin-top:7px}.dashboard-widget-list__item{align-items:flex-start}.family-dashboard-empty{padding-block:52px}.dashboard-widget-catalog-drawer .ant-drawer-content{border-radius:22px 22px 0 0}.dashboard-widget-catalog-drawer .ant-drawer-header{z-index:2;background:var(--ant-color-bg-elevated);position:sticky;top:0}.dashboard-widget-catalog__card .ant-card-body{padding:18px}.dashboard-widget-configuration__fields{grid-template-columns:minmax(0,1fr)}.dashboard-widget-configuration-drawer .ant-drawer-body{padding-bottom:24px}.dashboard-widget-configuration-drawer .ant-drawer-footer{padding-bottom:calc(12px + env(safe-area-inset-bottom));background:var(--ant-color-bg-container)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.family-calendar__alert{margin-bottom:18px}.family-calendar-page{min-width:0}.family-calendar__control-panel{border-color:color-mix(in srgb, var(--ant-color-primary) 14%, var(--ant-color-border-secondary));background:radial-gradient(circle at 9% -40%, color-mix(in srgb, var(--ant-color-primary) 16%, transparent), transparent 44%), var(--ant-color-bg-container);border-radius:22px;margin-bottom:18px;position:relative;overflow:hidden;box-shadow:0 14px 36px #14223812}.family-calendar__toolbar{justify-content:space-between;align-items:flex-end;gap:24px;padding:20px 22px 18px;display:flex}.family-calendar__navigation{flex:auto;justify-content:space-between;align-items:flex-end;gap:24px;min-width:0;display:flex}.family-calendar__period-heading{gap:4px;min-width:0;display:grid}.family-calendar__context{min-width:0;color:var(--ant-color-text-secondary);align-items:center;gap:7px;font-size:12px;font-weight:650;display:flex}.family-calendar__context>span:not(.family-calendar__context-dot){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.family-calendar__context .anticon{color:var(--ant-color-primary)}.family-calendar__context-dot{background:var(--ant-color-primary);border-radius:999px;flex:none;width:4px;height:4px}.family-calendar__period-actions{border:1px solid var(--ant-color-border-secondary);background:color-mix(in srgb, var(--ant-color-fill-quaternary) 80%, transparent);border-radius:14px;flex:none;gap:6px;padding:4px;display:flex}.family-calendar__period-actions .ant-btn{min-width:38px;min-height:38px;box-shadow:none;background:0 0;border:0;border-radius:10px}.family-calendar__period-actions .ant-btn:not(:first-child):not(:last-child){background:var(--ant-color-bg-container);padding-inline:14px;box-shadow:0 3px 10px #14223814}.family-calendar__navigation h3.ant-typography{letter-spacing:-.035em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:clamp(22px,2.5vw,31px);font-weight:780;overflow:hidden}.family-calendar__toolbar>.ant-segmented{border:1px solid var(--ant-color-border-secondary);background:color-mix(in srgb, var(--ant-color-fill-quaternary) 86%, transparent);border-radius:14px;flex:none;padding:4px}.family-calendar__toolbar .ant-segmented-item{border-radius:10px;min-width:76px;min-height:38px;line-height:38px}.family-calendar__utilities{border-top:1px solid var(--ant-color-border-secondary);background:color-mix(in srgb, var(--ant-color-bg-layout) 45%, transparent);grid-template-columns:minmax(220px,1fr) auto auto;gap:10px;min-width:0;padding:13px 14px;display:grid}.family-calendar__utilities .ant-input-affix-wrapper,.family-calendar__utilities .ant-btn{min-height:44px}.family-calendar__utilities .ant-btn.is-active{border-color:var(--ant-color-primary-border);background:var(--ant-color-primary-bg);color:var(--ant-color-primary)}.family-calendar__filter-count{background:var(--ant-color-primary);min-width:20px;height:20px;color:var(--ant-color-text-light-solid);border-radius:999px;place-items:center;margin-inline-start:3px;padding-inline:5px;font-size:11px;font-weight:750;line-height:20px;display:inline-grid}.family-calendar-filter-drawer__search{grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;padding:2px 0 20px;display:grid}.family-calendar-filter-drawer__search-icon{background:var(--ant-color-primary-bg);width:42px;height:42px;color:var(--ant-color-primary);border-radius:13px;place-items:center;font-size:19px;display:grid}.family-calendar-filter-drawer__search>div{gap:2px;min-width:0;display:grid}.family-calendar-filter-drawer__search h4.ant-typography{margin:0}.family-calendar-filter-drawer__search>.ant-input-affix-wrapper{border-radius:14px;grid-column:1/-1;min-height:52px;margin-top:6px;font-size:15px}.family-calendar-filter-drawer__advanced{border:1px solid var(--ant-color-border-secondary);background:color-mix(in srgb, var(--ant-color-fill-quaternary) 62%, transparent);border-radius:14px}.family-calendar-filter-drawer__advanced>summary{border-radius:inherit;cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:68px;padding:12px 14px;list-style:none;display:flex}.family-calendar-filter-drawer__advanced>summary::-webkit-details-marker{display:none}.family-calendar-filter-drawer__advanced>summary:hover,.family-calendar-filter-drawer__advanced>summary:focus-visible{background:var(--ant-color-primary-bg)}.family-calendar-filter-drawer__advanced>summary>span{gap:3px;min-width:0;display:grid}.family-calendar-filter-drawer__advanced>summary small{color:var(--ant-color-text-secondary);line-height:1.4}.family-calendar-filter-drawer__advanced>summary>.anticon{color:var(--ant-color-text-tertiary);transition:transform .16s}.family-calendar-filter-drawer__advanced[open]>summary>.anticon{transform:rotate(180deg)}.family-calendar-filter-drawer__fields{border-top:1px solid var(--ant-color-border-secondary);gap:20px;padding:8px 14px 16px;display:grid}.family-calendar-filter-drawer__fields label{gap:8px;display:grid}.family-calendar-filter-drawer__fields .ant-select{width:100%}.family-calendar-filter-drawer__fields .ant-select-selector{min-height:44px!important}.family-calendar-filter-drawer__footer{grid-template-columns:1fr 1fr;gap:10px;display:grid}.family-calendar-filter-drawer__footer .ant-btn{border-radius:11px;min-height:46px}.family-calendar-card{border-color:color-mix(in srgb, var(--ant-color-primary) 10%, var(--ant-color-border-secondary));border-radius:22px;min-width:0;overflow:hidden;box-shadow:0 18px 44px #14223817}.family-calendar-card .ant-card-body>div>div>div{background-color:var(--ant-color-bg-container)!important;color:var(--ant-color-text)!important}.family-calendar-card [role=grid]{color:var(--ant-color-text);overflow:hidden;background:var(--ant-color-bg-container)!important;border:0!important}.family-calendar-card [role=rowgroup]{background:var(--ant-color-bg-container)!important;color:var(--ant-color-text)!important}.family-calendar-card [role=columnheader]{min-height:70px;border-color:color-mix(in srgb, var(--ant-color-text) 7%, transparent)!important;background:color-mix(in srgb, var(--ant-color-fill-quaternary) 68%, transparent)!important;color:var(--ant-color-text)!important;opacity:1!important}.family-calendar-card [role=rowheader]{font-size:11px;font-weight:650;border-color:color-mix(in srgb, var(--ant-color-text) 7%, transparent)!important;background:var(--ant-color-bg-container)!important;color:var(--ant-color-text-secondary)!important}.family-calendar-card [role=gridcell]{border-color:color-mix(in srgb, var(--ant-color-text) 7%, transparent)!important;color:var(--ant-color-text)!important;background-color:#0000!important}.family-calendar-card [role=gridcell][aria-current=date]{background-color:color-mix(in srgb, var(--ant-color-primary) 7%, transparent)!important}.family-calendar-card [data-time$=":00:00"]{border-top-color:color-mix(in srgb, var(--ant-color-text) 7%, transparent)!important}.family-calendar-card [data-time$=":30:00"]{border-top-color:#0000!important}.family-calendar-card [data-time]{font-size:11px;font-weight:650;color:var(--ant-color-text-tertiary)!important}.family-calendar-card [role=grid] [role=button]{border-radius:9px;transition:box-shadow .15s,filter .15s,transform .15s;overflow:hidden;box-shadow:0 5px 14px #00275e38;background:var(--fc-event-color,var(--ant-color-primary))!important;color:var(--fc-event-contrast-color,#fff)!important;border:0!important}.family-calendar-card [role=grid] [role=button]:hover,.family-calendar-card [role=grid] [role=button]:focus-visible{z-index:4;filter:saturate(1.12)brightness(1.04);transform:translateY(-1px);box-shadow:0 8px 20px #00275e4d}.family-calendar-card [role=grid] [role=button] .family-calendar-event-content{color:inherit;padding:3px 5px}.family-calendar-card--dayGridMonth [role=grid]{padding:4px}.family-calendar-card--dayGridMonth [role=columnheader]{min-height:44px;background:0 0!important;border:0!important}.family-calendar-card--dayGridMonth [role=row]{border:0!important}.family-calendar-card--dayGridMonth [role=columnheader] .family-calendar-day-heading__number{display:none}.family-calendar-card--dayGridMonth [role=gridcell][aria-label]{background-clip:padding-box;border-radius:15px;min-height:106px;border:4px solid var(--ant-color-bg-container)!important;background-color:color-mix(in srgb, var(--ant-color-fill-quaternary) 72%, transparent)!important}.family-calendar-card--dayGridMonth [role=gridcell][aria-current=date]{background-color:color-mix(in srgb, var(--ant-color-primary) 11%, var(--ant-color-fill-quaternary))!important}.family-calendar-card--dayGridMonth [role=gridcell]>:first-child{min-height:38px;padding:5px 6px 0}.family-calendar-card--dayGridMonth [role=gridcell]>:first-child>[aria-hidden=true]{width:30px;height:30px;color:var(--ant-color-text-secondary);border-radius:10px;place-items:center;font-size:12px;font-weight:740;display:inline-grid}.family-calendar-card--dayGridMonth [role=gridcell][aria-current=date]>:first-child>[aria-hidden=true]{background:var(--ant-color-primary);color:var(--ant-color-text-light-solid);box-shadow:0 4px 12px color-mix(in srgb, var(--ant-color-primary) 30%, transparent)}.family-calendar-card .fc{--fc-border-color:color-mix(in srgb, var(--ant-color-text) 8%, transparent);--fc-button-bg-color:var(--ant-color-primary);--fc-button-border-color:var(--ant-color-primary);--fc-button-hover-bg-color:#004ba8;--fc-button-hover-border-color:#004ba8;--fc-button-active-bg-color:#003f8f;--fc-button-active-border-color:#003f8f;--fc-event-bg-color:var(--ant-color-primary);--fc-event-border-color:var(--ant-color-primary);--fc-event-text-color:#fff;--fc-page-bg-color:var(--ant-color-bg-container);--fc-neutral-bg-color:var(--ant-color-fill-quaternary);--fc-list-event-hover-bg-color:var(--ant-color-fill-tertiary);color:var(--ant-color-text);min-width:0;font-family:inherit}.family-calendar-card .fc .fc-scrollgrid{border:0}.family-calendar-card .fc .fc-scrollgrid-section-header>td{background:color-mix(in srgb, var(--ant-color-fill-quaternary) 72%, transparent);border:0}.family-calendar-card .fc-theme-standard td,.family-calendar-card .fc-theme-standard th{border-color:color-mix(in srgb, var(--ant-color-text) 7%, transparent)}.family-calendar-card .fc .fc-col-header-cell{border-top:0}.family-calendar-card .fc .fc-col-header-cell-cushion{width:100%;color:inherit;padding:12px 6px 10px;text-decoration:none}.family-calendar-day-heading{justify-items:center;gap:6px;display:grid}.family-calendar-day-heading__weekday{color:var(--ant-color-text-secondary);letter-spacing:.075em;text-transform:uppercase;font-size:11px;font-weight:750}.family-calendar-day-heading__number{width:32px;height:32px;color:var(--ant-color-text);border-radius:11px;place-items:center;font-size:15px;font-weight:750;display:inline-grid}.family-calendar-day-heading.is-today .family-calendar-day-heading__weekday{color:var(--ant-color-primary)}.family-calendar-day-heading.is-today .family-calendar-day-heading__number{background:var(--ant-color-primary);color:var(--ant-color-text-light-solid);box-shadow:0 5px 14px color-mix(in srgb, var(--ant-color-primary) 34%, transparent)}.family-calendar-card .fc .fc-timegrid-slot{border-top-color:color-mix(in srgb, var(--ant-color-text) 7%, transparent);height:50px}.family-calendar-card .fc .fc-timegrid-slot-minor{border-top-color:#0000}.family-calendar-card .fc .fc-timegrid-slot-label-cushion{color:var(--ant-color-text-tertiary);padding-inline:11px;font-size:11px;font-weight:650}.family-calendar-card .fc .fc-timegrid-axis{width:62px}.family-calendar-card .fc .fc-timegrid-col.fc-day-sat,.family-calendar-card .fc .fc-timegrid-col.fc-day-sun,.family-calendar-card .fc .fc-daygrid-day.fc-day-sat,.family-calendar-card .fc .fc-daygrid-day.fc-day-sun{background:color-mix(in srgb, var(--ant-color-primary) 2.8%, transparent)}.family-calendar-card .fc .fc-day-today{background:color-mix(in srgb, var(--ant-color-primary) 7%, transparent)}.family-calendar-card .fc .fc-timegrid-now-indicator-line{border-color:var(--ant-color-primary);box-shadow:0 0 8px color-mix(in srgb, var(--ant-color-primary) 45%, transparent);border-width:2px 0 0}.family-calendar-card .fc .fc-timegrid-now-indicator-arrow{border-color:var(--ant-color-primary)}.family-calendar-card .fc .fc-event{cursor:pointer;border:0;border-radius:10px;transition:transform .15s,box-shadow .15s,filter .15s;box-shadow:0 5px 14px #00275e33}.family-calendar-card .fc .fc-event:hover,.family-calendar-card .fc .fc-event:focus-visible{z-index:4;filter:saturate(1.12)brightness(1.03);transform:translateY(-1px);box-shadow:0 8px 18px #00275e47}.family-calendar-card .fc .fc-event-main{padding:5px 7px}.family-calendar-event-content{align-content:start;gap:1px;min-width:0;line-height:1.2;display:grid}.family-calendar-event-content__time{opacity:.82;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:650;overflow:hidden}.family-calendar-event-content__title{text-overflow:ellipsis;font-size:12px;font-weight:760;overflow:hidden}.family-calendar-event-content__meta{color:var(--ant-color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.family-calendar-event-content.is-list{color:var(--ant-color-text);gap:3px}.family-calendar-card .family-calendar-event--cancelled{opacity:.62;text-decoration:line-through}.family-calendar-card .fc .fc-daygrid-day-frame{border:1px solid color-mix(in srgb, var(--ant-color-text) 6%, transparent);background:color-mix(in srgb, var(--ant-color-bg-container) 92%, transparent);border-radius:14px;min-height:112px;margin:4px}.family-calendar-card .fc .fc-daygrid-day-number{min-width:30px;height:30px;color:var(--ant-color-text-secondary);border-radius:10px;place-items:center;margin:6px;padding:0;font-weight:700;text-decoration:none;display:inline-grid}.family-calendar-card .fc .fc-day-today .fc-daygrid-day-number{background:var(--ant-color-primary);color:var(--ant-color-text-light-solid)}.family-calendar-card .fc .fc-list{border:0}.family-calendar-card .fc .fc-list-table{border-collapse:separate;border-spacing:0 8px;padding:0 12px 12px}.family-calendar-card .fc .fc-list-day>*{background:0 0;border:0;padding:15px 14px 7px}.family-calendar-card .fc .fc-list-day-text,.family-calendar-card .fc .fc-list-day-side-text{color:var(--ant-color-text);font-weight:750;text-decoration:none}.family-calendar-card .fc .fc-list-event>td{background:var(--ant-color-fill-quaternary);border:0;padding-block:14px}.family-calendar-card .fc .fc-list-event>td:first-child{border-radius:14px 0 0 14px}.family-calendar-card .fc .fc-list-event>td:last-child{border-radius:0 14px 14px 0}.family-calendar-card .fc .fc-list-event:hover>td{background:color-mix(in srgb, var(--ant-color-primary) 9%, var(--ant-color-fill-quaternary))}.family-calendar-card .fc .fc-list-event-time{width:110px;color:var(--ant-color-text-secondary);font-weight:680}.family-calendar-card .fc .fc-list-event-title a{color:var(--ant-color-text);text-decoration:none}.family-calendar-card .fc .fc-list-event-dot{box-shadow:0 0 0 4px color-mix(in srgb, currentColor 10%, transparent);border-width:6px}.family-calendar-card [role=listitem]>[data-date]{border-radius:12px;margin:12px 12px 4px;padding:10px 12px;font-size:13px;font-weight:760;background:color-mix(in srgb, var(--ant-color-primary) 9%, var(--ant-color-bg-container))!important;color:var(--ant-color-text)!important}.family-calendar-card [role=listitem]>[role=list]{gap:8px;padding:4px 12px 12px;display:grid}.family-calendar-card [role=listitem]>[role=list]>[role=button]{border-radius:14px;min-height:62px;padding:13px 14px;transition:border-color .15s,box-shadow .15s,transform .15s;box-shadow:0 6px 18px #14223812;border:1px solid var(--ant-color-border-secondary)!important;background:var(--ant-color-bg-elevated)!important;color:var(--ant-color-text)!important}.family-calendar-card [role=listitem]>[role=list]>[role=button]:hover,.family-calendar-card [role=listitem]>[role=list]>[role=button]:focus-visible{box-shadow:0 9px 22px color-mix(in srgb, var(--ant-color-primary) 13%, transparent);transform:translateY(-1px);border-color:var(--ant-color-primary-border)!important}.family-calendar-card [role=listitem] .family-calendar-event-content__title{color:var(--ant-color-text)}.dark-theme .family-calendar-card .fc{--fc-page-bg-color:var(--ant-color-bg-container);color:var(--ant-color-text)}.calendar-event-form{gap:16px;padding-block:4px 10px;display:grid}.calendar-event-form label{gap:8px;display:grid}.calendar-event-form__intro{gap:3px;padding:2px 2px 5px;display:grid}.calendar-event-form__intro h4.ant-typography{margin:0;font-size:20px}.calendar-event-form__title-field .ant-input{border-radius:12px;min-height:50px;font-size:16px}.calendar-event-form__when{border:1px solid var(--ant-color-border-secondary);background:color-mix(in srgb, var(--ant-color-fill-quaternary) 58%, transparent);border-radius:16px;gap:14px;padding:16px;display:grid}.calendar-event-form__section-heading{grid-template-columns:38px minmax(0,1fr);align-items:center;gap:11px;display:grid}.calendar-event-form__section-heading>div{gap:1px;display:grid}.calendar-event-form__section-icon{background:var(--ant-color-primary-bg);width:38px;height:38px;color:var(--ant-color-primary);border-radius:11px;place-items:center;font-size:17px;display:grid}.calendar-event-form__all-day{border-top:1px solid var(--ant-color-border-secondary);justify-content:space-between;align-items:center;gap:20px;padding-top:13px;display:flex}.calendar-event-form__all-day>div{gap:2px;display:grid}.calendar-event-form__dates{grid-template-columns:1fr 1fr;gap:14px;display:grid}.calendar-event-form__dates .ant-input{border-radius:10px;min-height:44px}.mobile-datetime-trigger{border:1px solid var(--ant-color-border);background:var(--ant-color-bg-container);width:100%;min-height:44px;color:var(--ant-color-text);text-align:left;cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:8px 12px;display:flex}.mobile-datetime-trigger.has-error{border-color:var(--ant-color-error)}.mobile-datetime-trigger__icon{background:var(--ant-color-primary-bg);width:30px;height:30px;color:var(--ant-color-primary);border-radius:8px;flex:none;place-items:center;font-size:15px;display:inline-grid}.mobile-datetime-trigger__text{flex-direction:column;gap:1px;min-width:0;display:flex}.mobile-datetime-trigger__text strong{text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.mobile-datetime-trigger__text small{color:var(--ant-color-text-secondary)}.mobile-datetime-sheet .swipeable-sheet__body{flex-direction:column;gap:18px;display:flex}.mobile-datetime-sheet__calendar{gap:10px;display:grid}.mobile-datetime-sheet__nav{text-transform:capitalize;justify-content:space-between;align-items:center;font-weight:700;display:flex}.mobile-datetime-sheet__weekdays{color:var(--ant-color-text-tertiary);text-align:center;text-transform:uppercase;grid-template-columns:repeat(7,minmax(0,1fr));font-size:12px;font-weight:700;display:grid}.mobile-datetime-sheet__days{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.mobile-datetime-sheet__day{aspect-ratio:1;color:var(--ant-color-text);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;font-size:14px;display:grid}.mobile-datetime-sheet__day.is-today{color:var(--ant-color-primary);font-weight:750}.mobile-datetime-sheet__day.is-selected{background:var(--ant-color-primary);color:#fff}.mobile-datetime-sheet__time{justify-content:center;align-items:center;gap:6px;display:flex}.mobile-datetime-sheet__time-sep{font-size:20px;font-weight:700}.mobile-datetime-wheel{width:64px;position:relative}.mobile-datetime-wheel__highlight{z-index:0;background:var(--ant-color-fill-quaternary);pointer-events:none;border-radius:10px;height:44px;position:absolute;top:88px;left:0;right:0}.mobile-datetime-wheel__scroll{z-index:1;scroll-snap-type:y mandatory;scrollbar-width:none;height:220px;position:relative;overflow-y:scroll}.mobile-datetime-wheel__scroll::-webkit-scrollbar{display:none}.mobile-datetime-wheel__scroll:before,.mobile-datetime-wheel__scroll:after{content:"";height:88px;display:block}.mobile-datetime-wheel__item{scroll-snap-align:center;height:44px;color:var(--ant-color-text-tertiary);font-variant-numeric:tabular-nums;place-items:center;font-size:17px;display:grid}.mobile-datetime-wheel__item.is-selected{color:var(--ant-color-text);font-weight:700}.mobile-datetime-sheet__confirm{border-radius:12px;height:46px}.calendar-event-form__grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.calendar-event-form__recurrence{border:1px solid var(--ant-color-border-secondary);border-radius:12px;gap:12px;padding:16px;display:grid}.calendar-event-form__scope{border-radius:14px}.calendar-event-form__details-toggle{border:1px solid var(--ant-color-border-secondary);width:100%;min-height:68px;color:var(--ant-color-text);background:var(--ant-color-bg-container);font:inherit;text-align:left;cursor:pointer;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;padding:11px 14px;transition:border-color .15s,background .15s;display:flex}.calendar-event-form__details-toggle:hover,.calendar-event-form__details-toggle:focus-visible,.calendar-event-form__details-toggle.is-open{border-color:var(--ant-color-primary-border);background:var(--ant-color-primary-bg)}.calendar-event-form__details-toggle>span{gap:3px;min-width:0;display:grid}.calendar-event-form__details-toggle small{color:var(--ant-color-text-secondary);line-height:1.35}.calendar-event-form__details-toggle>.anticon{color:var(--ant-color-text-tertiary);transition:transform .16s}.calendar-event-form__details-toggle.is-open>.anticon{transform:rotate(180deg)}.calendar-event-form__optional{border:1px solid var(--ant-color-border-secondary);background:color-mix(in srgb, var(--ant-color-fill-quaternary) 42%, transparent);border-radius:16px;gap:18px;padding:18px;display:grid}.calendar-event-form__inline-label{border:1px solid var(--ant-color-border);background:var(--ant-color-fill-quaternary);border-inline-end:0;border-radius:8px 0 0 8px;align-items:center;padding-inline:12px;display:inline-flex}.calendar-event-detail{gap:18px;padding-block:8px;display:grid}.calendar-event-detail__hero{background:linear-gradient(145deg, color-mix(in srgb, var(--ant-color-primary-bg) 86%, var(--ant-color-bg-container)), var(--ant-color-bg-container));border-radius:18px;grid-template-columns:50px minmax(0,1fr);align-items:start;gap:15px;padding:20px;display:grid}.calendar-event-detail__date-icon{background:var(--ant-color-primary);width:50px;height:50px;color:var(--ant-color-text-light-solid);box-shadow:0 8px 18px color-mix(in srgb, var(--ant-color-primary) 26%, transparent);border-radius:15px;place-items:center;font-size:22px;display:grid}.calendar-event-detail__hero>div{gap:4px;min-width:0;display:grid}.calendar-event-detail__hero h2.ant-typography{overflow-wrap:anywhere;margin:1px 0;font-size:25px;line-height:1.2}.calendar-event-detail__hero>div>.ant-typography:first-child{color:var(--ant-color-primary);text-transform:capitalize;font-size:12px;font-weight:720}.calendar-event-detail__time{color:var(--ant-color-text-secondary);font-weight:600}.calendar-event-detail__facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.calendar-event-detail__facts>div{border:1px solid var(--ant-color-border-secondary);background:var(--ant-color-bg-container);border-radius:13px;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:9px;min-height:70px;padding:11px 12px;display:grid}.calendar-event-detail__facts>div>.anticon{color:var(--ant-color-primary);font-size:17px}.calendar-event-detail__facts span{gap:1px;min-width:0;display:grid}.calendar-event-detail__facts small{color:var(--ant-color-text-secondary)}.calendar-event-detail__facts strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-event-detail__notes{background:var(--ant-color-fill-quaternary);border-radius:14px;grid-template-columns:24px minmax(0,1fr);gap:10px;padding:15px;display:grid}.calendar-event-detail__notes>.anticon{color:var(--ant-color-primary);margin-top:2px}.calendar-event-detail__notes .ant-typography{white-space:pre-wrap;margin:0}.calendar-event-detail__audit{padding-inline:4px;font-size:12px}.calendar-event-editor__detail-actions{justify-content:flex-end;gap:10px;display:flex}.calendar-event-editor__detail-actions .ant-btn{border-radius:11px;min-width:116px;min-height:44px}.calendar-category-manager__create{margin-bottom:18px}.calendar-category-manager__intro{margin-bottom:18px!important}.calendar-category-manager__create .ant-select{min-width:130px}.calendar-category-manager__list{border-top:1px solid var(--ant-color-border-secondary);max-height:min(420px,50vh);overflow-y:auto}.calendar-category-manager__item{border-bottom:1px solid var(--ant-color-border-secondary);justify-content:space-between;align-items:center;gap:16px;min-height:54px;display:flex}.calendar-category-manager__done{min-width:112px}.dashboard-calendar-events{gap:4px;display:grid}.dashboard-calendar-events__item,.dashboard-next-event{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;border:0}.dashboard-calendar-events__item{background:0 0;border-radius:10px;grid-template-columns:38px minmax(0,1fr) auto 14px;align-items:center;gap:10px;min-height:58px;padding:7px;display:grid}.dashboard-calendar-events__item:hover,.dashboard-calendar-events__item:focus-visible{background:var(--ant-color-fill-quaternary)}.dashboard-calendar-events__icon,.dashboard-next-event__icon{background:color-mix(in srgb, var(--ant-color-primary) 12%, transparent);width:36px;height:36px;color:var(--ant-color-primary);border-radius:10px;place-items:center;font-size:17px;display:inline-grid}.dashboard-calendar-events__content{min-width:0;display:grid}.dashboard-next-event{background:linear-gradient(145deg, color-mix(in srgb, var(--ant-color-primary) 12%, transparent), transparent);border-radius:14px;align-content:center;justify-items:start;gap:6px;height:100%;min-height:120px;padding:16px;display:grid}.dashboard-next-event h4.ant-typography{margin:6px 0 0}.calendar-event-editor__actions{justify-content:space-between;align-items:center;gap:16px;display:flex}.calendar-event-editor__primary-actions{gap:8px;display:flex}.calendar-event-editor.ant-modal{padding-bottom:24px;top:24px}.calendar-event-editor .ant-modal-body{max-height:calc(100dvh - 220px);padding-inline-end:8px;overflow-y:auto}.family-calendar__mobile-create{display:none}@media (width>=768px) and (width<=991px){.family-calendar__toolbar{flex-wrap:wrap;gap:14px}.family-calendar__navigation{flex:1 0 100%}.family-calendar__toolbar>.ant-segmented{margin-inline-start:auto}.family-calendar-card .fc .fc-list-table{padding:2px 16px 16px}}@media (width<=767px){.family-calendar-page{margin-top:-18px;padding-bottom:48px}.family-calendar__control-panel{box-shadow:0 10px 30px color-mix(in srgb, var(--ant-color-text) 8%, transparent);border-radius:20px;margin-bottom:20px}.family-calendar-mobile{padding:14px}.family-calendar-mobile__month-bar{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.family-calendar-mobile__month-bar h3.ant-typography{letter-spacing:-.035em;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:clamp(20px,5.8vw,24px);font-weight:780;overflow:hidden}.family-calendar-mobile__month-actions{flex:none;align-items:center;gap:2px;display:flex}.family-calendar-mobile__month-actions .ant-btn{min-width:36px;min-height:36px;color:var(--ant-color-text-secondary);border-radius:10px;padding-inline:8px}.family-calendar-mobile__month-actions .ant-btn:first-child{color:var(--ant-color-primary);font-size:12px;font-weight:680}.family-calendar-mobile__weekdays,.family-calendar-mobile__month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.family-calendar-mobile__weekdays{border-top:1px solid var(--ant-color-border-secondary);color:var(--ant-color-text-tertiary);letter-spacing:.045em;text-align:center;text-transform:uppercase;margin-top:16px;padding:10px 0 7px;font-size:9px;font-weight:760}.family-calendar-mobile__month-grid{padding-bottom:2px}.family-calendar-mobile__day{min-width:0;min-height:42px;color:var(--ant-color-text-secondary);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;place-items:center;padding:5px 2px 4px;transition:border-color .15s,background .15s,color .15s,transform .15s;display:grid;position:relative}.family-calendar-mobile__day:hover,.family-calendar-mobile__day:focus-visible{border-color:var(--ant-color-primary-border);background:var(--ant-color-primary-bg);color:var(--ant-color-primary)}.family-calendar-mobile__day:active{transform:scale(.97)}.family-calendar-mobile__day.is-selected{border-color:var(--ant-color-primary);background:var(--ant-color-primary);color:var(--ant-color-text-light-solid);box-shadow:0 6px 14px color-mix(in srgb, var(--ant-color-primary) 26%, transparent)}.family-calendar-mobile__day.is-today:not(.is-selected){border-color:var(--ant-color-primary-border);background:var(--ant-color-primary-bg);color:var(--ant-color-primary)}.family-calendar-mobile__day.is-outside{color:var(--ant-color-text-quaternary);opacity:.5}.family-calendar-mobile__day.is-outside.is-selected{color:var(--ant-color-text-light-solid);opacity:1}.family-calendar-mobile__day-number{font-size:14px;font-weight:720;line-height:1}.family-calendar-mobile__event-indicator{background:0 0;border-radius:999px;width:4px;height:4px}.family-calendar-mobile__event-indicator.has-events{background:var(--ant-color-primary)}.family-calendar-mobile__day.is-selected .family-calendar-mobile__event-indicator.has-events{background:currentColor;box-shadow:0 0 0 3px #ffffff29}.family-calendar-mobile__agenda-summary{justify-content:space-between;align-items:end;gap:12px;margin:0 2px 12px;display:flex}.family-calendar-mobile__agenda-summary>div{gap:1px;min-width:0;display:grid}.family-calendar-mobile__agenda-summary .ant-typography:first-child{color:var(--ant-color-primary);letter-spacing:.045em;text-transform:uppercase;font-size:11px;font-weight:720}.family-calendar-mobile__agenda-summary h4.ant-typography{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:18px;overflow:hidden}.family-calendar-mobile__agenda-summary>span{background:var(--ant-color-fill-quaternary);color:var(--ant-color-text-secondary);border-radius:999px;flex:none;padding:5px 9px;font-size:11px;font-weight:650}.family-calendar-mobile__agenda{min-height:150px}.family-calendar-mobile__event-list{gap:9px;display:grid}.family-calendar-mobile__event{--family-calendar-mobile-event-color:var(--ant-color-primary);border:1px solid var(--ant-color-border-secondary);width:100%;min-height:68px;color:var(--ant-color-text);background:var(--ant-color-bg-container);box-shadow:0 5px 16px color-mix(in srgb, var(--ant-color-text) 6%, transparent);font:inherit;text-align:left;cursor:pointer;border-radius:15px;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px 10px 15px;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid;position:relative;overflow:hidden}.family-calendar-mobile__event:before{background:var(--family-calendar-mobile-event-color);content:"";border-radius:0 999px 999px 0;width:4px;position:absolute;top:10px;bottom:10px;left:0}.family-calendar-mobile__event:hover,.family-calendar-mobile__event:focus-visible{border-color:color-mix(in srgb, var(--family-calendar-mobile-event-color) 42%, var(--ant-color-border-secondary));box-shadow:0 8px 22px color-mix(in srgb, var(--ant-color-text) 10%, transparent)}.family-calendar-mobile__event:active{transform:scale(.99)}.family-calendar-mobile__event.is-cancelled{opacity:.62}.family-calendar-mobile__event-time{color:var(--family-calendar-mobile-event-color);font-size:12px;font-weight:750}.family-calendar-mobile__event-content{gap:3px;min-width:0;display:grid}.family-calendar-mobile__event-content strong,.family-calendar-mobile__event-content small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.family-calendar-mobile__event-content strong{font-size:14px}.family-calendar-mobile__event-content small{color:var(--ant-color-text-secondary);font-size:11px}.family-calendar-mobile__event>.anticon{color:var(--ant-color-text-tertiary);font-size:11px}.family-calendar-mobile__empty{border:1px dashed var(--ant-color-border-secondary);background:color-mix(in srgb, var(--ant-color-fill-quaternary) 72%, transparent);border-radius:16px;padding:28px 12px 20px}.family-calendar-mobile__floating-actions{z-index:29;right:18px;bottom:calc(86px + env(safe-area-inset-bottom));pointer-events:none;justify-content:space-between;align-items:end;display:flex;position:fixed;left:18px}.family-calendar-mobile__floating-button.ant-btn{pointer-events:auto;border-radius:50%;place-items:center;width:56px;min-width:56px;height:56px;padding:0;font-size:22px;display:grid;position:relative;box-shadow:0 10px 24px #001b3d38}.family-calendar-mobile__floating-button--filter.ant-btn{border-color:var(--ant-color-border-secondary);background:color-mix(in srgb, var(--ant-color-bg-container) 94%, transparent);color:var(--ant-color-text);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.family-calendar-mobile__floating-button--filter.is-active.ant-btn{border-color:var(--ant-color-primary-border);color:var(--ant-color-primary)}.family-calendar-mobile__floating-button--create.ant-btn{box-shadow:0 12px 26px color-mix(in srgb, var(--ant-color-primary) 38%, transparent)}.family-calendar-mobile__floating-count{border:2px solid var(--ant-color-bg-container);background:var(--ant-color-primary);min-width:20px;height:20px;color:var(--ant-color-text-light-solid);border-radius:999px;place-items:center;padding-inline:5px;font-size:10px;font-weight:800;line-height:16px;display:grid;position:absolute;top:-2px;right:-2px}.family-calendar-card{box-shadow:none;background:0 0;border:0;border-radius:0;overflow:visible}.family-calendar-card .ant-card-body>div>div>div{background-color:#0000!important;border:0!important}.family-calendar-card .ant-empty{padding:22px 12px}.family-calendar-card .ant-empty .ant-btn{min-height:42px;margin-top:6px}.family-calendar-card--listDay [role=listitem]>[data-date]{display:none}.family-calendar-card--listDay [role=listitem]>[role=list]{padding:0}.family-calendar-card--listWeek [role=listitem]>[data-date]{margin-inline:0}.family-calendar-card--listWeek [role=listitem]>[role=list]{padding-inline:0}.family-calendar-card [role=listitem]>[role=list]>[role=button]{min-height:66px}.family-calendar-event-content__title{font-size:13px}.family-calendar__desktop-create{display:none}.family-calendar-filter-drawer__categories{min-height:42px;color:var(--ant-color-primary);justify-content:flex-start;margin-top:-8px}.family-calendar-filter-drawer .ant-drawer-content{border-radius:22px 22px 0 0}.family-calendar-filter-drawer .ant-drawer-footer,.calendar-category-manager .ant-drawer-footer{padding-bottom:calc(12px + env(safe-area-inset-bottom));background:var(--ant-color-bg-container)}.calendar-event-form__dates,.calendar-event-form__grid{grid-template-columns:1fr}.calendar-event-form__optional{padding:14px}.calendar-event-editor--detail .ant-drawer-content{border-radius:22px 22px 0 0;max-height:72dvh;overflow:hidden}.calendar-event-editor--detail .ant-drawer-body{overflow-y:auto}.calendar-event-editor__detail-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.calendar-event-editor__detail-actions .ant-btn{width:100%}.calendar-event-editor__actions{grid-template-columns:minmax(0,1fr);justify-content:stretch;align-items:stretch;gap:10px;display:grid}.calendar-event-editor__primary-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.calendar-event-editor__actions>.ant-btn-dangerous{grid-row:2}.calendar-event-editor__actions .ant-btn,.calendar-event-editor__primary-actions{width:100%}.calendar-event-editor__actions .ant-btn{border-radius:11px;min-height:46px}.calendar-event-editor .ant-drawer-footer{padding-bottom:calc(12px + env(safe-area-inset-bottom));background:var(--ant-color-bg-container)}.calendar-category-manager__create{grid-template-columns:minmax(0,1fr) auto;display:grid}.calendar-category-manager__create .ant-input{grid-column:1/-1;border-radius:8px!important}.calendar-category-manager__create .ant-select,.calendar-category-manager__create .ant-btn{width:100%;border-radius:8px!important}.calendar-category-manager__done{border-radius:11px;width:100%;min-height:46px}}@media (width<=350px){.calendar-event-form__intro{display:none}.calendar-event-form{gap:13px}.family-calendar-mobile__month-bar h3.ant-typography{font-size:20px}.family-calendar-mobile__month-actions{gap:0}.family-calendar-mobile__month-actions .ant-btn{min-width:32px;padding-inline:5px}.family-calendar-mobile__month-actions .ant-btn:first-child{font-size:11px}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility}.dark-theme{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.theme-toggle-button,.language-toggle-button{border-radius:8px;height:40px}html{background:var(--ant-color-bg-layout,#f9f9f9);min-height:100%}body,#root{min-height:100dvh}body{overscroll-behavior-y:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea,select{font:inherit}
