.mobile-layout{flex-direction:column;max-width:480px;height:100dvh;min-height:100dvh;max-height:100dvh;margin:0 auto;display:flex;overflow:hidden}.mobile-layout--calendar.ant-layout{box-sizing:border-box;height:100dvh;max-height:100dvh;padding-bottom:var(--mobile-tab-bar-total);flex-direction:column;display:flex;overflow:hidden;min-height:0!important}.mobile-layout-content{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden auto}.mobile-layout-content--calendar{flex-direction:column;flex:1;min-height:0;padding:0;display:flex;overflow:hidden}.mobile-layout-content--default{padding:var(--page-padding-y) var(--page-padding-x) calc(var(--page-padding-y) + var(--mobile-tab-bar-total))}.mobile-layout-content--fullscreen{flex-direction:column;padding:0;display:flex;overflow:hidden}.mobile-layout-content--fullscreen>*{flex-direction:column;flex:1;min-height:0;display:flex}.mobile-bottom-nav-wrap{width:100%;max-width:480px;padding:0 10px calc(2px + env(safe-area-inset-bottom,0px));z-index:1200;pointer-events:none;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.mobile-bottom-nav{border:1px solid var(--mobile-tab-bar-border);background:var(--mobile-tab-bar-bg);min-height:54px;box-shadow:var(--mobile-tab-bar-shadow);-webkit-backdrop-filter:blur(18px);pointer-events:auto;border-radius:28px;justify-content:center;align-items:center;gap:4px;padding:6px;display:flex}.mobile-bottom-nav-item{min-width:0;height:42px;color:var(--mobile-tab-inactive);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;font:inherit;background:0 0;border:none;border-radius:21px;flex:1;justify-content:center;align-items:center;padding:0;transition:background-color .18s,color .18s,transform 80ms;display:flex;position:relative}.mobile-bottom-nav-item:active{transform:scale(.82)}.mobile-bottom-nav-item--active{background:var(--mobile-tab-active-bg);color:var(--mobile-tab-active)}.mobile-bottom-nav-item--active:active{transform:scale(.88)}.mobile-bottom-nav-icon{font-size:var(--text-lg);flex-shrink:0;justify-content:center;align-items:center;line-height:1;transition:transform .14s;display:inline-flex}.mobile-bottom-nav-item:active .mobile-bottom-nav-icon{transform:scale(1.28)}.mobile-bottom-nav-item--active .mobile-bottom-nav-icon{animation:.34s ease-out mobile-nav-icon-pulse}.mobile-layout[data-theme=dark]{--mobile-tab-bar-bg:#141414d1;--mobile-tab-bar-border:#ffffff1a;--mobile-tab-bar-shadow:0 16px 42px #0000006b;--mobile-tab-active:#69b1ff;--mobile-tab-active-bg:#1677ff33;--mobile-tab-inactive:#8c8c8c}.mobile-layout[data-theme=light]{--mobile-tab-bar-bg:#ffffffdb;--mobile-tab-bar-border:#00000014;--mobile-tab-bar-shadow:0 16px 42px #19233729;--mobile-tab-active:#1677ff;--mobile-tab-active-bg:#1677ff1f;--mobile-tab-inactive:#8c8c8c}.back-button{border:1px solid var(--color-border);background:var(--color-surface);width:44px;height:44px;color:inherit;cursor:pointer;touch-action:manipulation;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;font-size:20px;display:inline-flex}.back-button:active{transform:scale(.94)}.lazy-image{background:var(--color-surface-muted);justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.lazy-image img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .25s}.lazy-image--loaded img{opacity:1}.lazy-image__shimmer{background:linear-gradient(90deg, var(--color-surface-muted) 0%, color-mix(in srgb, var(--color-border) 40%, var(--color-surface-muted)) 50%, var(--color-surface-muted) 100%);background-size:200% 100%;animation:1.2s ease-in-out infinite lazy-image-shimmer;position:absolute;inset:0}.lazy-image--placeholder{color:var(--color-text-secondary);font-size:22px;font-weight:600}@keyframes lazy-image-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.product-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.product-grid--large{grid-template-columns:repeat(2,1fr);gap:12px}.product-grid-empty{text-align:center;color:var(--color-text-secondary);padding:24px}.product-card{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:6px;min-height:120px;padding:8px;display:flex}.product-grid--large .product-card{gap:4px;min-height:136px;padding:6px}.product-card__image{border-radius:10px;width:56px;height:56px}.product-grid--large .product-card__image{border-radius:12px;width:88px;height:88px}.product-card__image img{border-radius:inherit}.product-card__name{font-size:var(--text-xs);line-height:var(--leading-tight);-webkit-line-clamp:2;-webkit-box-orient:vertical;width:100%;display:-webkit-box;overflow:hidden}.product-grid--large .product-card__name{font-size:var(--text-sm)}.product-card__portion{font-size:var(--text-micro);color:var(--color-text-secondary)}.add-meal-page{background:var(--color-page-bg,#f5f5f5);flex-direction:column;height:100%;min-height:0;display:flex}html[data-theme=dark] .add-meal-page{--color-page-bg:#000}.add-meal-sticky{z-index:20;padding:var(--page-padding-y) var(--page-padding-x) var(--space-2);background:var(--color-page-bg,#f5f5f5);border-bottom:1px solid var(--color-border);flex-shrink:0}html[data-theme=dark] .add-meal-sticky{--color-page-bg:#000}.add-meal-header{align-items:center;gap:var(--space-1);margin-bottom:var(--space-2);display:flex}.add-meal-title{flex:1;margin:0!important}.add-meal-switch,.add-meal-search{margin-bottom:var(--space-2)}.add-meal-search .ant-input-affix-wrapper{min-height:34px;padding-block:4px}.add-meal-search .ant-input{font-size:var(--text-sm)}.add-meal-categories{gap:var(--space-1);-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px;display:flex;overflow-x:auto}.add-meal-categories::-webkit-scrollbar{display:none}.add-meal-category{border:1px solid var(--color-border);background:var(--color-surface);font:inherit;font-size:var(--text-xs);cursor:pointer;touch-action:manipulation;border-radius:999px;flex-shrink:0;padding:6px 12px}.add-meal-category--active{border-color:var(--color-protein);background:var(--color-protein-bg);color:var(--color-protein);font-weight:600}.add-meal-body{-webkit-overflow-scrolling:touch;min-height:0;padding:var(--space-2) var(--page-padding-x) var(--space-4);flex:1;overflow-y:auto}.portion-drawer{gap:var(--space-3);padding-bottom:env(safe-area-inset-bottom,0);flex-direction:column;display:flex}.portion-drawer__image{border-radius:var(--card-radius);width:100%;max-width:200px;height:160px;margin:0 auto}.portion-drawer__description{font-size:var(--text-xs);margin:0!important}.portion-drawer__nutrition{gap:var(--space-2);padding:var(--space-2);border-radius:var(--card-radius);background:var(--color-surface-muted);flex-direction:column;display:flex}.portion-drawer__nutrition-cal{font-size:var(--text-sm);justify-content:space-between;align-items:center;display:flex}.portion-drawer__nutrition-cal strong{font-size:var(--text-md)}.portion-drawer__nutrition-macros{gap:var(--space-1);grid-template-columns:repeat(3,1fr);display:grid}.portion-drawer__macro{padding:var(--space-1);border-radius:var(--control-radius);font-size:var(--text-xs);flex-direction:column;align-items:center;gap:2px;display:flex}.portion-drawer__macro strong{font-size:var(--text-sm)}.portion-drawer__macro--protein{background:var(--color-protein-bg);color:var(--color-protein)}.portion-drawer__macro--fat{background:var(--color-fat-bg);color:var(--color-fat)}.portion-drawer__macro--carbs{background:var(--color-carbs-bg);color:var(--color-carbs)}.portion-drawer__row{justify-content:space-between;align-items:center;gap:var(--space-3);font-size:var(--text-sm);display:flex}.portion-drawer__save-hint{font-size:var(--text-micro);color:var(--color-text-secondary);max-width:260px;line-height:var(--leading-tight);margin-top:2px}.portion-drawer__hint{font-size:var(--text-xs)}.login-page{background:#f5f5f5;justify-content:center;align-items:center;min-height:100vh;padding:24px 16px;display:flex}.login-page[data-theme=dark]{background:#000}.login-panel{background:#fff;border:1px solid #0000000f;border-radius:14px;width:100%;max-width:400px;padding:24px 20px 20px;box-shadow:0 8px 28px #0000000f}.login-page[data-theme=dark] .login-panel{background:#141414;border-color:#ffffff14;box-shadow:0 8px 28px #00000059}.login-title{text-align:center;letter-spacing:-.02em;font-size:var(--text-xl)!important;margin:0 0 4px!important}.login-subtitle{text-align:center;font-size:var(--text-md);margin:0 0 24px!important}.login-panel .ant-form-item{margin-bottom:12px}.login-submit{height:44px;margin-top:8px;font-weight:600}.portions-page{background:var(--color-page-bg,#f5f5f5);flex-direction:column;height:100%;min-height:0;display:flex}html[data-theme=dark] .portions-page{--color-page-bg:#000}.portions-page__sticky{z-index:20;padding:var(--page-padding-y) var(--page-padding-x) var(--space-2);background:var(--color-page-bg,#f5f5f5);border-bottom:1px solid var(--color-border);flex-shrink:0}.portions-page__header{align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.portions-page__heading{flex:1;min-width:0}.portions-page__title{margin:0!important}.portions-page__hint{font-size:var(--text-xs);display:block}.portions-page__tabs,.portions-page__search{margin-bottom:var(--space-2)}.portions-page__search .ant-input-affix-wrapper{padding-block:4px}.portions-page__categories{gap:var(--space-1);scrollbar-width:none;padding-bottom:2px;display:flex;overflow-x:auto}.portions-page__categories::-webkit-scrollbar{display:none}.portions-page__category{border:1px solid var(--color-border);background:var(--color-surface);font:inherit;font-size:var(--text-xs);cursor:pointer;touch-action:manipulation;border-radius:999px;flex-shrink:0;padding:6px 12px}.portions-page__category--active{border-color:var(--color-protein);background:var(--color-protein-bg);color:var(--color-protein);font-weight:600}.portions-page__body{-webkit-overflow-scrolling:touch;min-height:0;padding:var(--space-2) var(--page-padding-x) var(--space-4);flex:1;overflow-y:auto}.portions-list-item{gap:var(--space-2);align-items:center!important}.portions-list-item__image{border-radius:10px;flex-shrink:0;width:48px;height:48px}.portions-list-item .ant-list-item-meta{flex:1;min-width:0}.portions-list-item .ant-input-number{flex-shrink:0;width:88px}.dish-builder-page__header{align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.dish-builder-card{margin-top:var(--space-2)}.goals-summary{align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.goals-summary--compact{gap:var(--space-1)}.goals-summary__chart-wrap{width:140px;height:140px;position:relative}.goals-summary--compact .goals-summary__chart-wrap{width:96px;height:96px}.goals-summary__donut{border-radius:50%;width:100%;height:100%;-webkit-mask:radial-gradient(circle,#0000 52%,#000 53%);mask:radial-gradient(circle,#0000 52%,#000 53%)}.goals-summary__donut-center{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.goals-summary__calories{font-size:var(--text-xl);font-weight:700;line-height:var(--leading-compact);color:var(--color-calories)}.goals-summary--compact .goals-summary__calories{font-size:var(--text-lg)}.goals-summary__calories-label{font-size:var(--text-xs);color:var(--color-text-secondary)}.goals-summary__legend{justify-content:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.goals-summary__legend-item:before{content:"";vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:4px;display:inline-block}.goals-summary__legend-item--protein:before{background:var(--color-protein)}.goals-summary__legend-item--fat:before{background:var(--color-fat)}.goals-summary__legend-item--carbs:before{background:var(--color-carbs)}.goals-summary__macros{gap:var(--space-2);grid-template-columns:repeat(3,1fr);width:100%;display:grid}.goals-summary__macro{padding:var(--space-2);border-radius:var(--control-radius);font-size:var(--text-xs);text-align:center;flex-direction:column;align-items:center;gap:2px;display:flex}.goals-summary__macro strong{font-size:var(--text-sm);font-weight:600}.goals-summary__macro-goal{font-size:var(--text-micro);color:var(--color-text-secondary)}.goals-summary__macro--protein{background:var(--color-protein-bg)}.goals-summary__macro--fat{background:var(--color-fat-bg)}.goals-summary__macro--carbs{background:var(--color-carbs-bg)}.goals-summary--compact .goals-summary__macros{gap:var(--space-1)}.goals-summary--compact .goals-summary__macro{padding:var(--space-1)}.goals-summary--compact .goals-summary__legend{display:none}.goals-summary__inputs{width:100%;padding-top:var(--space-2);border-top:1px solid var(--color-border);font-size:var(--text-xs);color:var(--color-text-secondary);line-height:var(--leading-body)}.goals-summary__inputs-title{color:var(--color-calories);margin-bottom:var(--space-1);font-weight:600}.goals-editor{padding:var(--card-padding);margin-bottom:var(--space-3)}.goals-editor__title{text-align:center;margin:0 0 var(--space-2)!important;font-size:var(--text-md)!important}.goals-editor__form{margin-bottom:var(--space-2)}.goals-editor__per-kg{gap:var(--space-2);grid-template-columns:repeat(3,1fr);display:grid}.goals-editor__per-kg .ant-form-item{margin-bottom:var(--space-2)}.goals-editor__edit{margin-top:var(--space-2)}.goals-editor__actions{gap:var(--space-2);margin-top:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.settings-nav-card{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-2);border:1px solid var(--color-border);border-radius:var(--card-radius);background:var(--color-surface);color:inherit;touch-action:manipulation;text-decoration:none;display:flex}.settings-nav-card__text{flex:1;min-width:0}.settings-nav-card__title{font-size:var(--text-md);font-weight:600;line-height:var(--leading-tight)}.settings-nav-card__desc{font-size:var(--text-xs);color:var(--color-text-secondary);margin-top:2px}.settings-nav-card__icon{color:var(--color-text-secondary);flex-shrink:0;font-size:14px}.settings-page{padding-bottom:var(--space-3)}.settings-card{padding:var(--card-padding);margin-bottom:var(--space-2)}.settings-row{font-size:var(--text-sm);justify-content:space-between;align-items:center;display:flex}.settings-logout{margin-top:var(--space-2)}.shopping-header{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.shopping-section-title{margin-top:var(--space-4)!important}.shopping-item__name--done{color:var(--color-text-secondary);text-decoration:line-through}.shopping-item__qty,.shopping-item__price{color:var(--color-text-secondary);font-size:var(--text-xs)}.shopping-custom{gap:var(--space-2);margin-bottom:var(--space-2);flex-direction:column;display:flex}.shopping-drawer-categories{gap:var(--space-1);margin-bottom:var(--space-2);scrollbar-width:none;display:flex;overflow-x:auto}.shopping-drawer-categories::-webkit-scrollbar{display:none}.shopping-drawer-category{border:1px solid var(--color-border);background:var(--color-surface);font:inherit;font-size:var(--text-xs);cursor:pointer;border-radius:999px;flex-shrink:0;padding:6px 12px}.shopping-drawer-category--active{border-color:var(--color-protein);background:var(--color-protein-bg);color:var(--color-protein);font-weight:600}.shopping-drawer-grid{max-height:calc(82vh - 160px);overflow-y:auto}.today-nutrition-summary{gap:var(--space-2);flex-direction:column;display:flex}.calories-row{align-items:center;gap:var(--space-2);grid-template-columns:1fr auto 1fr;display:grid}.calories-row__side{flex-direction:column;align-items:center;gap:2px;font-size:11px;line-height:1.2;display:flex}.calories-row__side--right{text-align:center}.calories-row__label{color:var(--color-text-secondary)}.calories-row__side strong{font-size:var(--text-sm);font-weight:700}.calories-ring{--ring-size:88px;width:var(--ring-size);height:var(--ring-size);background:radial-gradient(farthest-side, var(--color-surface) 62%, transparent 63% 100%), conic-gradient(var(--color-protein) var(--cal-progress), color-mix(in srgb, var(--color-border) 55%, transparent) 0);border-radius:50%;place-items:center;display:grid}.today-nutrition-summary--hero .calories-ring{background:radial-gradient(farthest-side, color-mix(in srgb, var(--color-surface) 94%, transparent) 62%, transparent 63% 100%), conic-gradient(var(--color-protein) var(--cal-progress), #ffffff2e 0)}.calories-ring--empty{background:radial-gradient(farthest-side, var(--color-surface) 62%, transparent 63% 100%), conic-gradient(color-mix(in srgb, var(--color-border) 45%, transparent) 100%, transparent 0)}.calories-ring__inner{text-align:center;line-height:1.1}.calories-ring__value{font-size:22px;font-weight:700}.calories-ring__unit{color:var(--color-text-secondary);font-size:10px}.macro-row{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.macro-column{background:var(--macro-bg);border-radius:10px;padding:6px 8px}.macro-column__head{justify-content:space-between;align-items:baseline;gap:4px;margin-bottom:4px;display:flex}.macro-column__label{color:var(--macro-color);font-size:11px;font-weight:700}.macro-column__value{font-size:11px;font-weight:600;line-height:1}.macro-column__goal{color:var(--color-text-secondary);font-weight:400}.macro-column__track{background:color-mix(in srgb, var(--color-border) 45%, transparent);border-radius:999px;height:4px;overflow:hidden}.macro-column--empty .macro-column__track{border:1px dashed color-mix(in srgb, var(--color-border) 70%, transparent);background:0 0}.macro-column__fill{border-radius:inherit;background:var(--macro-color);height:100%;transition:width .3s}.macro-column--empty .macro-column__value{color:var(--color-text-secondary);font-weight:500}.stats-page{gap:var(--space-2);padding-bottom:var(--space-4);flex-direction:column;display:flex}.stats-page--center{justify-content:center;align-items:center;min-height:50vh;display:flex}.stats-period{margin:var(--space-2) 0}.stats-nav{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.stats-nav__label{text-align:center;font-size:var(--text-sm);flex:1;font-weight:600}.stats-nav__btn{border:1px solid var(--color-border)!important;border-radius:14px!important;width:44px!important;height:44px!important}.stats-totals{gap:var(--space-3);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.stats-totals--large{font-size:var(--text-md);font-weight:600}.stats-card,.stats-chart-card{margin:0}.meal-section{padding:var(--space-2);min-width:0}.meal-section__header{align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-1);display:flex}.meal-section__title-wrap{flex:1;min-width:0}.meal-section__title{font-size:var(--text-sm);font-weight:600;line-height:var(--leading-tight);margin:0}.meal-section__stats{color:var(--color-text-secondary);margin:2px 0 0;font-size:11px;line-height:1.3}.meal-section__goal{color:var(--color-protein);margin:2px 0 0;font-size:11px}.meal-section__add{background:var(--color-protein-bg);width:32px;height:32px;color:var(--color-protein);cursor:pointer;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;display:inline-flex}.meal-section__empty{padding:var(--space-1) 0 0;color:var(--color-text-secondary);margin:0;font-size:11px}.meal-section__list{margin:var(--space-1) 0 0;flex-direction:column;gap:6px;padding:0;list-style:none;display:flex}.meal-entry{border-top:1px solid color-mix(in srgb, var(--color-border) 60%, transparent);grid-template-columns:32px 1fr auto auto;align-items:center;gap:6px;padding:4px 0;display:grid}.meal-entry:first-child{border-top:none;padding-top:0}.meal-entry__image{border-radius:8px;width:32px;height:32px;font-size:12px}.meal-entry__info{flex-direction:column;gap:1px;min-width:0;display:flex}.meal-entry__name{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;line-height:1.25;overflow:hidden}.meal-entry__macros{color:var(--color-text-secondary);font-size:10px}.meal-entry__portion{width:64px!important}.meal-entry__portion .ant-input-number-input{text-align:right;padding:2px 6px!important;font-size:12px!important}.meal-entry__delete{width:28px;height:28px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:13px;display:inline-flex}.meal-entry__delete:active{color:#ff4d4f}.today-page{gap:var(--space-2);padding-bottom:var(--space-2);flex-direction:column;display:flex}.today-header{flex-shrink:0}.today-header__title{text-align:center}.today-hero{padding:var(--space-2) var(--space-3);border-radius:calc(var(--card-radius) + 4px);background:linear-gradient(165deg, color-mix(in srgb, var(--color-protein) 12%, var(--color-surface)), color-mix(in srgb, var(--color-fat) 8%, var(--color-surface)));border:1px solid var(--color-border);flex-shrink:0}html[data-theme=dark] .today-hero{background:linear-gradient(165deg, color-mix(in srgb, var(--color-protein) 18%, #141414), color-mix(in srgb, var(--color-fat) 12%, #141414))}.today-hero--loading{opacity:.6}.today-meals-layout{gap:var(--space-2);flex-direction:column;display:flex}.today-meals-row{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.today-meals-row--single{grid-template-columns:1fr}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--page-padding-x:8px;--page-padding-y:8px;--card-radius:12px;--card-padding:10px;--color-protein:#1677ff;--color-protein-bg:#1677ff1a;--color-fat:#fa8c16;--color-fat-bg:#fa8c161f;--color-carbs:#52c41a;--color-carbs-bg:#52c41a1f;--color-calories:#262626;--color-surface:#fff;--color-surface-muted:#f5f5f5;--color-border:#00000014;--color-text-secondary:#8c8c8c}html[data-theme=dark]{--color-calories:#f5f5f5;--color-surface:#141414;--color-surface-muted:#1f1f1f;--color-border:#ffffff1a;--color-text-secondary:#8c8c8c;--color-protein-bg:#1677ff2e;--color-fat-bg:#fa8c162e;--color-carbs-bg:#52c41a2e}.app-card{border-radius:var(--card-radius);border:1px solid var(--color-border);background:var(--color-surface)}.app-title{margin:0 0 var(--space-1)!important;font-size:var(--text-lg)!important;line-height:var(--leading-tight)!important;font-weight:600!important}.app-subtitle{font-size:var(--text-xs);color:var(--color-text-secondary)}.app-section-title{margin:var(--space-3) 0 var(--space-2)!important;font-size:var(--text-md)!important;font-weight:600!important;line-height:var(--leading-tight)!important}:root{--text-micro:8px;--text-xs:11px;--text-sm:12px;--text-md:14px;--text-lg:16px;--text-xl:20px;--leading-tight:1.25;--leading-body:1.35;--leading-compact:1.15;--control-height:32px;--control-height-lg:40px;--control-radius:8px;--control-font-size:var(--text-sm);--label-font-size:var(--text-xs)}.ant-input,.ant-input-affix-wrapper,.ant-input-number,.ant-input-number-input,.ant-select:not(.ant-select-lg) .ant-select-selector,.ant-picker{font-size:var(--control-font-size)!important;border-radius:var(--control-radius)!important}.ant-input-sm,.ant-input-affix-wrapper-sm,.ant-input-number-sm,.ant-select-sm .ant-select-selector,.ant-picker-small{height:var(--control-height);min-height:var(--control-height)!important;font-size:var(--control-font-size)!important;border-radius:var(--control-radius)!important}.ant-input-sm,.ant-input-affix-wrapper-sm>input.ant-input,.ant-select-sm .ant-select-selection-item,.ant-select-sm .ant-select-selection-placeholder,.ant-picker-small .ant-picker-input>input{line-height:calc(var(--control-height) - 4px)!important}.ant-select-sm .ant-select-selector{padding:0 8px!important}.ant-input-affix-wrapper-sm{padding-inline:8px}.ant-input-affix-wrapper,.ant-input-affix-wrapper-sm{align-items:center!important}.ant-input-affix-wrapper>input.ant-input,.ant-input-affix-wrapper-sm>input.ant-input{line-height:calc(var(--control-height) - 2px)!important}.ant-input-affix-wrapper .ant-input-prefix,.ant-input-affix-wrapper .ant-input-suffix{align-items:center;display:inline-flex}.ant-form-item-label>label,.ant-form-item .ant-form-item-label>label{font-size:var(--label-font-size)!important}.ant-select .ant-select-selection-search-input{caret-color:#0000}.ant-select:not(.ant-select-show-search) .ant-select-selection-search-input,.ant-select:not(.ant-select-show-search) .ant-select-selection-search-mirror{pointer-events:none}.ant-btn{font-size:var(--text-sm)}.ant-btn-sm{font-size:var(--text-sm);height:var(--control-height);padding-inline:10px}.ant-btn-link,.ant-btn-link:not(:disabled):not(.ant-btn-disabled){font-size:var(--text-sm)!important;line-height:var(--leading-body)!important}.ant-card-small>.ant-card-body{font-size:var(--text-sm)}.app-text-sm{font-size:var(--text-sm);line-height:var(--leading-body)}.field-label{font-size:var(--label-font-size);line-height:var(--leading-tight)}.page-loading{justify-content:center;padding:32px;display:flex}.g2-tooltip,.g2-tooltip-title,.g2-tooltip-list-item,.g2-tooltip-list-item-value,.g2-tooltip-list-item-name{font-size:var(--text-xs)!important;line-height:var(--leading-tight)!important}.ant-tooltip-inner{font-size:var(--text-xs);line-height:var(--leading-tight)}.ant-modal-title{font-size:var(--text-lg)!important;line-height:var(--leading-tight)!important}.ant-modal-body,.ant-modal-confirm-body,.ant-modal-confirm-content{font-size:var(--text-sm);line-height:var(--leading-body)}.ant-drawer-title{font-size:var(--text-lg)!important;line-height:var(--leading-tight)!important}.ant-drawer-body,.ant-popover-inner-content{font-size:var(--text-sm);line-height:var(--leading-body)}.ant-popconfirm-message-title{font-size:var(--text-sm)}.ant-input-number-input{caret-color:auto}.ant-input-number input[inputmode=decimal],.ant-input-number input[inputmode=numeric]{appearance:none}.amount-field{flex-shrink:0;align-items:center;gap:4px;max-width:100%;display:inline-flex}.amount-field .ant-input,.amount-field .ant-input-sm{text-align:right;font-variant-numeric:tabular-nums;border-radius:var(--control-radius)!important}.amount-field-suffix{font-size:var(--control-font-size);line-height:var(--control-height);color:#8c8c8c;-webkit-user-select:none;user-select:none;flex-shrink:0}html[data-theme=dark] .amount-field-suffix{color:#a6a6a6}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.app-scroll{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.app-pressable{transition:transform 80ms cubic-bezier(.4,0,.2,1),opacity 80ms,background-color .1s}.app-pressable:active{opacity:.88;transform:scale(.96)}.ant-btn:not(:disabled){transition:transform 80ms,background-color .1s,border-color .1s,box-shadow .1s,color .1s!important}.ant-btn:not(:disabled):active{opacity:.88;transform:scale(.96)}.ant-btn-text:not(:disabled):active,.ant-btn-link:not(:disabled):active{opacity:.82;transform:scale(.92)}.ant-segmented{transition:background-color .2s}.ant-tabs .ant-tabs-ink-bar{transition:all .25s cubic-bezier(.4,0,.2,1)!important}.page-enter{animation:.14s ease-out page-enter}@keyframes page-enter{0%{opacity:.96}to{opacity:1}}.panel-enter{animation:.22s ease-out panel-enter}@keyframes panel-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.mobile-tab-btn{transition:transform .14s,color .22s}.mobile-tab-btn:active{transform:scale(.86)}.mobile-tab-btn--active{animation:.22s ease-out tab-pop}@keyframes mobile-nav-icon-pulse{0%{transform:scale(1)}40%{transform:scale(1.38)}to{transform:scale(1)}}@keyframes tab-pop{0%{transform:scale(.9)}60%{transform:scale(1.06)}to{transform:scale(1)}}}:root{--mobile-tab-bar-height:56px;--mobile-tab-bar-bottom-gap:6px;--mobile-tab-bar-inset:calc(env(safe-area-inset-bottom,0px) + var(--mobile-tab-bar-bottom-gap));--mobile-tab-bar-total:calc(var(--mobile-tab-bar-height) + var(--mobile-tab-bar-inset))}*{box-sizing:border-box}html,body,#root{min-height:100%;font-size:var(--text-sm);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}html.route-calendar,body.route-calendar{overscroll-behavior:none;height:100%;overflow:hidden}html.route-calendar #root{height:100dvh;max-height:100dvh;overflow:hidden}body{-webkit-user-select:none;user-select:none;background:#f5f5f5;overflow-x:hidden}input,textarea,.ant-input,.ant-input-affix-wrapper input,.ant-picker-input input,[contenteditable=true]{-webkit-user-select:text;user-select:text}html[data-theme=dark] body{background:#000}button,.ant-btn,[role=button]{-webkit-touch-callout:none;touch-action:manipulation}
