*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;width:100%;margin:0;padding:0;overflow-x:hidden;font-family:Inter,-apple-system,Roboto,Helvetica,sans-serif}html{font-size:80%}body{font-size:1rem}h1{font-size:1.875rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.125rem}h5{font-size:1rem}h6{font-size:.875rem}input,textarea,select,button{font-size:1rem}@media screen and (min-width: 768px){.brand-name,.login-title,.hero-title,.form-title{transform:scale(.8);transform-origin:left center}}app-root{display:flex;flex-direction:column;min-height:100vh;width:100%}@media (max-width: 768px){body.sidebar-mobile-visible .main-column{display:none!important}body.sidebar-mobile-visible .sidebar-column{display:block!important;width:100%!important}}button,a,input[type=button],input[type=submit],input[type=reset],.btn,.button{min-height:44px;min-width:44px;touch-action:manipulation}@media (max-width: 768px){button,a.nav-link,a.mobile-nav-link,.clickable{position:relative;min-height:48px;display:inline-flex;align-items:center;justify-content:center}button:not(.large-button){padding:12px 16px}input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],input[type=date],input[type=time],select,textarea{min-height:48px;padding:12px 16px;font-size:16px}input[type=checkbox],input[type=radio]{width:24px;height:24px;cursor:pointer}label:has(input[type=checkbox]),label:has(input[type=radio]){display:inline-flex;align-items:center;min-height:44px;cursor:pointer;gap:12px}}@media (max-width: 768px){.btn+.btn,button+button,a.nav-link+a.nav-link{margin-left:8px}.btn-group-vertical .btn+.btn,.button-stack button+button{margin-top:8px;margin-left:0}}:focus-visible{outline:2px solid #4f46e5;outline-offset:2px}@media (hover: none){*{-webkit-tap-highlight-color:transparent}}html{scroll-behavior:smooth}body{overflow-x:hidden}@supports (padding: env(safe-area-inset-left)){body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.dashboard-header,.header,.footer{padding-left:calc(16px + env(safe-area-inset-left));padding-right:calc(16px + env(safe-area-inset-right))}}:root{--font-scale: .8;--font-size-xs: 9.6px;--font-size-sm: 11.2px;--font-size-base: 12.8px;--font-size-lg: 14.4px;--font-size-xl: 19.2px;--font-size-2xl: 24px}.brand-name{font-size:var(--font-size-xl)!important}.login-title{font-size:var(--font-size-2xl)!important}.login-subtitle,.hero-description{font-size:var(--font-size-base)!important}.hero-title,.form-title{font-size:var(--font-size-xl)!important}.form-label,.nav-link,.language-option{font-size:var(--font-size-sm)!important}.form-input,.submit-button{font-size:var(--font-size-base)!important;height:40px!important}.forgot-link,.checkbox-label{font-size:var(--font-size-sm)!important}.dashboard-header .brand-name{font-size:var(--font-size-xl)!important}.dashboard-header .nav-link,.user-initials,.sidebar .nav-item,.menu-item .menu-text{font-size:var(--font-size-base)!important}.section-title{font-size:var(--font-size-xs)!important}.meal-item{font-size:var(--font-size-sm)!important}.promo-title{font-size:var(--font-size-base)!important}.promo-subtitle,.promo-description{font-size:var(--font-size-xs)!important}.promo-button{font-size:var(--font-size-sm)!important}.welcome-text .title{font-size:var(--font-size-xl)!important}.welcome-text .subtitle,.status-title{font-size:var(--font-size-base)!important}.status-description{font-size:var(--font-size-sm)!important}.status-badge,.connection-status,.connection-info{font-size:var(--font-size-xs)!important}.connection-name{font-size:14.4px!important}.connection-description,.btn-outline{font-size:var(--font-size-sm)!important}.meal-plan-header h1{font-size:var(--font-size-xl)!important}.calendar-header,.selected-date,.meal-section h3{font-size:var(--font-size-base)!important}.meal-item-title{font-size:var(--font-size-sm)!important}.nutrition-info{font-size:var(--font-size-xs)!important}.stat-value{font-size:var(--font-size-xl)!important}.stat-label{font-size:var(--font-size-sm)!important}.week-header{font-size:var(--font-size-lg)!important}.day-label{font-size:var(--font-size-sm)!important}.workout-title{font-size:var(--font-size-base)!important}.dialog-header h2{font-size:var(--font-size-lg)!important}.message-bubble p,.message-input{font-size:var(--font-size-base)!important}.alert{font-size:var(--font-size-sm)!important}.invalid-feedback{font-size:var(--font-size-xs)!important}.loading-indicator{font-size:var(--font-size-base)!important}button,.btn,.submit-button{padding:8px 16px!important}.promo-button{padding:8px!important}input[type=text],input[type=email],input[type=password],textarea,select{padding:10px 12px!important;font-size:var(--font-size-base)!important}table{font-size:var(--font-size-sm)!important}th{font-size:var(--font-size-sm)!important;font-weight:600}.modal-title{font-size:var(--font-size-lg)!important}.modal-body{font-size:var(--font-size-base)!important}.tooltip{font-size:var(--font-size-xs)!important}.breadcrumb,.pagination{font-size:var(--font-size-sm)!important}@media (max-width: 768px){:root{--font-size-xs: 9px;--font-size-sm: 10.5px;--font-size-base: 12px;--font-size-lg: 13.5px;--font-size-xl: 18px;--font-size-2xl: 22.5px}.form-input,.submit-button{height:36px!important}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){:root{--font-scale: .85}}.text-xs{font-size:var(--font-size-xs)!important}.text-sm{font-size:var(--font-size-sm)!important}.text-base{font-size:var(--font-size-base)!important}.text-lg{font-size:var(--font-size-lg)!important}.text-xl{font-size:var(--font-size-xl)!important}.text-2xl{font-size:var(--font-size-2xl)!important}
