*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*{outline:2px solid transparent;outline-offset:2px}html{transition:background-color .2s ease,color .2s ease}body{background-color:var(--background);color:var(--foreground);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;padding-bottom:env(safe-area-inset-bottom,0px);transition:background-color .2s ease,color .2s ease}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) h1,:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) h2,:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) h3,:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) h4,:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) p,:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) label,:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) button,:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) input{transform:translateZ(0);backface-visibility:hidden}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) h1{font-size:32px;font-weight:var(--font-weight-semibold);line-height:1.2;letter-spacing:-.02em}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) h2{font-size:28px;font-weight:var(--font-weight-semibold);line-height:1.3;letter-spacing:-.01em}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) h3{font-size:24px;font-weight:var(--font-weight-semibold);line-height:1.3;letter-spacing:-.01em}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) h4{font-size:20px;font-weight:var(--font-weight-medium);line-height:1.4}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) p{font-size:16px;font-weight:var(--font-weight-normal);line-height:1.5}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) label,:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) button{font-size:16px;font-weight:var(--font-weight-medium);line-height:1.4}:where(:not(:has([class*=" text-"]),:not(:has([class^=text-])))) input{font-size:16px;font-weight:var(--font-weight-normal);line-height:1.4}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.bottom-1{bottom:.25rem}.left-1\/2{left:50%}.top-0{top:0}.z-40{z-index:40}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.flex{display:flex}.grid{display:grid}.h-1{height:.25rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-16{height:4rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.max-h-80{max-height:20rem}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-16{width:4rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-full{width:100%}.min-w-0{min-width:0px}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-90{--tw-rotate: -90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.whitespace-normal{white-space:normal}.break-words{overflow-wrap:break-word}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-none{border-style:none}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/15{background-color:#ffffff26}.object-cover{-o-object-fit:cover;object-fit:cover}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-32{padding-bottom:8rem}.pb-4{padding-bottom:1rem}.pr-2{padding-right:.5rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[10px\]{font-size:10px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-4{line-height:1rem}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/60{color:#fff9}.text-white\/70{color:#ffffffb3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-xl{--tw-backdrop-blur: blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@custom-variant dark (&:is(.dark *));:root{--font-size: 16px;--background: #F8F9FA;--foreground: #000000;--card: #FFFFFF;--card-foreground: #000000;--card-warm: #EEEEF2;--section-bg: #EEEEF2;--popover: #FFFFFF;--popover-foreground: #000000;--primary: #595880;--primary-foreground: #FFFFFF;--primary-gradient: linear-gradient(135deg, #595880 0%, #7B7BA8 100%);--secondary: #CBCBE7;--secondary-foreground: #000000;--tertiary: #E6E6F5;--tertiary-foreground: #000000;--muted: #F1F3F4;--muted-foreground: #4A4A4A;--placeholder: #8A8A8A;--accent: #7B7BA8;--accent-foreground: #FFFFFF;--hover: #CBCBE7;--hover-foreground: #000000;--destructive: #E74C3C;--destructive-foreground: #FFFFFF;--warning: #F39C12;--warning-foreground: #FFFFFF;--info: #3498DB;--info-foreground: #FFFFFF;--success: #27AE60;--success-foreground: #FFFFFF;--border: #E1E5E9;--input: #FFFFFF;--input-background: #FFFFFF;--switch-background: #E6E6E6;--shadow: rgba(89, 88, 128, .15);--overlay: rgba(248, 249, 250, .95);--font-weight-medium: 500;--font-weight-normal: 400;--font-weight-semibold: 600;--ring: #595880;--chart-1: #595880;--chart-2: #CBCBE7;--chart-3: #E6E6F5;--chart-4: #D4D0E6;--chart-5: #BFB8DB;--radius: 16px;--sidebar: #F1F3F4;--sidebar-foreground: #000000;--sidebar-primary: #595880;--sidebar-primary-foreground: #FFFFFF;--sidebar-accent: #FAFBFC;--sidebar-accent-foreground: #000000;--sidebar-border: #E1E5E9;--sidebar-ring: #595880;--macro-protein: #FFE8E8;--macro-protein-text: #B85450;--macro-carbs: #FFF8E1;--macro-carbs-text: #B8860B;--macro-fats: #E8F5E8;--macro-fats-text: #0C5460;--protein-color: #B95450;--protein-bg: #FFE8E8;--protein-text: #B85450;--fats-color: #0B5460;--fats-bg: #E8F5E8;--fats-text: #0B5460;--carbs-color: #B8860B;--carbs-bg: #FFF8E1;--carbs-text: #B8860B}.dark{--background: #1A1A1A;--foreground: #FFFFFF;--card: #2A2A2A;--card-foreground: #FFFFFF;--card-warm: #2E2E2E;--section-bg: #2E2E2E;--popover: #2A2A2A;--popover-foreground: #FFFFFF;--primary: #7B7BA8;--primary-foreground: #FFFFFF;--primary-gradient: linear-gradient(135deg, #7B7BA8 0%, #9B9BC4 100%);--secondary: #3A3A3A;--secondary-foreground: #FFFFFF;--tertiary: #444444;--tertiary-foreground: #FFFFFF;--muted: #3A3A3A;--muted-foreground: #B5B5B5;--placeholder: #888888;--accent: #8B8BBB;--accent-foreground: #FFFFFF;--hover: #3E3E3E;--hover-foreground: #FFFFFF;--destructive: #E74C3C;--destructive-foreground: #FFFFFF;--warning: #F39C12;--warning-foreground: #FFFFFF;--info: #3498DB;--info-foreground: #FFFFFF;--success: #27AE60;--success-foreground: #FFFFFF;--border: #404040;--input: #2A2A2A;--input-background: #2A2A2A;--switch-background: #404040;--shadow: rgba(0, 0, 0, .5);--overlay: rgba(26, 26, 26, .95);--ring: #7B7BA8;--chart-1: #7B7BA8;--chart-2: #9B9BC4;--chart-3: #BBBBDD;--chart-4: #CCCCEE;--chart-5: #DDDDFF;--sidebar: #2A2A2A;--sidebar-foreground: #FFFFFF;--sidebar-primary: #7B7BA8;--sidebar-primary-foreground: #FFFFFF;--sidebar-accent: #2E2E2E;--sidebar-accent-foreground: #FFFFFF;--sidebar-border: #404040;--sidebar-ring: #7B7BA8;--macro-protein: #3A2828;--macro-protein-text: #FF9999;--macro-carbs: #3A3628;--macro-carbs-text: #FFD700;--macro-fats: #28332A;--macro-fats-text: #66FF99;--protein-color: #FF999A;--protein-bg: #3A2828;--protein-text: #FF999A;--fats-color: #66FF99;--fats-bg: #28332A;--fats-text: #66FF99;--carbs-color: #FFD602;--carbs-bg: #3A3628;--carbs-text: #FFD602}@theme inline{ --color-background: var(--background); --color-foreground: var(--foreground); --color-card: var(--card); --color-card-foreground: var(--card-foreground); --color-card-warm: var(--card-warm); --color-section-bg: var(--section-bg); --color-popover: var(--popover); --color-popover-foreground: var(--popover-foreground); --color-primary: var(--primary); --color-primary-foreground: var(--primary-foreground); --color-secondary: var(--secondary); --color-secondary-foreground: var(--secondary-foreground); --color-tertiary: var(--tertiary); --color-tertiary-foreground: var(--tertiary-foreground); --color-muted: var(--muted); --color-muted-foreground: var(--muted-foreground); --color-placeholder: var(--placeholder); --color-accent: var(--accent); --color-accent-foreground: var(--accent-foreground); --color-hover: var(--hover); --color-hover-foreground: var(--hover-foreground); --color-destructive: var(--destructive); --color-destructive-foreground: var(--destructive-foreground); --color-warning: var(--warning); --color-warning-foreground: var(--warning-foreground); --color-info: var(--info); --color-info-foreground: var(--info-foreground); --color-success: var(--success); --color-success-foreground: var(--success-foreground); --color-border: var(--border); --color-input: var(--input); --color-input-background: var(--input-background); --color-switch-background: var(--switch-background); --color-shadow: var(--shadow); --color-overlay: var(--overlay); --color-ring: var(--ring); --color-chart-1: var(--chart-1); --color-chart-2: var(--chart-2); --color-chart-3: var(--chart-3); --color-chart-4: var(--chart-4); --color-chart-5: var(--chart-5); --radius-sm: 12px; --radius-md: 14px; --radius-lg: var(--radius); --radius-xl: 20px; --color-sidebar: var(--sidebar); --color-sidebar-foreground: var(--sidebar-foreground); --color-sidebar-primary: var(--sidebar-primary); --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); --color-sidebar-accent: var(--sidebar-accent); --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); --color-sidebar-border: var(--sidebar-border); --color-sidebar-ring: var(--sidebar-ring); }html{font-size:var(--font-size)}svg[class*=w-],svg[class*=h-],.lucide,.icon{flex-shrink:0!important;min-width:-moz-fit-content!important;min-width:fit-content!important;min-height:-moz-fit-content!important;min-height:fit-content!important}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.animate-fade-in{animation:fadeIn .15s ease-out}.animate-slide-up{animation:slideUp .15s ease-out}*{transition:background-color .1s ease,border-color .1s ease,color .1s ease}.premium-card{background-color:var(--card);border-radius:24px;box-shadow:0 8px 32px #59588014;border:1px solid rgba(255,255,255,.1);transform:translateZ(0);transition:all .15s ease}.dark .premium-card{box-shadow:0 8px 32px #0006;border:1px solid rgba(255,255,255,.1)}.section-card{background-color:var(--section-bg);border-radius:16px;box-shadow:0 2px 8px #5958800f;transition:all .15s ease}.dark .section-card{box-shadow:0 2px 8px #0000004d;border:1px solid rgba(255,255,255,.08)}.bottom-navigation{position:fixed;bottom:20px;left:20px;right:20px;z-index:50;padding-bottom:env(safe-area-inset-bottom,0px)}.nav-container{background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:24px;padding:6px;box-shadow:0 12px 40px #59588026,0 4px 16px #5958801a;display:flex;gap:4px;border:1px solid rgba(255,255,255,.3);transition:all .15s ease}.dark .nav-container{background:#2a2a2af2;border:1px solid rgba(255,255,255,.1);box-shadow:0 12px 40px #0006,0 4px 16px #0003}.nav-button{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;border-radius:18px;transition:all .1s ease;background:transparent;border:none;cursor:pointer;color:var(--muted-foreground);min-width:70px}.nav-button:hover{background:#5958801a;color:var(--foreground);transform:translateY(-1px)}.dark .nav-button:hover{background:#ffffff1a;color:var(--foreground)}.nav-button.active{background:var(--primary);color:var(--primary-foreground);transform:translateY(-2px);box-shadow:0 6px 16px #59588040}.nav-button.disabled{opacity:.4;cursor:not-allowed;color:var(--muted-foreground);pointer-events:none}.nav-button.disabled:hover{background:transparent;transform:none}.dark .nav-button.disabled{opacity:.4;color:var(--muted-foreground)}.nav-button-icon{width:24px;height:24px;flex-shrink:0}.nav-button-label{font-size:10px;font-weight:500;line-height:1;text-align:center}.period-selector-container{display:flex;background:var(--section-bg);border-radius:16px;padding:4px;gap:2px;border:1px solid rgba(89,88,128,.12);max-width:100%;overflow:hidden;transition:all .15s ease;box-shadow:0 2px 8px #59588014}.dark .period-selector-container{background:#2e2e2e;border:1px solid rgba(255,255,255,.15);box-shadow:0 2px 8px #0000004d}.period-selector-button{flex:1;display:flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:12px;transition:all .3s cubic-bezier(.25,.46,.45,.94);background:transparent;border:none;cursor:pointer;color:var(--muted-foreground);font-size:14px;font-weight:500;white-space:nowrap;min-height:44px;position:relative;overflow:hidden}.period-selector-button:hover{background:#5958800f;color:var(--foreground);transform:translateY(-.5px)}.dark .period-selector-button:hover{background:#ffffff0f;color:var(--foreground)}.period-selector-button.active{background:var(--primary);color:var(--primary-foreground);font-weight:600;transform:translateY(-1px);box-shadow:0 3px 8px #59588033,0 1px 3px #5958801a;border:1px solid rgba(255,255,255,.1)}.dark .period-selector-button.active{background:#3a3a3a;color:#fff;box-shadow:0 3px 8px #0000004d,0 1px 3px #00000026;border:1px solid rgba(255,255,255,.2)}.period-selector-button.active:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(255,255,255,.1) 0%,transparent 100%);border-radius:inherit;pointer-events:none}.dark .period-selector-button.active:before{background:linear-gradient(135deg,rgba(255,255,255,.05) 0%,transparent 100%)}.profile-tabs-centered{display:flex;background:var(--section-bg);border-radius:14px;padding:4px;gap:2px;border:1px solid rgba(89,88,128,.08);max-width:100%;overflow:hidden;transition:all .15s ease}.dark .profile-tabs-centered{border:1px solid rgba(255,255,255,.1)}.profile-tab-centered{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;padding:12px 6px;border-radius:10px;transition:all .1s ease;background:transparent;border:none;cursor:pointer;color:var(--muted-foreground);white-space:nowrap;min-height:44px;min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:13px;font-weight:500}.profile-tab-centered span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500}.profile-tab-centered:hover{background:var(--hover);color:var(--hover-foreground);transform:translateY(-1px)}.profile-tab-centered.active{background:var(--primary);color:var(--primary-foreground);transform:translateY(-1px);font-weight:600}.profile-tab-centered.disabled{opacity:.4;cursor:not-allowed;color:var(--muted-foreground);pointer-events:none}.profile-tab-centered.disabled:hover{background:transparent;transform:none;color:var(--muted-foreground)}.dark .profile-tab-centered.disabled{opacity:.4;color:var(--muted-foreground)}.calendar-container{background:var(--primary-gradient);border-radius:24px;overflow:hidden;transform:translateZ(0);will-change:height,transform;box-shadow:0 8px 32px #59588033;transition:height .4s cubic-bezier(.25,.46,.45,.94)}.dark .calendar-container{background:linear-gradient(135deg,#2a2a2a,#3a3a3a);box-shadow:0 8px 32px #0006;border:1px solid rgba(255,255,255,.1)}.calendar-day{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;transition:all .1s ease;cursor:pointer;position:relative;transform:translateZ(0);font-size:14px;font-weight:500;backface-visibility:hidden;color:#fffc;will-change:opacity,transform}.calendar-day:hover:not(.disabled):not(.future){background:#ffffff1a;transform:scale(1.05)}.calendar-day.selected{background:#ffffff40!important;color:#fff!important;font-weight:600;box-shadow:0 4px 12px #fff3;transform:scale(1.05)}.calendar-day.today{background:#ffffff26;color:#fff;font-weight:600}.calendar-day.disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.calendar-day.other-month{opacity:.25;color:#fff6}.calendar-day.future{opacity:.4;color:#ffffff80;cursor:not-allowed;pointer-events:none}.calendar-drag-area-compact{cursor:grab;cursor:-webkit-grab;padding:8px 16px;display:flex;flex-direction:column;align-items:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:transform .2s ease;transform:translateZ(0);touch-action:pan-y;position:relative}.calendar-drag-area-compact:active{cursor:grabbing;cursor:-webkit-grabbing;transform:scale(.95)}.calendar-ios-slider{width:36px;height:5px;background:#fff6;border-radius:3px;transition:all .25s cubic-bezier(.25,.46,.45,.94);position:relative}.calendar-drag-area-compact:hover .calendar-ios-slider{background:#fff9;transform:scaleY(1.3) scaleX(1.1);box-shadow:0 2px 8px #fff3}.calendar-drag-area-compact:active .calendar-ios-slider{background:#fffc;transform:scaleY(1.5) scaleX(1.2);box-shadow:0 3px 12px #ffffff4d}button:disabled{pointer-events:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;opacity:.4;cursor:not-allowed}button:disabled:hover{transform:none!important;background:var(--section-bg)!important;opacity:.4!important;scale:1!important}.premium-button:disabled{background:var(--section-bg)!important;color:var(--muted-foreground)!important;opacity:.4;cursor:not-allowed;box-shadow:none!important}.premium-button:disabled svg{color:var(--muted-foreground)!important;opacity:.6}.tips-bulb.has-tips{position:relative;overflow:hidden}.tips-bulb.has-tips:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at center,rgba(243,156,18,.2) 0%,transparent 70%);border-radius:inherit;animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.scroll-container{-webkit-overflow-scrolling:touch;overflow-scrolling:touch}.gpu-accelerated{transform:translateZ(0);backface-visibility:hidden;will-change:transform}.app-content{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.weight-info-block{background:var(--card-warm);border:1px solid rgba(89,88,128,.08);box-shadow:0 2px 8px #5958800a;transition:all .2s cubic-bezier(.4,0,.2,1)}.weight-info-block:hover{box-shadow:0 4px 16px #59588014;transform:translateY(-1px);border-color:#5958801f}.dark .weight-info-block{background:var(--card);border:1px solid rgba(255,255,255,.08);box-shadow:0 2px 8px #0003}.dark .weight-info-block:hover{box-shadow:0 4px 16px #0000004d;border-color:#ffffff26}.recharts-wrapper{font-family:inherit}.recharts-cartesian-axis-tick-value{font-family:inherit;font-weight:500}.recharts-tooltip-wrapper{border-radius:12px!important;box-shadow:0 8px 32px #59588026!important;border:1px solid rgba(255,255,255,.2)!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important}.recharts-default-tooltip{background:#fffffff2!important;border:none!important;border-radius:12px!important;padding:12px 16px!important;font-family:inherit!important;font-size:14px!important;font-weight:500!important;color:var(--foreground)!important;box-shadow:0 8px 32px #59588026!important}.dark .recharts-default-tooltip{background:#2a2a2af2!important;color:var(--foreground)!important}.recharts-dot{transition:all .2s cubic-bezier(.4,0,.2,1)}.recharts-dot:hover{transform:scale(1.1);filter:drop-shadow(0 4px 8px rgba(89,88,128,.25))}.theme-blue{--background: #F0F7FF;--section-bg: #E0F0FF;--primary: #2563EB;--primary-gradient: linear-gradient(135deg, #2563EB 0%, #3B82F6 100%);--secondary: #BFDBFE;--accent: #1D4ED8;--hover: #DBEAFE;--shadow: rgba(37, 99, 235, .15)}.theme-green{--background: #F0FDF4;--section-bg: #DCFCE7;--primary: #16A34A;--primary-gradient: linear-gradient(135deg, #16A34A 0%, #22C55E 100%);--secondary: #BBF7D0;--accent: #15803D;--hover: #D1FAE5;--shadow: rgba(22, 163, 74, .15)}.theme-orange{--background: #FFFBF0;--section-bg: #FEF3E2;--primary: #EA580C;--primary-gradient: linear-gradient(135deg, #EA580C 0%, #FB923C 100%);--secondary: #FED7AA;--accent: #C2410C;--hover: #FFEDD5;--shadow: rgba(234, 88, 12, .15)}.theme-pink{--background: #FDF2F8;--section-bg: #FCE7F3;--primary: #EC4899;--primary-gradient: linear-gradient(135deg, #EC4899 0%, #F472B6 100%);--secondary: #F9A8D4;--accent: #DB2777;--hover: #FBE7F3;--shadow: rgba(236, 72, 153, .15)}.theme-navy{--background: #F8FAFC;--section-bg: #E2E8F0;--primary: #1E40AF;--primary-gradient: linear-gradient(135deg, #1E40AF 0%, #3B82F6 100%);--secondary: #CBD5E1;--accent: #1E3A8A;--hover: #F1F5F9;--shadow: rgba(30, 64, 175, .15)}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:shadow-xl:hover{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media (min-width: 1024px){.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
