@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap";@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-amber-300:oklch(87.9% .169 91.605);--color-amber-950:oklch(27.9% .077 45.635);--color-green-400:oklch(79.2% .209 151.711);--spacing:.25rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.z-50{z-index:50}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.bg-amber-950\/20{background-color:#46190133}@supports (color:color-mix(in lab,red,red)){.bg-amber-950\/20{background-color:color-mix(in oklab,var(--color-amber-950) 20%,transparent)}}.text-right{text-align:right}.text-amber-300{color:var(--color-amber-300)}.text-green-400{color:var(--color-green-400)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.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-\[2px\]{--tw-backdrop-blur:blur(2px);-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,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-1000{--tw-duration:1s;transition-duration:1s}}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--duration-fast:.15s;--duration-normal:.25s;--duration-slow:.4s;--transition:all var(--duration-normal) var(--ease-in-out);--danger:#ef4444;--danger-surface:#ef44441a;--warning:#f59e0b;--warning-surface:#f59e0b1a}body,body[data-theme=default]{--primary:#6366f1;--primary-hover:#4f46e5;--primary-glow:#6366f11f;--primary-surface:#6366f10d;--accent:#8b5cf6;--accent-hover:#7c3aed;--accent-glow:#8b5cf61f;--bg-base:#09090b;--bg-elevated:#121215;--bg-surface:#18181b;--bg-muted:#27272a;--bg-input:#121215;--text-primary:#f4f4f5;--text-secondary:#a1a1aa;--text-tertiary:#71717a;--text-inverse:#fff;--border-default:#ffffff14;--border-subtle:#ffffff0a;--warning:var(--accent);--warning-surface:var(--accent-glow);--success:#10b981;--shadow-glow:0 0 30px var(--primary-glow);--glass-bg:#09090bd9}body.light-mode,body[data-theme=default].light-mode{--primary:#4f46e5;--primary-hover:#3730a3;--primary-glow:#4f46e514;--primary-surface:#4f46e50a;--accent:#6366f1;--accent-hover:#4f46e5;--accent-glow:#6366f114;--bg-base:#fff;--bg-elevated:#fcfcfd;--bg-surface:#f4f4f5;--bg-muted:#e4e4e7;--bg-input:#fff;--text-primary:#09090b;--text-secondary:#52525b;--text-tertiary:#71717a;--text-inverse:#fff;--border-default:#09090b14;--border-subtle:#09090b0a;--glass-bg:#fffffff2}body[data-theme=ocean]{--primary:#0ea5e9;--primary-hover:#0284c7;--primary-glow:#0ea5e91f;--primary-surface:#0ea5e90d;--accent:#38bdf8;--accent-hover:#0ea5e9;--accent-glow:#38bdf81f;--bg-base:#030712;--bg-elevated:#0f172a;--bg-surface:#1e293b;--bg-muted:#334155;--bg-input:#0f172a;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-tertiary:#64748b;--text-inverse:#fff;--border-default:#ffffff14;--border-subtle:#ffffff0a;--glass-bg:#0f172ad9;--warning:var(--accent);--warning-surface:var(--accent-glow);--success:#10b981}body[data-theme=ocean].light-mode{--primary:#0284c7;--primary-hover:#0369a1;--primary-glow:#0284c714;--primary-surface:#0284c70a;--accent:#0ea5e9;--accent-hover:#0284c7;--accent-glow:#0ea5e914;--bg-base:#f8fafc;--bg-elevated:#fff;--bg-surface:#f1f5f9;--bg-muted:#e2e8f0;--bg-input:#fff;--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#64748b;--text-inverse:#fff;--border-default:#0f172a14;--border-subtle:#0f172a0a;--glass-bg:#fffffff2}body[data-theme=plum]{--primary:#a855f7;--primary-hover:#9333ea;--primary-glow:#a855f71f;--primary-surface:#a855f70d;--accent:#c084fc;--accent-hover:#a855f7;--accent-glow:#c084fc1f;--bg-base:#05020a;--bg-elevated:#0f091a;--bg-surface:#1b112c;--bg-muted:#2e1e47;--bg-input:#0f091a;--text-primary:#faf5ff;--text-secondary:#d8b4fe;--text-tertiary:#a855f7;--text-inverse:#fff;--border-default:#ffffff12;--border-subtle:#ffffff08;--glass-bg:#0f091ad9;--warning:var(--accent);--warning-surface:var(--accent-glow);--success:#10b981}body[data-theme=plum].light-mode{--primary:#7e22ce;--primary-hover:#6b21a8;--primary-glow:#7e22ce14;--primary-surface:#7e22ce0a;--accent:#a855f7;--accent-hover:#7e22ce;--accent-glow:#a855f714;--bg-base:#faf8ff;--bg-elevated:#fff;--bg-surface:#f3f0fc;--bg-muted:#e9e3fa;--bg-input:#fff;--text-primary:#2e0b57;--text-secondary:#6b21a8;--text-tertiary:#b57fed;--text-inverse:#fff;--border-default:#2e0b5714;--border-subtle:#2e0b570a;--glass-bg:#fffffff2}body[data-theme=clay]{--primary:#fda4af;--primary-hover:#fca5a5;--primary-glow:#fb71851f;--primary-surface:#fb71850d;--accent:#fda4af;--accent-hover:#fca5a5;--accent-glow:#fda4af1f;--bg-base:#0c0a09;--bg-elevated:#1c1917;--bg-surface:#292524;--bg-muted:#44403c;--bg-input:#1c1917;--text-primary:#fafaf9;--text-secondary:#d6d3d1;--text-tertiary:#a8a29e;--text-inverse:#fff;--border-default:#ffffff14;--border-subtle:#ffffff0a;--glass-bg:#1c1917d9;--warning:var(--accent);--warning-surface:var(--accent-glow);--success:#10b981}body[data-theme=clay].light-mode{--primary:#c2410c;--primary-hover:#9a3412;--primary-glow:#c2410c14;--primary-surface:#c2410c0a;--accent:#ea580c;--accent-hover:#c2410c;--accent-glow:#ea580c14;--bg-base:#fafaf9;--bg-elevated:#fff;--bg-surface:#f5f5f4;--bg-muted:#e7e5e4;--bg-input:#fff;--text-primary:#1c1917;--text-secondary:#57534e;--text-tertiary:#a8a29e;--text-inverse:#fff;--border-default:#1c191714;--border-subtle:#1c19170a;--glass-bg:#fffffff2}.global-route-loader{background:var(--primary);height:3px;box-shadow:0 0 15px var(--primary-glow),0 0 5px var(--primary);z-index:9999;pointer-events:none;transition:width .3s ease-out;position:fixed;top:0;left:0}body[data-theme=mono]{--primary:#fff;--primary-hover:#e4e4e7;--primary-glow:#ffffff1a;--primary-surface:#ffffff0d;--accent:#f4f4f5;--accent-hover:#fff;--accent-glow:#f4f4f51a;--bg-base:#000;--bg-elevated:#0f0f11;--bg-surface:#1e1e22;--bg-muted:#2e2e33;--bg-input:#0f0f11;--text-primary:#fff;--text-secondary:#a1a1aa;--text-tertiary:#71717a;--text-inverse:#000;--border-default:#ffffff1a;--border-subtle:#ffffff0d;--glass-bg:#0f0f11d9;--warning:var(--primary);--warning-surface:var(--primary-glow);--success:#10b981}body[data-theme=mono].light-mode{--primary:#000;--primary-hover:#18181b;--primary-glow:#00000014;--primary-surface:#0000000a;--accent:#27272a;--accent-hover:#000;--accent-glow:#27272a14;--bg-base:#fff;--bg-elevated:#f9f9fb;--bg-surface:#efeff3;--bg-muted:#dfdfe5;--bg-input:#fff;--text-primary:#000;--text-secondary:#5a5a65;--text-tertiary:#90909c;--text-inverse:#fff;--border-default:#0000001a;--border-subtle:#0000000d;--glass-bg:#fffffff2}body{--bg-main:var(--bg-base);--bg-card:var(--bg-elevated);--bg-accent:var(--bg-surface);--text-main:var(--text-primary);--text-muted:var(--text-secondary);--text-inv:var(--text-inverse);--border-focus:var(--primary)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--bg-base);color:var(--text-primary);transition:background-color var(--duration-slow) var(--ease-in-out),color var(--duration-slow) var(--ease-in-out);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;overflow-x:hidden}.app-bg{min-height:100vh;padding:var(--space-12) var(--space-4);background:var(--bg-base)}.app-container{width:100%;max-width:1100px;margin:0 auto}.app-title{letter-spacing:-.03em;color:var(--text-primary);font-size:clamp(2rem,5vw,3.2rem);font-weight:800;line-height:1.15}.section-title{color:var(--text-primary);margin-bottom:var(--space-6);letter-spacing:-.01em;font-size:1.25rem;font-weight:700}.text-muted{color:var(--text-secondary)}.text-success{color:var(--primary)}.text-warning{color:var(--warning)}.text-danger{color:var(--danger)}.glass-card{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:var(--space-8);box-shadow:var(--shadow-sm);transition:var(--transition)}.glass-card:hover{border-color:var(--border-default);box-shadow:var(--shadow-md)}input,select,textarea{background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-md);width:100%;padding:var(--space-3) var(--space-4);color:var(--text-primary);transition:var(--transition);outline:none;font-family:inherit;font-size:.9375rem}input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);background:var(--bg-elevated)}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--text-tertiary)}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}.fade-in{animation:fadeIn var(--duration-slow) var(--ease-out) forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.loading-wrapper,.app-loading-screen{justify-content:center;align-items:center;gap:var(--space-5);padding:var(--space-16);flex-direction:column;min-height:400px;display:flex}.app-loading-screen{background:var(--bg-base);z-index:9999;text-align:center;position:fixed;inset:0}.app-loading-screen p{color:var(--text-secondary);letter-spacing:.02em;font-weight:500}.spinner{border:3px solid var(--border-subtle);border-top-color:var(--primary);width:42px;height:42px;box-shadow:0 0 15px var(--primary-glow);border-radius:50%;animation:.8s linear infinite spin}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:var(--radius-full);background-clip:content-box;border:3px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}@media print{.no-print{display:none!important}body{color:#000;background:#fff}}.connectivity-banner{text-align:center;padding:var(--space-2) var(--space-4);z-index:999;justify-content:center;align-items:center;gap:var(--space-2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid #0000;font-size:.875rem;font-weight:600;display:flex;position:fixed;top:56px;left:0;right:0;box-shadow:0 4px 15px #00000040}.offline-banner{color:#fef3c7;background:#854d0ecc;border-bottom-color:#f59e0b4d}.congested-banner{color:#ffedd5;background:#b45309bf;border-bottom-color:#f973164d}.restored-banner{color:#d1fae5;background:#047857cc;border-bottom-color:#10b9814d}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}.plan-card{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:var(--space-8);box-shadow:var(--shadow-sm);margin-bottom:var(--space-6);transition:var(--transition);position:relative}.plan-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md)}.btn-secondary{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);font-weight:600;font-size:.875rem;text-decoration:none;transition:var(--transition);cursor:pointer}.btn-secondary:hover{background:var(--bg-elevated);border-color:var(--primary);color:var(--primary)}.badge-pro{background:var(--accent-glow);color:var(--accent);border:1px solid rgba(59,130,246,.2);padding:4px var(--space-3);border-radius:var(--radius-full);font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.badge-elite{background:var(--warning-surface);color:var(--warning);border:1px solid rgba(245,158,11,.2);padding:4px var(--space-3);border-radius:var(--radius-full);font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}body.light-mode .badge-pro{color:#1d4ed8}body.light-mode .badge-elite{color:#b45309}.form-group{margin-bottom:var(--space-5)}.form-group label{display:block;font-size:.8125rem;font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-2);margin-left:2px}.theme-toggle-wrapper{position:relative}.theme-toggle-btn{display:flex;align-items:center;gap:6px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-full);padding:6px 12px;cursor:pointer;transition:var(--transition)}.theme-toggle-btn:hover{border-color:var(--primary)}.theme-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0;transition:background var(--duration-normal) ease}.theme-mode-icon{font-size:.95rem;line-height:1}.theme-panel{position:absolute;top:calc(100% + 8px);right:0;width:220px;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-3);z-index:9999;animation:fadeIn var(--duration-fast) var(--ease-out)}.mode-switch{display:flex;gap:4px;padding:3px;background:var(--bg-surface);border-radius:var(--radius-md);margin-bottom:var(--space-3)}.mode-btn{flex:1;padding:6px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.75rem;font-weight:600;cursor:pointer;transition:var(--transition)}.mode-btn.active{background:var(--bg-elevated);color:var(--text-primary);box-shadow:var(--shadow-xs)}.mode-btn:hover:not(.active){color:var(--text-primary)}.theme-divider{height:1px;background:var(--border-subtle);margin-bottom:var(--space-3)}.theme-list{display:flex;flex-direction:column;gap:2px;max-height:280px;overflow-y:auto}.theme-option{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:8px 10px;background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);text-align:left}.theme-option:hover{background:var(--bg-surface)}.theme-option.active{background:var(--primary-surface)}.theme-swatch-group{display:flex;gap:3px;flex-shrink:0}.theme-swatch{width:12px;height:12px;border-radius:3px;border:1px solid rgba(128,128,128,.2)}.theme-name{font-size:.8125rem;font-weight:500;color:var(--text-primary);flex:1}.theme-check{color:var(--primary);font-weight:700;font-size:.875rem}.auth-page-wrapper{position:fixed;top:0;left:0;width:100vw;height:100vh;background:var(--bg-base);z-index:2000;overflow:hidden;color:var(--text-primary)}.auth-theme-toggle{position:absolute;top:2rem;right:2rem;z-index:2100}.auth-splash{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:var(--bg-base);cursor:pointer;overflow:hidden;z-index:10}.splash-video{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;pointer-events:none}.splash-video-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,#00000059,#0003 40%,#0009 75%,#000c);pointer-events:none}.splash-logo-bg{font-size:15vw;font-weight:900;color:#ffffff08;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.splash-content{z-index:2;text-align:left;position:absolute;left:6%;bottom:12%;max-width:88%;display:flex;flex-direction:column;align-items:flex-start}@media(min-width:768px){.splash-content{left:8%;bottom:18%;max-width:500px}}.splash-title{font-size:clamp(3.5rem,8vw,6rem);font-weight:900;letter-spacing:-.05em;margin-bottom:.5rem;line-height:1;color:#fff}.splash-tagline-text{color:#ffffffb3;font-size:clamp(1.1rem,2.2vw,1.35rem);font-weight:500;margin:0;letter-spacing:.01em}.auth-left-logo-container{width:100%;max-width:400px;margin-bottom:2rem;margin-top:auto;display:flex;justify-content:flex-start}.auth-brand-logo{font-size:2.2rem;font-weight:900;letter-spacing:-.04em;color:var(--primary);margin:0;line-height:1}.swipe-indicator{position:absolute;bottom:2rem;z-index:2;display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.9rem;font-weight:500}.auth-container{display:flex;width:100%;height:100%;z-index:1}.auth-left{flex:1;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;padding:4rem 2rem;background:var(--bg-elevated);color:var(--text-primary);overflow-y:auto}.auth-right{flex:1.2;background:var(--bg-base);position:relative;display:flex;flex-direction:column;justify-content:center;padding:4rem;border-left:1px solid var(--border-default)}.auth-right:before{content:"FIT-AI";position:absolute;top:-5%;right:-5%;font-size:25vw;font-weight:900;color:#ffffff08;line-height:.8;z-index:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.auth-right:after{content:"EVOLVE";position:absolute;bottom:-5%;left:-5%;font-size:15vw;font-weight:900;color:var(--text-primary);opacity:.03;line-height:.8;z-index:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.auth-bg-overlay-text{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%) rotate(-10deg);font-size:12vw;font-weight:950;color:var(--text-primary);opacity:.04;white-space:nowrap;pointer-events:none;z-index:0;letter-spacing:-.05em}.auth-form-card{width:100%;max-width:400px;background:var(--bg-card);padding:2.5rem;border-radius:var(--radius-xl);border:1px solid var(--primary-glow);box-shadow:0 20px 40px #0000001a;margin-bottom:auto}.auth-form-card h2{font-size:2.2rem;font-weight:800;margin-bottom:1rem;letter-spacing:-.03em;color:var(--text-primary)}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.5rem;color:var(--text-secondary)}.auth-input-wrapper{position:relative;display:flex;align-items:center}.auth-form-error{background:var(--danger-surface);border:1px solid var(--danger-surface);color:var(--danger);padding:.8rem 1rem;border-radius:var(--radius-md);font-size:.85rem;margin-bottom:1.5rem;text-align:center;font-weight:500}.auth-input{width:100%;padding:.8rem 1rem;background:var(--bg-input);border:1px solid var(--border-default);color:var(--text-primary);border-radius:var(--radius-md);font-size:.95rem;transition:all .2s;outline:none}.auth-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-glow)}.password-toggle-btn{position:absolute;right:1.2rem;background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:color .2s;z-index:5}.password-toggle-btn:hover{color:var(--primary)}.auth-options{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;font-size:.85rem}.forgot-password-link{cursor:pointer;color:var(--primary);font-weight:500;transition:opacity .2s}.forgot-password-link:hover{opacity:.8}.auth-submit-btn{width:100%;padding:1rem;background:var(--primary);color:var(--text-inverse);border:none;border-radius:var(--radius-md);font-weight:600;font-size:1rem;cursor:pointer;transition:transform .2s,background .2s}.auth-submit-btn:hover{background:var(--primary-hover);transform:translateY(-1px)}.auth-switch{margin-top:1.5rem;text-align:center;font-size:.9rem;color:var(--text-tertiary)}.auth-switch span{color:var(--primary);font-weight:600;cursor:pointer;margin-left:.5rem}.social-logins{margin-top:3rem;display:flex;justify-content:center;gap:2rem}.social-btn{width:48px;height:48px;border:1px solid var(--border-default);border-radius:50%;display:flex;justify-content:center;align-items:center;cursor:pointer;transition:all .2s;color:var(--text-primary)}.social-btn:hover{background:var(--bg-surface);border-color:var(--primary);transform:scale(1.1)}.right-content{position:relative;z-index:1}.right-title{font-size:2.5rem;font-weight:700;margin-bottom:.8rem;line-height:1.1}.right-desc{color:var(--text-secondary);font-size:1rem;max-width:400px;line-height:1.5;margin-bottom:2rem}.motivation-card{background:#ffffff08;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:2.5rem;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.05);box-shadow:0 10px 30px #0003;margin-top:3rem;position:relative;overflow:hidden}[data-theme=light] .motivation-card{background:#ffffffb3;border:1px solid rgba(0,0,0,.05);box-shadow:0 10px 30px #0000000d}.quote-icon{position:absolute;top:-10px;right:20px;font-size:6rem;color:var(--primary-glow);font-family:serif;line-height:1;opacity:.5}.motivation-card h3{font-size:1.4rem;margin-bottom:1rem;line-height:1.3;font-weight:700}.motivation-card p{color:var(--text-secondary);font-size:.9rem;line-height:1.5}@media(max-width:1024px){.auth-right{display:none}.auth-left{flex:1;padding:2rem}}.password-meter-container{margin-top:.8rem;width:100%}.password-meter-bar{height:4px;background:var(--bg-muted);border-radius:var(--radius-full);overflow:hidden;margin-bottom:.5rem}.password-meter-fill{height:100%;transition:width .3s ease,background-color .3s ease}.password-meter-fill.weak{background:#ef4444}.password-meter-fill.fair{background:#f59e0b}.password-meter-fill.good{background:#10b981}.password-meter-fill.strong{background:#06b6d4}.password-meter-text{font-size:.75rem;font-weight:500;text-transform:capitalize;display:flex;flex-direction:column;gap:2px}.password-meter-text.weak{color:#ef4444}.password-meter-text.good{color:#10b981}.password-meter-text.strong{color:#06b6d4}.password-meter-text span{opacity:.7;font-weight:400}.pwd-feedback{margin-top:4px;font-style:italic;opacity:.8}.error-glow{border-color:var(--danger)!important;box-shadow:0 0 0 2px var(--danger-surface)!important}.auth-inline-error{display:block;font-size:.75rem;color:var(--danger);margin-top:.4rem;font-weight:500}.form-group-checkbox{margin-top:1.25rem;margin-bottom:1.5rem;display:flex;flex-direction:column;gap:1rem}.auth-checkbox-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;font-size:.85rem;line-height:1.4;color:var(--text-secondary);transition:color .2s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.auth-checkbox-label:hover{color:var(--text-primary)}.auth-checkbox-input{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:1.1rem;height:1.1rem;border:1px solid var(--border-default);border-radius:4px;background:var(--bg-input);cursor:pointer;display:grid;place-content:center;transition:all .2s;flex-shrink:0;margin-top:.15rem}.auth-checkbox-input:before{content:"";width:.55rem;height:.55rem;transform:scale(0);transition:.12s transform ease-in-out;box-shadow:inset 1em 1em var(--text-inverse);background-color:var(--text-inverse);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%)}.auth-checkbox-input:checked{background:var(--primary);border-color:var(--primary)}.auth-checkbox-input:checked:before{transform:scale(1)}.auth-checkbox-input:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.auth-checkbox-input:hover{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-glow)}.card-form{max-width:440px;margin:var(--space-10) auto;padding:var(--space-10) var(--space-8);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:var(--space-5)}.card-form h2{font-size:1.75rem;font-weight:800;letter-spacing:-.03em;color:var(--text-primary);text-align:center;margin-bottom:var(--space-2)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-group label{font-size:.8125rem;font-weight:600;color:var(--text-secondary);margin-left:2px}.card-form input,.card-form select,.card-form textarea{background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--text-primary);font-size:.9375rem}.card-form input:focus,.card-form select:focus,.card-form textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);background:var(--bg-elevated)}.card-form select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2371717a'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:40px}.btn-submit,.btn-auth{width:100%;margin-top:var(--space-4);padding:var(--space-3);background:var(--primary);color:var(--text-inverse);border:none;border-radius:var(--radius-md);font-size:.9375rem;font-weight:700;cursor:pointer;transition:var(--transition);display:flex;justify-content:center;align-items:center;gap:var(--space-2)}.btn-submit:hover,.btn-auth:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-glow)}.btn-submit:active,.btn-auth:active{transform:translateY(0)}.auth-footer{text-align:center;font-size:.875rem;color:var(--text-secondary);margin-top:var(--space-4)}.auth-footer a{color:var(--primary);text-decoration:none;font-weight:600;margin-left:var(--space-1);transition:var(--transition)}.auth-footer a:hover{text-decoration:underline}.form-message{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;text-align:center}.form-message.error{background:var(--danger-surface);color:var(--danger);border:1px solid rgba(239,68,68,.15)}form .btn-generate-ai{display:flex!important;align-items:center!important;justify-content:center!important;gap:var(--space-3)!important;width:100%!important;background:var(--primary)!important;color:var(--text-inverse)!important;padding:var(--space-4) var(--space-6)!important;margin-top:var(--space-6)!important;border:none!important;border-radius:var(--radius-lg)!important;font-size:.9375rem!important;font-weight:700!important;letter-spacing:.02em!important;cursor:pointer!important;transition:var(--transition)!important}form .btn-generate-ai:hover{background:var(--primary-hover)!important;transform:translateY(-2px)!important;box-shadow:var(--shadow-glow)!important}form .btn-generate-ai:active{transform:translateY(0)!important}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{width:100%;padding-right:48px!important}.password-toggle-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:1.1rem;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);opacity:.6;transition:var(--transition);line-height:1;display:flex;align-items:center;justify-content:center}.password-toggle-btn:hover{opacity:1;background:var(--bg-surface)}.card-form input.error-glow{border-color:var(--danger);box-shadow:0 0 0 3px #ef444433}.inline-error{color:var(--danger);font-size:.75rem;margin-top:4px;font-weight:500;animation:fadeIn .2s ease-in-out}.password-meter-container{margin-top:8px;display:flex;flex-direction:column;gap:4px}.password-meter-bar{height:4px;width:100%;background-color:var(--border-default);border-radius:2px;overflow:hidden}.password-meter-fill{height:100%;transition:width .3s ease-in-out,background-color .3s ease}.password-meter-fill.weak{background-color:var(--danger)}.password-meter-fill.fair{background-color:#f59e0b}.password-meter-fill.good{background-color:#3b82f6}.password-meter-fill.strong{background-color:#10b981}.password-meter-text{font-size:.7rem;font-weight:600;text-align:right;text-transform:uppercase}.password-meter-text.weak{color:var(--danger)}.password-meter-text.fair{color:#f59e0b}.password-meter-text.good{color:#3b82f6}.password-meter-text.strong{color:#10b981}.stepper-container{position:relative;display:flex;align-items:center}.stepper-container input{padding-right:42px!important}.stepper-controls{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:2px;background:var(--bg-surface);border-radius:var(--radius-sm);padding:2px;border:1px solid var(--border-default);box-shadow:0 2px 5px #0003;z-index:2}.stepper-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:1px 6px;display:flex;align-items:center;justify-content:center;font-size:.65rem;border-radius:3px;transition:all .2s ease;line-height:1}.stepper-btn:hover{background:var(--primary);color:#fff}.stepper-btn:active{transform:scale(.9)}.refresh-toggle-wrapper{background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:var(--radius-lg);padding:12px 16px;display:flex;align-items:center;justify-content:space-between;transition:all .3s var(--ease-in-out);cursor:pointer}.refresh-toggle-wrapper:hover{background:#ffffff0a;border-color:#ffffff1a}.refresh-toggle-wrapper.active{background:#10b9810d;border-color:#10b98133}.refresh-info{display:flex;flex-direction:column;gap:2px}.refresh-label{font-size:.875rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:8px}.refresh-sublabel{font-size:.75rem;color:var(--text-tertiary);font-weight:500}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#ffffff1a;transition:.4s;border-radius:24px;border:1px solid rgba(255,255,255,.1)}.toggle-slider:before{position:absolute;content:"";height:16px;width:16px;left:3px;bottom:3px;background-color:var(--text-secondary);transition:.4s;border-radius:50%;box-shadow:0 2px 4px #0000004d}input:checked+.toggle-slider{background-color:var(--primary);border-color:var(--primary)}input:checked+.toggle-slider:before{transform:translate(20px);background-color:#fff}.pricing-container{padding:var(--space-20) var(--space-4);max-width:1200px;margin:0 auto}.pricing-header{text-align:center;margin-bottom:var(--space-16)}.pricing-header h1{font-size:3rem;font-weight:800;margin-bottom:var(--space-4);background:linear-gradient(to right,#fff,var(--text-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.pricing-header p{color:var(--text-secondary);font-size:1.2rem}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-8);align-items:stretch}.plan-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-2xl);padding:var(--space-8);display:flex;flex-direction:column;position:relative;transition:all .3s ease;overflow:hidden}.plan-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--border-subtle);opacity:.5}.plan-card.popular{border-color:var(--primary);box-shadow:0 20px 40px #0070f31a;transform:scale(1.02)}.plan-card.popular:before{background:var(--primary);opacity:1}.plan-card.current{border-color:var(--success)}.popular-badge{position:absolute;top:var(--space-4);right:var(--space-4);background:var(--primary);color:#fff;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase}.plan-card h3{font-size:1.5rem;font-weight:700;margin-bottom:var(--space-2)}.plan-price{margin-bottom:var(--space-6);display:flex;align-items:baseline}.plan-price .currency{font-size:1.5rem;font-weight:500;color:var(--text-secondary)}.plan-price .amount{font-size:3.5rem;font-weight:800;margin:0 4px}.plan-price .period{color:var(--text-secondary)}.plan-desc{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin-bottom:var(--space-8);min-height:3em}.plan-features{list-style:none;padding:0;margin:0 0 var(--space-10) 0;flex-grow:1}.plan-features li{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);color:var(--text-primary);font-size:.95rem}.check{color:var(--success);font-weight:700}.plan-action{margin-top:auto}.btn-current,.btn-outline{width:100%;padding:var(--space-4);border-radius:var(--radius-lg);font-weight:600;transition:all .2s ease}.btn-current{background:var(--success-subtle);color:var(--success);border:1px solid var(--success);cursor:default}.btn-outline{background:transparent;border:1px solid var(--border-default);color:var(--text-primary)}.paypal-button-wrapper{margin-top:var(--space-4)}.error-banner{background:#fee2e2;color:#991b1b;padding:var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-8);text-align:center}.pricing-success{max-width:600px;margin:var(--space-20) auto;text-align:center;background:var(--bg-card);padding:var(--space-12);border-radius:var(--radius-2xl);border:1px solid var(--success)}.success-icon{font-size:4rem;margin-bottom:var(--space-4)}.pricing-success h2{font-size:2rem;margin-bottom:var(--space-4)}.pricing-success p{color:var(--text-secondary);margin-bottom:var(--space-8)}@media(max-width:768px){.pricing-header h1{font-size:2rem}.pricing-grid{grid-template-columns:1fr}}.upgrade-badge-sub{color:var(--success);font-size:.85rem;font-weight:600;margin-bottom:var(--space-4);display:flex;align-items:center;gap:4px}.motivation-loader-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;min-height:400px;text-align:center;background:var(--bg-input);border-radius:var(--radius-xl);border:1px solid var(--border-default);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);max-width:650px;margin:0 auto}.loader-orbit{width:80px;height:80px;border:4px solid var(--border-subtle);border-radius:50%;position:relative;margin-bottom:2rem;animation:orbit-spin 2s linear infinite}.orbit-dot{width:12px;height:12px;background:var(--primary);border-radius:var(--radius-full);position:absolute;top:-6px;left:50%;transform:translate(-50%);box-shadow:0 0 15px var(--primary-glow)}@keyframes orbit-spin{to{transform:rotate(360deg)}}.quote-display{height:60px;margin-bottom:2rem;display:flex;align-items:center;justify-content:center}.quote-text{font-size:1.25rem;font-weight:700;color:var(--text-primary);line-height:1.4;margin:0;max-width:450px}.slide-up{animation:slide-up-fade .5s ease-out}@keyframes slide-up-fade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.progress-container{width:100%;max-width:400px}.progress-track{width:100%;height:10px;background:var(--bg-surface);border-radius:var(--radius-full);overflow:hidden;position:relative;border:1px solid var(--border-subtle)}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:var(--radius-full);transition:width .4s ease-out;position:relative}.progress-glow{position:absolute;top:0;right:0;width:20px;height:100%;background:#fff;filter:blur(5px);opacity:.2;animation:bar-glow 1.5s infinite linear}@keyframes bar-glow{0%{transform:translate(-50px)}to{transform:translate(50px)}}.progress-meta{display:flex;justify-content:space-between;margin-top:1rem;font-size:.75rem;color:var(--text-tertiary);font-weight:700;text-transform:uppercase;letter-spacing:.05em}.shimmer-text{animation:text-pulse 1.5s infinite alternate}@keyframes text-pulse{0%{opacity:.4}to{opacity:1}}.dashboard-header-subtle{padding:var(--space-2) 0;margin-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center}.greeting-text{font-size:.875rem;font-weight:600;color:var(--text-secondary);display:flex;align-items:center;gap:var(--space-2)}.sun-icon{font-size:1.1rem}.avatar-header-wrapper{width:44px;height:44px;border-radius:50%;overflow:hidden;border:2px solid var(--glass-border);box-shadow:0 4px 12px #0003;flex-shrink:0}.avatar-header-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.avatar-header-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--primary),#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.1rem}.dashboard-header{display:none}.header-left{display:flex;align-items:center;gap:var(--space-4)}.header-left h2{font-size:1rem;color:var(--text-primary);font-weight:700}.tier-badge{padding:3px var(--space-3);border-radius:var(--radius-sm);font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;display:inline-flex;align-items:center}.tier-badge.free{background:var(--bg-surface);color:var(--text-tertiary);border:1px solid var(--border-default)}.tier-badge.pro{background:var(--primary-surface);color:var(--primary);border:1px solid var(--primary-glow)}.tier-badge.elite{background:var(--primary-surface);color:var(--warning);border:1px solid var(--primary-glow)}.upgrade-toggle-btn{background:var(--warning)!important;color:#fff!important;border:none!important;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-weight:600;font-size:.8125rem;cursor:pointer;transition:var(--transition)}.upgrade-toggle-btn:hover{opacity:.9;transform:translateY(-1px)}.header-right{display:flex;align-items:center;gap:var(--space-4)}.logout-btn{background:var(--danger-surface);color:var(--danger);border:1px solid rgba(239,68,68,.15);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-weight:600;font-size:.8125rem;cursor:pointer;transition:var(--transition)}.logout-btn:hover{background:var(--danger);color:#fff}.loading{text-align:center;margin:var(--space-16) auto;color:var(--primary);display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.loading span{font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.btn-premium{background:linear-gradient(135deg,var(--primary),var(--primary-hover));color:var(--text-inverse);border:none;padding:var(--space-3) var(--space-6);border-radius:var(--radius-lg);font-size:.875rem;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:var(--transition);box-shadow:0 2px 8px var(--primary-glow);display:inline-flex;align-items:center;gap:var(--space-2)}.btn-premium:hover{transform:translateY(-2px);box-shadow:var(--shadow-glow);filter:brightness(1.1)}.btn-premium:active{transform:translateY(0);filter:brightness(.95)}.btn-back:hover{background:var(--primary-surface);color:var(--primary);border-color:var(--primary-glow);transform:translateY(-1px)}.dashboard-tab-navigation{display:flex;justify-content:center;align-items:center;gap:var(--space-2);margin:0 auto var(--space-8) auto;padding:4px;background:#ffffff05;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);max-width:480px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.dashboard-tab-btn{flex:1;background:transparent;border:none;color:var(--text-secondary);padding:10px 16px;font-weight:600;font-size:.875rem;border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-normal) var(--ease-out);text-align:center;white-space:nowrap}.dashboard-tab-btn:hover{color:var(--text-primary);background:#ffffff08}.dashboard-tab-btn.active{color:var(--text-inverse);background:var(--primary);box-shadow:0 4px 12px var(--primary-glow)}.progress-dashboard-container{max-width:1040px;margin:var(--space-10) auto;color:var(--text-primary);animation:fadeIn var(--duration-slow) var(--ease-out)}.dashboard-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-default);padding-bottom:var(--space-4);margin-bottom:var(--space-6)}.progress-grid{display:grid;grid-template-columns:340px 1fr;gap:var(--space-8);align-items:start}.dash-card{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-xs)}.dash-card h4{color:var(--text-primary);font-size:1rem;font-weight:700;margin-bottom:var(--space-2)}.checkin-form{margin-top:var(--space-6)}.form-input{width:100%;background:var(--bg-input);border:1px solid var(--border-default);color:var(--text-primary);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:.9375rem;font-family:inherit;transition:var(--transition)}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);background:var(--bg-elevated)}.form-input[type=date]{color-scheme:dark}body.light-mode .form-input[type=date]{color-scheme:light}.toggle-group{margin-bottom:var(--space-6)}.toggle-group label{display:block;font-size:.8125rem;font-weight:500;color:var(--text-secondary);margin-bottom:var(--space-2)}.macro-toggle-btn{width:100%;padding:var(--space-3);background:var(--bg-input);border:1px solid var(--border-default);color:var(--text-primary);border-radius:var(--radius-md);font-size:.9375rem;font-weight:500;cursor:pointer;transition:var(--transition);text-align:left;display:flex;align-items:center;gap:var(--space-3)}.macro-toggle-btn:hover{background:var(--bg-surface)}.macro-toggle-btn.success{background:var(--primary-surface);border-color:var(--primary);color:var(--primary)}.btn-primary{background:var(--primary);color:var(--text-inverse);border:none;padding:var(--space-3);border-radius:var(--radius-md);font-weight:600;font-size:.9375rem;cursor:pointer;transition:var(--transition);display:flex;justify-content:center;align-items:center;gap:var(--space-2)}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px)}.stats-pills{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);margin:var(--space-6) 0 var(--space-8)}.stat-pill{background:var(--bg-surface);border:1px solid var(--border-subtle);padding:var(--space-5) var(--space-4);border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:flex-start}.stat-pill span{font-size:.75rem;color:var(--text-secondary);font-weight:500;margin-bottom:var(--space-2)}.stat-pill strong{font-size:1.5rem;color:var(--text-primary);font-weight:700;line-height:1.2}.heatmap-container{display:flex;flex-wrap:wrap;gap:5px}.heatmap-box{width:18px;height:18px;border-radius:3px;background:var(--bg-surface);border:1px solid var(--border-subtle);transition:transform var(--duration-fast) ease;cursor:pointer}.heatmap-box:hover{transform:scale(1.15)}.heatmap-box.hit{background:var(--primary);border-color:var(--primary-hover)}.heatmap-box.missed{background:var(--bg-muted)}.archive-section{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--border-default)}.archive-section h4{color:var(--text-primary);font-size:1rem;margin-bottom:var(--space-4)}.archive-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--space-4)}.archive-card{background:var(--bg-elevated);border:1px solid var(--border-default);padding:var(--space-4);border-radius:var(--radius-md);transition:var(--transition)}.archive-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.archive-card-header{font-size:.8rem;color:var(--text-secondary);margin-bottom:var(--space-2);font-weight:600;text-transform:uppercase;letter-spacing:.02em}.archive-card-stats{display:flex;justify-content:space-between;align-items:center}.archive-stat-item{display:flex;flex-direction:column}.archive-stat-label{font-size:.7rem;color:var(--text-tertiary);text-transform:uppercase;font-weight:600}.archive-stat-value{color:var(--text-primary);font-weight:600}.archive-stat-value.high{color:var(--success)}.archive-stat-value.mid{color:var(--warning)}.archive-stat-value.low{color:var(--danger)}.text-right{text-align:right}.btn-reset-board{background:transparent;border:1px solid var(--border-default);color:var(--text-secondary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;font-size:.8rem;transition:var(--transition)}.btn-reset-board:hover{border-color:var(--warning);color:var(--warning)}.metabolic-card{display:flex;flex-direction:column}.metabolic-stats{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-4)}.metabolic-stat-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) 0;border-bottom:1px solid var(--border-subtle)}.metabolic-stat-row:last-child{border-bottom:none}.metabolic-stat-row.goal-highlight{background:var(--primary-surface);border:1px solid var(--primary-glow);padding:var(--space-4);border-radius:var(--radius-md);margin-top:var(--space-2)}.metabolic-label{font-size:.875rem;color:var(--text-secondary);font-weight:500}.metabolic-value{font-size:1.0625rem;color:var(--text-primary);font-weight:700}.metabolic-breakdown h5{font-size:.8125rem;text-transform:uppercase;color:var(--text-tertiary);font-weight:600;margin-bottom:var(--space-3);letter-spacing:.05em}.breakdown-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.breakdown-item{background:var(--bg-surface);border:1px solid var(--border-subtle);padding:var(--space-3);border-radius:var(--radius-md);display:flex;flex-direction:column}.breakdown-item span{font-size:.6875rem;color:var(--text-tertiary);margin-bottom:2px}.breakdown-item strong{font-size:.9375rem;color:var(--text-primary);font-weight:600}.chart-card{display:flex;flex-direction:column}.weight-chart-wrapper{margin-top:var(--space-4);width:100%}.weight-svg-chart{width:100%;height:auto;overflow:visible}.chart-label-text{font-size:8px;fill:var(--text-tertiary);font-weight:500}.chart-dot{fill:var(--primary);stroke:var(--bg-elevated);stroke-width:2px;cursor:pointer;transition:r var(--duration-fast) ease}.chart-dot-pulse{fill:var(--primary);opacity:0;pointer-events:none;transition:opacity var(--duration-fast) ease,r var(--duration-fast) ease}.chart-dot-group:hover .chart-dot{r:6;fill:var(--primary-glow)}.chart-dot-group:hover .chart-dot-pulse{r:14;opacity:.25}.chart-tooltip{opacity:0;pointer-events:none;transition:opacity var(--duration-fast) ease,transform var(--duration-fast) ease;transform:translateY(5px);transform-origin:bottom center}.chart-dot-group:hover .chart-tooltip{opacity:1;transform:translateY(0)}.empty-chart-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:180px;border:1px dashed var(--border-default);border-radius:var(--radius-md);padding:var(--space-6);text-align:center;background:#ffffff03}.chart-placeholder-icon{font-size:2rem;margin-bottom:var(--space-3);opacity:.5}.empty-chart-placeholder p{font-size:.875rem;color:var(--text-secondary);max-width:240px;line-height:1.4}@media(max-width:860px){.progress-grid{grid-template-columns:1fr;gap:var(--space-5)}.progress-dashboard-container{padding:0 var(--space-4)}}.btn-delete-archive{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:4px;border-radius:var(--radius-sm);transition:var(--transition);display:flex;align-items:center;justify-content:center}.btn-delete-archive:hover{color:var(--danger);background:var(--danger-surface)}.leaderboard-container{max-width:1000px;margin:0 auto;padding:0 0 var(--space-8) 0}.leaderboard-header-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-8);gap:var(--space-4)}.title-area{flex-grow:1}.leaderboard-title{font-size:1.75rem;font-weight:800;background:linear-gradient(135deg,var(--text-primary),var(--primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:var(--space-1);letter-spacing:-.02em}.leaderboard-subtitle{color:var(--text-secondary);font-size:.9rem;line-height:1.4;max-width:650px}.btn-refresh{background:#ffffff08;border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:50%;width:42px;height:42px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition)}.btn-refresh:hover{background:#ffffff14;color:var(--primary);border-color:var(--primary-glow);transform:rotate(30deg)}.btn-refresh:active{transform:rotate(180deg) scale(.95)}.leaderboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) 0;gap:var(--space-4);color:var(--text-secondary);font-size:.9rem}.leaderboard-error-card{display:flex;flex-direction:column;align-items:center;text-align:center}.premium-error-card{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:var(--space-10) var(--space-8);max-width:440px;margin:var(--space-12) auto;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:var(--shadow-sm),0 20px 40px #00000059;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:relative;overflow:hidden}.premium-error-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--danger) 0%,var(--warning) 100%)}.offline-illustration{position:relative;width:90px;height:90px;display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-6)}.illustration-core{z-index:3;width:60px;height:60px;background:var(--danger-surface);color:var(--danger);border:1px solid rgba(239,68,68,.25);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px #ef444426;transition:transform var(--duration-fast) var(--ease-out)}.premium-error-card:hover .illustration-core{transform:scale(1.05)}.pulse-ring{position:absolute;border-radius:50%;border:1px solid rgba(239,68,68,.15);background:#ef444405;z-index:1;animation:radar-pulse 3s infinite linear;opacity:0;pointer-events:none}.ring-1{width:80px;height:80px;animation-delay:0s}.ring-2{width:100px;height:100px;animation-delay:1.5s}@keyframes radar-pulse{0%{transform:scale(.6);opacity:0}15%{opacity:1}to{transform:scale(1.4);opacity:0}}.error-headline{font-size:1.25rem;font-weight:800;color:var(--text-primary);margin-bottom:var(--space-2);letter-spacing:-.01em}.error-subtext{font-size:.9rem;color:var(--text-secondary);line-height:1.5;margin-bottom:var(--space-6);max-width:340px}.btn-retry-premium{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);background:linear-gradient(135deg,var(--primary),var(--primary-hover));color:var(--text-inverse);border:none;padding:12px 28px;border-radius:var(--radius-lg);font-size:.875rem;font-weight:700;cursor:pointer;box-shadow:0 4px 15px var(--primary-glow);transition:all .2s ease-in-out;text-transform:uppercase;letter-spacing:.03em;margin-bottom:var(--space-4);width:auto}.btn-retry-premium:hover{transform:translateY(-2px);box-shadow:var(--shadow-glow),0 8px 20px var(--primary-glow);filter:brightness(1.1)}.btn-retry-premium:active{transform:translateY(0);filter:brightness(.95)}.btn-retry-premium:hover .retry-spinner-icon{transform:rotate(120deg)}.retry-spinner-icon{transition:transform .4s var(--ease-out)}.error-details-dropdown{width:100%;border-top:1px solid var(--border-subtle);margin-top:var(--space-4);padding-top:var(--space-3);text-align:left}.error-details-dropdown summary{font-size:.75rem;font-weight:700;color:var(--text-tertiary);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;outline:none;transition:color var(--duration-fast);text-transform:uppercase;letter-spacing:.05em;list-style:none;display:flex;align-items:center;gap:4px}.error-details-dropdown summary::-webkit-details-marker{display:none}.error-details-dropdown summary:before{content:"▶";font-size:.6rem;transition:transform .2s ease;display:inline-block}.error-details-dropdown[open] summary:before{transform:rotate(90deg)}.error-details-dropdown summary:hover{color:var(--text-secondary)}.error-details-dropdown pre{margin-top:var(--space-3);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-3);font-family:monospace;font-size:.75rem;color:var(--danger);white-space:pre-wrap;word-break:break-all;max-height:120px;overflow-y:auto}.podium-section{margin-bottom:var(--space-8)}.podium-grid{display:flex;justify-content:center;align-items:flex-end;gap:var(--space-6);padding:var(--space-4) 0;flex-wrap:wrap}.podium-card{background:#ffffff05;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-6) var(--space-4);display:flex;flex-direction:column;align-items:center;width:220px;position:relative;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s ease;box-shadow:0 10px 30px #00000026}.podium-card:hover{transform:translateY(-8px);box-shadow:0 15px 35px #0000004d}.podium-card.gold{order:2;width:240px;padding:var(--space-8) var(--space-4) var(--space-6) var(--space-4);background:linear-gradient(180deg,#f59e0b14,#ffffff05);border-color:#f59e0b40;box-shadow:0 15px 40px #f59e0b14}.podium-card.gold:hover{box-shadow:0 20px 45px #f59e0b26,0 0 15px #f59e0b1a;border-color:#f59e0b66}.podium-card.silver{order:1;height:250px;background:linear-gradient(180deg,#94a3b80f,#ffffff05);border-color:#94a3b833}.podium-card.bronze{order:3;height:230px;background:linear-gradient(180deg,#b453090d,#ffffff05);border-color:#b4530926}.podium-avatar-wrapper{position:relative;margin-bottom:var(--space-4)}.podium-crown{position:absolute;top:-24px;left:50%;transform:translate(-50%);font-size:1.75rem;z-index:2;filter:drop-shadow(0 2px 8px rgba(0,0,0,.3))}.podium-avatar-img{width:80px;height:80px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:3px solid var(--border-subtle);box-shadow:var(--shadow-glow)}.gold .podium-avatar-img{width:96px;height:96px;border-color:#f59e0b;box-shadow:0 0 20px #f59e0b4d}.silver .podium-avatar-img{border-color:#cbd5e1;box-shadow:0 0 15px #cbd5e133}.bronze .podium-avatar-img{border-color:#b45309;box-shadow:0 0 12px #b4530926}.podium-avatar-placeholder{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--primary),#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.75rem;border:3px solid var(--border-subtle)}.gold .podium-avatar-placeholder{width:96px;height:96px;font-size:2.2rem;border-color:#f59e0b;box-shadow:0 0 20px #f59e0b4d}.podium-badge-rank{position:absolute;bottom:-4px;left:50%;transform:translate(-50%);padding:3px 10px;border-radius:var(--radius-full);font-size:.75rem;font-weight:800;color:#fff;background:var(--primary);box-shadow:0 2px 8px #0003}.gold .podium-badge-rank{background:#f59e0b;font-size:.8rem}.silver .podium-badge-rank{background:#64748b}.bronze .podium-badge-rank{background:#b45309}.podium-user-info{text-align:center;margin-bottom:var(--space-3);width:100%}.podium-user-name{font-size:.95rem;font-weight:700;color:var(--text-primary);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gold .podium-user-name{font-size:1.05rem}.podium-user-points{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.gold .podium-user-points{color:#f59e0b}.podium-user-badges{display:flex;gap:var(--space-1);justify-content:center;flex-wrap:wrap;margin-top:auto;width:100%}.mini-badge-pill{font-size:.65rem;padding:2px 6px;background:#ffffff0a;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);white-space:nowrap}.leaderboard-list-section{margin-bottom:var(--space-8)}.leaderboard-table-wrapper{overflow:hidden;border-radius:var(--radius-lg);border:1px solid var(--border-subtle)}.leaderboard-table{width:100%;border-collapse:collapse;text-align:left}.leaderboard-table th{background:#ffffff05;color:var(--text-tertiary);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-subtle)}.leaderboard-table td{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-subtle);vertical-align:middle;font-size:.875rem}.leaderboard-table tr:last-child td{border-bottom:none}.leaderboard-row{transition:background-color .2s ease}.leaderboard-row:hover{background:#ffffff05}.col-rank{width:80px}.rank-number{font-weight:700;color:var(--text-secondary)}.user-cell{display:flex;align-items:center;gap:var(--space-3)}.list-avatar-img{width:36px;height:36px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:1.5px solid var(--border-subtle)}.list-avatar-placeholder{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--primary),#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem}.user-meta{display:flex;align-items:center;gap:var(--space-2)}.user-name{font-weight:600;color:var(--text-primary)}.you-tag{font-size:.65rem;font-weight:800;background:#818cf826;color:var(--primary);padding:1px 6px;border-radius:4px;letter-spacing:.02em}.badges-flex{display:flex;gap:var(--space-2);flex-wrap:wrap}.no-badges-text{color:var(--text-tertiary)}.col-points{font-weight:700}.points-value{color:var(--primary)}.current-user{background:#818cf808!important;border-color:#818cf833!important}.current-user:hover{background:#818cf80d!important}@keyframes scorePulse{0%{transform:scale(1);box-shadow:0 10px 30px #00000026}30%{transform:scale(1.06);box-shadow:0 0 25px #f59e0b66,0 10px 30px #0003}to{transform:scale(1);box-shadow:0 10px 30px #00000026}}.score-pulse{animation:scorePulse 1.8s ease-in-out;border-color:#f59e0b!important}@keyframes rowPulse{0%{background-color:transparent}30%{background-color:#10b98126}to{background-color:transparent}}.row-pulse{animation:rowPulse 1.8s ease-in-out}.personal-status-card{display:flex;justify-content:space-between;align-items:center;padding:var(--space-5) var(--space-6);margin-top:var(--space-6);background:linear-gradient(135deg,#818cf80d,#ffffff05);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(129,140,248,.3);border-radius:var(--radius-lg);box-shadow:0 8px 32px #00000040;position:relative;z-index:2}.personal-left{display:flex;align-items:center;gap:var(--space-4)}.personal-badge-icon{font-size:2.2rem;filter:drop-shadow(0 2px 5px rgba(0,0,0,.2))}.personal-details h4{font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:2px}.personal-details p{font-size:.8rem;color:var(--text-secondary)}.personal-right{display:flex;gap:var(--space-6)}.personal-stat{display:flex;flex-direction:column;align-items:flex-end}.stat-label{font-size:.65rem;font-weight:700;color:var(--text-tertiary);letter-spacing:.05em;margin-bottom:2px}.stat-value{font-size:1.25rem;font-weight:800}.text-indigo{color:var(--primary)}.text-gold{color:#f59e0b}.podium-tier-points-row{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);margin-top:var(--space-2)}.tier-badge{display:inline-flex;align-items:center;gap:4px;font-size:.725rem;font-weight:700;padding:3px 10px;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.03em;box-shadow:0 2px 8px #00000026;border:1px solid rgba(255,255,255,.1)}.tier-badge-small{display:inline-flex;align-items:center;gap:3px;font-size:.65rem;font-weight:700;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.02em;border:1px solid rgba(255,255,255,.05);width:-moz-fit-content;width:fit-content}.user-name-row{display:flex;align-items:center;gap:var(--space-2)}.rank-tier-bronze{background:linear-gradient(135deg,#a8703c1a,#cd7f3240);color:#d78f42;border-color:#cd7f3259}.rank-tier-silver{background:linear-gradient(135deg,#94a3b81f,#cbd5e138);color:#cbd5e1;border-color:#cbd5e140}.rank-tier-gold{background:linear-gradient(135deg,#d977061f,#f59e0b38);color:#f59e0b;border-color:#f59e0b59;box-shadow:0 0 10px #f59e0b14}.rank-tier-platinum{background:linear-gradient(135deg,#0284c71f,#38bdf838);color:#38bdf8;border-color:#38bdf859;box-shadow:0 0 10px #38bdf814}.rank-tier-diamond{background:linear-gradient(135deg,#7c3aed1f,#a855f738);color:#c084fc;border-color:#a855f759;box-shadow:0 0 12px #a855f71f}.rank-tier-elite{background:linear-gradient(135deg,#db277726,#f43f5e40);color:#f43f5e;border-color:#f43f5e66;box-shadow:0 0 15px #f43f5e26;animation:eliteGlow 3s infinite alternate}@keyframes eliteGlow{0%{box-shadow:0 0 8px #f43f5e26}to{box-shadow:0 0 18px #f43f5e59}}.tier-text.rank-tier-bronze{color:#d78f42}.tier-text.rank-tier-silver{color:#cbd5e1}.tier-text.rank-tier-gold{color:#f59e0b}.tier-text.rank-tier-platinum{color:#38bdf8}.tier-text.rank-tier-diamond{color:#c084fc}.tier-text.rank-tier-elite{color:#f43f5e;font-weight:800}.personal-badge-icon.rank-tier-bronze-glow{filter:drop-shadow(0 0 5px rgba(205,127,50,.25))}.personal-badge-icon.rank-tier-silver-glow{filter:drop-shadow(0 0 5px rgba(203,213,225,.25))}.personal-badge-icon.rank-tier-gold-glow{filter:drop-shadow(0 0 10px rgba(245,158,11,.4))}.personal-badge-icon.rank-tier-platinum-glow{filter:drop-shadow(0 0 10px rgba(56,189,248,.4))}.personal-badge-icon.rank-tier-diamond-glow{filter:drop-shadow(0 0 12px rgba(168,85,247,.5))}.personal-badge-icon.rank-tier-elite-glow{filter:drop-shadow(0 0 15px rgba(244,63,94,.6))}.personal-status-card{display:flex;flex-direction:column!important;gap:var(--space-4)}.personal-main-row{display:flex;justify-content:space-between;align-items:center;width:100%}.personal-progress-section{width:100%;padding-top:var(--space-3);border-top:1px solid rgba(255,255,255,.04)}.progress-labels{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2);font-size:.75rem}.progress-level-label{font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.progress-remaining-label{font-weight:600;color:var(--text-tertiary)}.progress-track-wrapper{display:flex;align-items:center;gap:var(--space-4);width:100%}.progress-track{flex-grow:1;height:8px;background:#ffffff0a;border-radius:var(--radius-full);overflow:hidden;border:1px solid rgba(255,255,255,.02)}.progress-fill{height:100%;border-radius:var(--radius-full);transition:width 1s cubic-bezier(.4,0,.2,1)}.progress-fill.rank-tier-bronze-fill{background:linear-gradient(90deg,#a8703c,#cd7f32);box-shadow:0 0 8px #cd7f324d}.progress-fill.rank-tier-silver-fill{background:linear-gradient(90deg,#94a3b8,#cbd5e1);box-shadow:0 0 8px #cbd5e14d}.progress-fill.rank-tier-gold-fill{background:linear-gradient(90deg,#d97706,#f59e0b);box-shadow:0 0 12px #f59e0b80}.progress-fill.rank-tier-platinum-fill{background:linear-gradient(90deg,#0284c7,#38bdf8);box-shadow:0 0 12px #38bdf880}.progress-fill.rank-tier-diamond-fill{background:linear-gradient(90deg,#7c3aed,#a855f7);box-shadow:0 0 15px #a855f799}.progress-fill.rank-tier-elite-fill{background:linear-gradient(90deg,#db2777,#f43f5e);box-shadow:0 0 20px #f43f5eb3}.progress-percent-text{font-size:.75rem;font-weight:700;color:var(--text-secondary);min-width:32px;text-align:right}@media(max-width:768px){.podium-grid{flex-direction:column;align-items:center}.podium-card{width:100%!important;height:auto!important;padding:var(--space-5) var(--space-4)!important}.podium-card.gold,.podium-card.silver,.podium-card.bronze{order:unset}.personal-status-card{position:relative;bottom:0}.personal-main-row{flex-direction:column;gap:var(--space-4);align-items:flex-start}.personal-right{width:100%;justify-content:space-between}.personal-stat{align-items:flex-start}}.plan-container{max-width:1100px;margin:var(--space-8) auto;padding:var(--space-8);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);color:var(--text-primary);animation:fadeIn var(--duration-slow) var(--ease-out)}.controls{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-8);padding:var(--space-4);background:var(--bg-surface);border-radius:var(--radius-lg);border:1px solid var(--border-subtle)}.controls button{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border-default);font-weight:600;font-size:.8125rem;cursor:pointer;transition:var(--transition);display:flex;align-items:center;gap:var(--space-2);background:var(--bg-elevated);color:var(--text-primary)}.controls button:hover:not(.locked-btn){border-color:var(--primary);color:var(--primary)}.voice-btn{background:var(--accent);color:#fff;border-color:var(--accent)}.voice-btn:hover,.voice-btn:focus,.voice-btn:active{background:var(--accent-hover)!important;border-color:var(--accent-hover)!important;color:#fff!important}.calendar-btn{background:var(--primary);color:#fff;border-color:var(--primary)}.calendar-btn:hover,.calendar-btn:focus,.calendar-btn:active{background:var(--primary-hover)!important;border-color:var(--primary-hover)!important;color:#fff!important}.pdf-btn{background:var(--primary);color:var(--text-inverse);border-color:var(--primary)}.pdf-btn:hover,.pdf-btn:focus,.pdf-btn:active{background:var(--primary-hover)!important;border-color:var(--primary-hover)!important;color:var(--text-inverse)!important}.locked-btn{background:var(--bg-surface)!important;color:var(--text-tertiary)!important;border:1px dashed var(--border-default)!important;cursor:not-allowed!important;opacity:.7}.plan-header h2{font-size:2rem;font-weight:800;letter-spacing:-.03em;margin:0;color:var(--text-primary)}.reset-week-btn{background:var(--bg-surface);border:1px solid var(--warning);color:var(--warning);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-weight:700;font-size:.8125rem;cursor:pointer;transition:var(--transition);display:flex;align-items:center;gap:var(--space-2)}.reset-week-btn:hover{background:var(--warning);color:#fff;box-shadow:0 0 15px #f59e0b4d}.plan-meta-pills{display:flex;flex-wrap:wrap;gap:var(--space-2)}.pill{background:var(--primary-surface);border:1px solid rgba(34,197,94,.15);padding:var(--space-1) var(--space-4);border-radius:var(--radius-full);font-size:.75rem;font-weight:600;color:var(--primary);letter-spacing:.02em}.toggle-all-btn{background:var(--bg-surface);border:1px solid var(--primary);color:var(--primary);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:.75rem;font-weight:700;cursor:pointer;transition:var(--transition);display:flex;align-items:center;gap:var(--space-2)}.toggle-all-btn:hover{background:var(--primary);color:#fff;box-shadow:0 4px 12px #22c55e33}.modern-tabs-container{display:flex;justify-content:center;margin:var(--space-8) 0 var(--space-6) 0}.segmented-control{display:inline-flex;background:var(--bg-surface);padding:3px;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);gap:2px}.segment-btn{background:transparent;color:var(--text-secondary);border:none;padding:var(--space-2) var(--space-5);border-radius:var(--radius-md);font-weight:600;font-size:.8125rem;cursor:pointer;transition:var(--transition)}.segment-btn:hover{color:var(--text-primary)}.segment-btn.active{background:var(--primary);color:var(--text-inverse)}.day-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-6);justify-content:center}.day-tab-btn{background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-secondary);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-weight:600;font-size:.8125rem;cursor:pointer;transition:var(--transition)}.day-tab-btn:hover{border-color:var(--primary);color:var(--text-primary)}.day-tab-btn.active{background:var(--primary-surface);border-color:var(--primary);color:var(--primary)}.quote-box{background:var(--bg-surface);border:1px solid var(--border-default);padding:var(--space-8);border-radius:var(--radius-lg);position:relative}.quote-box p{font-size:1.125rem;color:var(--text-primary);font-weight:500;font-style:italic}.quote-box span{color:var(--primary);font-weight:700;font-size:.875rem;margin-top:var(--space-2);display:block}.locked-message{color:var(--text-secondary);text-align:center;padding:var(--space-8)}.plan-disclaimer{margin-top:var(--space-6);color:var(--text-tertiary);font-size:.8125rem}.tab-section{display:none;animation:fadeIn var(--duration-normal) var(--ease-out)}.tab-section.active{display:block}.glow-highlight{background-color:#10b98133;color:var(--primary);border-radius:4px;padding:0 4px;box-shadow:0 0 10px #10b98180;font-weight:700;transition:box-shadow .3s ease}@media print{.plan-container{background:#fff!important;color:#000!important;border:none;box-shadow:none;padding:0;max-width:100%}.no-print,.modern-tabs-container,.day-tabs,.controls,.voice-btn,.swap-btn,.calendar-btn,.pdf-btn{display:none!important}.tab-section{display:flex!important}}.day-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);transition:var(--transition);display:flex;flex-direction:column;max-width:750px;width:100%}.day-card:hover{border-color:var(--border-default);box-shadow:var(--shadow-sm)}.day-card h4{font-size:1.1rem;font-weight:700;margin-bottom:var(--space-4);color:var(--primary)}.day-card.hidden-day{display:none}.day-card.active-day{display:flex;animation:fadeIn var(--duration-normal) var(--ease-out)}.exercise-list{display:flex;flex-direction:column;gap:var(--space-2)}.progress-container{margin:var(--space-4) 0 var(--space-6) 0;background:var(--bg-surface);padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--border-subtle)}.progress-container.locked-container{opacity:.5}.progress-container .progress-header{display:flex;justify-content:space-between;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-3);font-size:.8125rem}.progress-container .progress-bar-bg{width:100%;height:8px;background:var(--bg-muted);border-radius:var(--radius-full);overflow:hidden}.progress-container .progress-bar-bg.locked-bg{background:var(--bg-muted)}.progress-container .progress-bar-fill{height:100%;background:var(--primary);border-radius:var(--radius-full);transition:width var(--duration-slow) var(--ease-out)}.progress-container .progress-bar-fill.locked-fill{background:var(--text-tertiary)}.progress-container .elite-subtext{font-size:.75rem;color:var(--text-secondary)}.task-row{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid transparent;transition:var(--transition)}.task-row:hover{border-color:var(--border-default);background:var(--bg-surface)}.task-row .task-checkbox{margin-top:2px;width:18px;height:18px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.task-row .ex-main{display:flex;flex-direction:column;gap:2px;flex:1}.task-row .ex-main strong{color:var(--text-primary);font-size:.9375rem;font-weight:600}.task-row .ex-main span{color:var(--text-secondary);font-size:.8125rem}.task-row .ex-notes{font-size:.8125rem;color:var(--primary);font-style:italic;margin-top:2px}.task-row.task-done{opacity:.35;text-decoration:line-through}.btn-focus-mode{background:#ffffff08;border:1px solid rgba(255,255,255,.08);color:var(--text-secondary);padding:6px;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s var(--ease-in-out)}.btn-focus-mode:hover{background:#ffffff14;color:var(--primary);border-color:var(--primary)}.plan-container.focus-mode{border:none;border-radius:0;max-width:1200px;min-height:100vh;margin:0 auto}:fullscreen .plan-container{padding:40px;background:var(--bg-elevated);overflow-y:auto}.diet-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-5)}.meal-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);transition:var(--transition);display:flex;flex-direction:column}.meal-card:hover{border-color:var(--border-default);box-shadow:var(--shadow-sm)}.meal-card h4{font-size:1.1rem;font-weight:700;margin-bottom:var(--space-4);color:var(--primary)}.meal-title{color:var(--primary);font-size:1.05rem;font-weight:700;margin-bottom:var(--space-3)}.meal-item-wrapper{display:flex;flex-direction:column;width:100%;margin-bottom:var(--space-2)}.inline-recipe{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-5);margin-top:var(--space-2)}.inline-recipe h5{color:var(--primary);font-size:.9375rem;font-weight:700;margin-bottom:var(--space-2);display:flex;justify-content:space-between;align-items:center}.inline-recipe .recipe-meta{font-size:.8125rem;margin-bottom:var(--space-4);color:var(--text-secondary);display:flex;gap:var(--space-4)}.inline-recipe h6{color:var(--text-primary);font-size:.8125rem;font-weight:700;margin-top:var(--space-3);margin-bottom:var(--space-1);text-transform:uppercase;letter-spacing:.03em}.inline-recipe ul,.inline-recipe ol{font-size:.8125rem;color:var(--text-secondary);margin-left:var(--space-5);line-height:1.6}.close-recipe-btn{background:transparent;border:none;color:var(--danger);cursor:pointer;font-size:1.1rem;line-height:1;padding:var(--space-1);border-radius:var(--radius-sm);transition:var(--transition)}.close-recipe-btn:hover{background:var(--danger-surface)}.swap-btn{background:transparent;border:1px solid transparent;color:var(--text-secondary);border-radius:var(--radius-md);padding:var(--space-2);cursor:pointer;transition:var(--transition);font-size:1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.swap-btn:hover{background:var(--primary-surface);border-color:var(--primary);color:var(--primary)}.sound-wave-loader{display:flex;align-items:center;gap:2.2px;height:18px;width:18px;justify-content:center}.sound-wave-loader .bar{display:block;width:2px;height:16px;background-color:currentColor;border-radius:1px;animation:sound-wave-anim .6s ease-in-out infinite alternate}.sound-wave-loader .bar:nth-child(1){animation-delay:.1s}.sound-wave-loader .bar:nth-child(2){animation-delay:.3s}.sound-wave-loader .bar:nth-child(3){animation-delay:.5s}.sound-wave-loader .bar:nth-child(4){animation-delay:.2s}@keyframes sound-wave-anim{0%{transform:scaleY(.25)}to{transform:scaleY(1)}}.grocery-list-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5)}.grocery-items{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-3)}.grocery-items li{background:var(--bg-elevated);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border-subtle);display:flex;align-items:center;gap:var(--space-3);transition:var(--transition)}.grocery-items li:hover{border-color:var(--border-default)}.grocery-items input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.grocery-items label{font-size:.875rem;cursor:pointer;color:var(--text-primary);font-weight:500;line-height:1.4}.grocery-items input:checked+label{text-decoration:line-through;color:var(--text-tertiary);opacity:.5}.category-name{font-size:.875rem;font-weight:700;color:var(--primary);margin:var(--space-5) 0 var(--space-3) 0}.category-name:first-child{margin-top:0}#full-plan-printable{background:#fff;color:#1a1a1a;padding:40px;font-family:inherit;display:none}.export-header{border-bottom:2px solid var(--primary);margin-bottom:30px;padding-bottom:20px}.export-section:not(:first-of-type){page-break-before:always;margin-top:40px}.export-section:first-of-type{page-break-before:auto;margin-top:0}.export-day-card{margin-bottom:30px;border:1px solid #eee;padding:20px;border-radius:12px}.export-day-card h4{color:var(--primary);margin-bottom:15px;font-size:1.2rem}.export-exercise-item{border-bottom:1px solid #f5f5f5;padding:10px 0}.export-exercise-item:last-child{border-bottom:none}.export-diet-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.export-meal-card{border:1px solid #eee;padding:15px;border-radius:12px}.export-meal-card h4{color:var(--warning);margin-bottom:10px}.export-grocery-section{display:flex;flex-wrap:wrap;gap:30px}.export-grocery-cat{flex:1 1 250px}.page-break{-moz-column-break-before:page;break-before:page}.tips-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-5)}.tip-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);transition:var(--transition);display:flex;flex-direction:column}.tip-card:hover{border-color:var(--border-default);box-shadow:var(--shadow-sm)}.history-btn{background:linear-gradient(135deg,var(--primary),var(--primary-hover));color:var(--text-inverse);border-color:var(--primary)}.history-btn:hover{background:var(--primary-hover)!important;color:var(--text-inverse)!important;box-shadow:0 0 14px var(--primary-glow)}.version-history-overlay{position:fixed;inset:0;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;justify-content:flex-end;animation:fadeIn .2s ease}.version-history-drawer{width:360px;max-width:100vw;height:100vh;max-height:100vh;box-sizing:border-box;background:var(--bg-elevated);border-left:1px solid var(--border-default);padding:0;overflow:hidden;display:flex;flex-direction:column;animation:slideInRight .25s ease}.version-history-drawer .version-history-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-subtle);padding:1.5rem 1.5rem 1rem;flex-shrink:0}.version-history-drawer .version-history-header h3{margin:0;font-size:1.1rem;font-weight:700;color:var(--text-primary)}.version-history-drawer .version-history-sub{font-size:.8rem;color:var(--text-tertiary);margin:0;padding:1rem 1.5rem .5rem;flex-shrink:0}.version-history-drawer .version-history-list{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:1rem;padding:.5rem 1.5rem 2.5rem}.version-history-drawer .version-history-list::-webkit-scrollbar{width:8px}.version-history-drawer .version-history-list::-webkit-scrollbar-track{background:transparent}.version-history-drawer .version-history-list::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:4px}.close-drawer-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.2rem;line-height:1;padding:4px 8px;border-radius:var(--radius-sm);transition:var(--transition)}.close-drawer-btn:hover{background:var(--bg-surface);color:var(--danger)}.version-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem;text-align:center;color:var(--text-secondary);font-size:.9rem;background:var(--bg-surface);border-radius:var(--radius-lg);border:1px dashed var(--border-default)}.version-card-wrapper{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease,transform .1s ease;display:flex;flex-direction:column;margin-bottom:var(--space-3);flex-shrink:0}.version-card-wrapper:hover{border-color:var(--primary);background:var(--bg-elevated)}.version-card-wrapper:active{transform:scale(.995)}.version-card-wrapper.expanded{border-color:var(--primary);box-shadow:0 4px 16px #10b9811a;background:var(--bg-surface)}.version-card-wrapper .version-card{border:none;background:transparent;border-radius:0;margin-bottom:0;padding:.875rem 1rem;display:flex;align-items:center;gap:.75rem;transition:var(--transition)}.version-card-info{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0;cursor:pointer;padding:.25rem 0}.version-card-info:hover .version-label{color:var(--primary)}.version-card-info:hover .version-expand-icon{color:var(--primary-light, var(--primary));transform:scale(1.15) rotate(var(--rotate-state, 0deg))}.version-card-info:hover .version-expand-icon.expanded{transform:scale(1.15) rotate(90deg)}.version-card-info .version-header-row{display:flex;align-items:center;gap:.5rem}.version-card-info .version-expand-icon{color:var(--primary);font-size:.65rem;flex-shrink:0;display:flex;align-items:center;line-height:1;transition:transform .2s ease,color .2s ease}.version-card-info .version-expand-icon.expanded{transform:rotate(90deg)}.version-card-info .version-label{font-size:.875rem;font-weight:700;color:var(--text-primary);line-height:1.3;word-break:break-word;transition:color .2s ease}.version-card-info .version-date{font-size:.75rem;color:var(--text-tertiary);padding-left:1.25rem}.restore-btn{background:var(--primary-surface);border:1px solid var(--primary);color:var(--primary);padding:.375rem .75rem;border-radius:var(--radius-md);font-size:.8125rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:var(--transition);flex-shrink:0;align-self:center}.restore-btn:hover:not(:disabled){background:var(--primary);color:var(--text-inverse)}.restore-btn:disabled{opacity:.5;cursor:not-allowed}.version-details-panel{padding:0 1rem 1rem;border-top:1px dashed var(--border-subtle);background:#ffffff03;display:flex;flex-direction:column;gap:.75rem;font-size:.8125rem;animation:fadeIn .2s var(--ease-out)}.version-details-panel .bytes-saved-badge{display:inline-flex;align-self:flex-start;background:#10b98126;border:1px solid rgba(16,185,129,.3);color:var(--primary);padding:4px 10px;border-radius:var(--radius-full);font-size:.7rem;font-weight:700;margin-top:.5rem}.version-details-panel .diff-changes-list{display:flex;flex-direction:column;gap:.5rem}.version-details-panel .diff-change-item{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:10px 12px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);border-left:3px solid var(--primary)}.version-details-panel .diff-change-item.workout-add,.version-details-panel .diff-change-item.diet-add{border-left-color:#22863a}.version-details-panel .diff-change-item.workout-remove,.version-details-panel .diff-change-item.diet-remove{border-left-color:#d73a49}.version-details-panel .diff-change-item .diff-desc{font-weight:700;color:var(--text-primary);font-size:.75rem;width:100%}.version-details-panel .diff-change-item .diff-values{display:flex;flex-direction:column;align-items:flex-start;gap:5px;width:100%}.version-details-panel .diff-change-item .diff-old-val{display:block;width:100%;background:#ef444426;color:var(--danger, #ef4444);text-decoration:line-through;padding:5px 10px;border-radius:var(--radius-sm);font-family:var(--font-mono, monospace);font-size:.75rem;line-height:1.4;word-break:break-word}.version-details-panel .diff-change-item .diff-old-val:before{content:"- ";font-weight:800;color:var(--danger, #ef4444)}.version-details-panel .diff-change-item .diff-new-val{display:block;width:100%;background:#10b98126;color:var(--success, #10b981);padding:5px 10px;border-radius:var(--radius-sm);font-family:var(--font-mono, monospace);font-size:.75rem;line-height:1.4;word-break:break-word}.version-details-panel .diff-change-item .diff-new-val:before{content:"+ ";font-weight:800;color:var(--success, #10b981)}.version-details-panel .no-changes-text,.version-details-panel .legacy-version-text{color:var(--text-tertiary);font-style:italic;font-size:.75rem;text-align:center;padding:var(--space-2) 0}.macro-swap-overlay{position:fixed;inset:0;background:#050508bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1050;display:flex;align-items:center;justify-content:center;padding:var(--space-4);animation:fadeIn .2s var(--ease-out)}.macro-swap-modal{width:100%;max-width:520px;background:var(--glass-bg);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:0 20px 40px #0006,var(--shadow-glow);display:flex;flex-direction:column;max-height:90vh;overflow:hidden;animation:slideUp .3s var(--ease-out)}.macro-swap-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-subtle)}.macro-swap-header h3{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0}.macro-swap-close{background:none;border:none;color:var(--text-secondary);font-size:1.2rem;cursor:pointer;padding:var(--space-1);transition:var(--transition)}.macro-swap-close:hover{color:var(--text-primary)}.macro-swap-body{padding:var(--space-6);overflow-y:auto;flex:1}.target-food-banner{background:#818cf814;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-6);display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;font-size:.95rem}.banner-lbl{color:var(--text-tertiary)}.banner-val{color:var(--primary);font-weight:600}.banner-portion{color:var(--text-secondary)}.macro-swap-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8) 0;color:var(--text-secondary);gap:var(--space-4)}.macro-swap-loader p{font-size:.9rem;margin:0}.macro-swap-error{color:var(--danger);text-align:center;padding:var(--space-4);background:var(--danger-surface);border-radius:var(--radius-md);font-size:.9rem}.substitutes-list{display:flex;flex-direction:column;gap:var(--space-4)}.sub-card{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4);cursor:pointer;transition:all .2s var(--ease-out)}.sub-card:hover{background:var(--primary-surface);border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px var(--primary-glow)}.sub-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-3)}.sub-card-header h4{font-size:1.05rem;font-weight:600;color:var(--text-primary);margin:0 0 2px}.sub-portion{font-size:.85rem;color:var(--text-secondary)}.match-badge{font-size:.75rem;font-weight:700;padding:4px 8px;border-radius:var(--radius-full);text-transform:uppercase}.score-high{background:#10b9811f;color:#10b981}.score-mid{background:#f59e0b1f;color:#f59e0b}.score-low{background:#ef44441f;color:#ef4444}.macro-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2);background:var(--bg-surface);border:1px solid var(--border-subtle);padding:var(--space-3);border-radius:var(--radius-md);text-align:center}.macro-item{display:flex;flex-direction:column}.macro-lbl{font-size:.7rem;color:var(--text-secondary);font-weight:600;text-transform:uppercase;margin-bottom:2px}.macro-val{font-size:.85rem;font-weight:600}.macro-val.protein{color:var(--primary)}.macro-val.carbs{color:#f59e0b}.macro-val.fat{color:#ec4899}.macro-val.cals{color:var(--text-primary)}.macro-swap-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-subtle);background:#0a0a0f4d}.btn-primary-glow{background:var(--primary);color:var(--text-inverse);border:none;padding:var(--space-2) var(--space-4);font-size:.9rem;font-weight:600;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);box-shadow:0 0 12px var(--primary-glow)}.btn-primary-glow:hover{background:var(--primary-hover);box-shadow:0 0 20px var(--primary-glow)}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.composite-menu-title{font-size:1.05rem;color:var(--text-primary);margin-bottom:var(--space-4);font-weight:600}.component-list{display:flex;flex-direction:column;gap:var(--space-3)}.component-row{display:flex;justify-content:space-between;align-items:center;background:#ffffff05;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);transition:var(--transition)}.component-row:hover{background:#ffffff0a;border-color:var(--border-default)}.component-info{display:flex;flex-direction:column;gap:2px}.comp-name{color:var(--text-primary);font-size:.95rem;text-transform:capitalize}.comp-portion{color:var(--text-secondary);font-size:.85rem}.btn-swap-component{background:#818cf81a;color:var(--primary);border:1px solid rgba(129,140,248,.2);padding:6px 16px;border-radius:var(--radius-md);font-size:.85rem;font-weight:600;cursor:pointer;transition:var(--transition)}.btn-swap-component:hover{background:var(--primary);color:var(--text-inverse);box-shadow:0 0 10px var(--primary-glow)}.component-active-view{margin-bottom:var(--space-4)}.btn-back-link{background:none;border:none;color:var(--primary);font-size:.9rem;font-weight:500;cursor:pointer;padding:0;margin-bottom:var(--space-3);display:inline-flex;align-items:center;transition:var(--transition)}.btn-back-link:hover{color:var(--primary-hover);text-decoration:underline}.component-target-header{font-size:1rem;color:var(--text-secondary)}.component-target-header strong{color:var(--primary)}.hold-button{position:relative;overflow:hidden;padding:var(--space-2) var(--space-6);border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-primary);font-weight:700;font-size:.8125rem;cursor:pointer;transition:transform .1s ease,border-color .2s ease;min-width:180px;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.hold-button.holding{border-color:var(--primary);box-shadow:var(--shadow-glow)}.hold-progress-fill{position:absolute;top:0;left:0;height:100%;width:var(--progress, 0%);background:linear-gradient(90deg,var(--primary-surface) 0%,var(--primary-glow) 100%);border-right:2px solid var(--primary);transition:width .05s linear;z-index:1}.hold-content{position:relative;z-index:2;display:flex;align-items:center;gap:var(--space-2);transition:color .2s ease}.hold-button.holding .hold-content{color:var(--primary)}.hold-icon{font-size:1rem}.hold-glow{position:absolute;top:50%;left:var(--progress);transform:translate(-50%,-50%);width:40px;height:40px;background:var(--primary);filter:blur(15px);opacity:.3;pointer-events:none;z-index:1;animation:holdPulse 1s ease-in-out infinite}@keyframes holdPulse{0%{transform:translate(-50%,-50%) scale(.8);opacity:.2}50%{transform:translate(-50%,-50%) scale(1.2);opacity:.4}to{transform:translate(-50%,-50%) scale(.8);opacity:.2}}.hold-button.warning{color:var(--warning);border-color:var(--border-default)}.hold-button.warning:hover:not(.holding){background:var(--warning-surface);border-color:var(--warning)}.history-container{max-width:900px;margin:var(--space-8) auto;padding:0 var(--space-4);animation:fadeIn var(--duration-slow) var(--ease-out)}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-8);padding-bottom:var(--space-5);border-bottom:1px solid var(--border-subtle)}.history-header h2{font-size:1.5rem;font-weight:800;letter-spacing:-.02em;color:var(--text-primary)}.history-list{display:flex;flex-direction:column;gap:var(--space-3)}.history-card{background:var(--bg-elevated);padding:var(--space-4) var(--space-6);border-radius:var(--radius-lg);border:1px solid var(--border-default);display:flex;justify-content:space-between;align-items:center;transition:var(--transition);cursor:pointer}.history-card:hover{border-color:var(--primary);background:var(--bg-surface)}.history-info{display:flex;flex-direction:column;gap:2px}.history-strategy{font-weight:600;font-size:.9375rem;color:var(--text-primary)}.history-date{color:var(--primary);font-weight:600;font-family:Inter,monospace;font-size:.8125rem;background:var(--primary-surface);padding:2px var(--space-2);border-radius:var(--radius-sm);letter-spacing:.02em}.view-link{color:var(--text-tertiary);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;transition:var(--transition)}.history-card:hover .view-link{color:var(--primary)}.no-history{text-align:center;padding:var(--space-12);background:var(--bg-surface);border-radius:var(--radius-lg);border:1px dashed var(--border-default);color:var(--text-secondary)}.btn-back{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;gap:6px;background:#ffffff0d;color:var(--text-secondary);border:1px solid var(--border-subtle);padding:6px 12px;border-radius:8px;font-weight:600;font-size:.75rem;cursor:pointer;width:-moz-max-content!important;width:max-content!important;max-width:-moz-max-content!important;max-width:max-content!important;margin-left:auto;transition:all .2s ease-in-out}.history-header .btn-back{margin-bottom:0}.btn-back:hover{background:var(--primary-surface);color:var(--primary);border-color:var(--primary);transform:translateY(-1px)}.delete-btn{background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;padding:6px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.delete-btn:hover{background:#ef44441a;color:#ef4444;transform:scale(1.1)}.pagination-bar{display:flex;justify-content:center;align-items:center;gap:20px;padding:20px 0;border-top:1px solid var(--border-subtle)}.btn-pagination{background:var(--bg-elevated);border:1px solid var(--border-default);color:var(--text-secondary);padding:8px 16px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.btn-pagination:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.btn-pagination:disabled{opacity:.4;cursor:not-allowed}.pagination-info{font-size:.875rem;color:var(--text-secondary);text-align:center}.search-container{position:relative;margin-bottom:var(--space-6)}.modern-search-input{width:100%;padding:14px 20px;border-radius:var(--radius-lg);border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-primary);font-size:1rem;transition:var(--transition);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.modern-search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.suggestions-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:8px;background:var(--glass-bg, var(--bg-elevated));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-subtle);border-radius:var(--radius-md);list-style:none;padding:8px 0;z-index:10;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;max-height:250px;overflow-y:auto;animation:fadeIn .2s ease-out}.suggestions-dropdown li{padding:10px 20px;cursor:pointer;color:var(--text-secondary);font-size:.9375rem;transition:var(--transition);display:flex;align-items:center;gap:10px}.suggestions-dropdown li:hover{background:var(--bg-surface);color:var(--primary)}.sug-icon{font-size:.8rem;opacity:.7}.suggestions-header{padding:6px 20px 4px;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);pointer-events:none;cursor:default}.suggestions-header:hover{background:transparent!important;color:var(--text-tertiary)!important}.suggestions-divider{height:1px;background:var(--border-subtle);margin:4px 0;padding:0!important;pointer-events:none}.settings-container{max-width:900px;margin:0 auto;padding:2rem 1rem}.settings-tabs{display:flex;gap:10px;margin-bottom:2rem;padding:4px;background:var(--bg-input);border-radius:var(--radius-lg);width:-moz-fit-content;width:fit-content;border:1px solid var(--glass-border)}.tab-btn{padding:10px 20px;border:none;background:transparent;color:var(--text-muted);font-weight:700;font-size:.9rem;cursor:pointer;border-radius:var(--radius-md);transition:var(--transition);display:flex;align-items:center;gap:8px}.tab-btn:hover{color:var(--text-main);background:#ffffff0d}.tab-btn.active{background:var(--primary);color:#fff;box-shadow:0 4px 15px var(--primary-glow)}.settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2.5rem;flex-wrap:wrap;gap:1rem}.settings-header h2{font-size:2.2rem;font-weight:800;letter-spacing:-.03em;background:linear-gradient(135deg,var(--text-main) 30%,var(--primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.settings-profile-card{display:flex;align-items:center;gap:2rem;padding:2.5rem;margin-bottom:2.5rem;position:relative;overflow:hidden}.settings-profile-card:before{content:"";position:absolute;top:-50%;right:-20%;width:300px;height:300px;border-radius:50%;background:var(--primary-glow);filter:blur(80px);opacity:.4;pointer-events:none}.profile-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--primary),#8b5cf6);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 8px 25px var(--primary-glow)}.avatar-letter{font-size:2.2rem;font-weight:800;color:#fff;text-transform:uppercase}.profile-info{display:flex;flex-direction:column;gap:4px}.profile-info h3{font-size:1.5rem;font-weight:800;color:var(--text-main)}.profile-email{font-size:.9rem;color:var(--text-muted)}.profile-tier-badge{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;padding:5px 14px;border-radius:50px;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-top:4px}.profile-stat{font-size:.82rem;color:var(--text-muted);margin-top:4px;font-weight:500}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}@media(max-width:768px){.settings-grid{grid-template-columns:1fr}.settings-profile-card{flex-direction:column;text-align:center}.profile-info{align-items:center}}.settings-card{padding:2rem}.settings-card-header{display:flex;align-items:center;gap:12px;margin-bottom:1.8rem;padding-bottom:1rem;border-bottom:1px solid var(--glass-border)}.settings-icon{font-size:1.5rem}.settings-card-header h4{font-size:1.15rem;font-weight:700;color:var(--text-main)}.settings-form-group{margin-bottom:1.5rem}.settings-form-group label{display:block;font-size:.82rem;font-weight:600;color:var(--text-muted);margin-bottom:6px;margin-left:4px;text-transform:uppercase;letter-spacing:.04em}.settings-form-group input{width:100%;padding:13px 16px;background:var(--bg-input);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-main);font-size:.95rem;transition:var(--transition)}.settings-form-group input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);background:var(--bg-card)}.input-disabled{opacity:.5;cursor:not-allowed}.input-hint{display:block;font-size:.75rem;color:var(--text-muted);margin-top:4px;margin-left:4px}.input-error{color:#ef4444}.input-success{color:#10b981}.password-input-wrapper{position:relative}.password-input-wrapper input{padding-right:50px}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:transparent;border:none;cursor:pointer;font-size:1.1rem;padding:4px;opacity:.6;transition:opacity .2s ease}.password-toggle:hover{opacity:1}.btn-settings-save{width:100%;padding:14px 24px;background:var(--primary);color:var(--text-inv);border:none;border-radius:var(--radius-md);font-weight:700;font-size:.95rem;cursor:pointer;transition:var(--transition);box-shadow:0 8px 20px -5px var(--primary-glow);display:flex;align-items:center;justify-content:center;gap:8px;margin-top:.5rem}.btn-settings-save:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 12px 30px -5px var(--primary-glow)}.btn-settings-save:active{transform:translateY(0)}.btn-settings-save:disabled{opacity:.6;cursor:not-allowed}.settings-msg{padding:12px 16px;border-radius:var(--radius-md);font-size:.88rem;font-weight:600;margin-bottom:1rem;animation:fadeIn .3s ease-out}.settings-msg.success{background:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.3)}.settings-msg.error{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.settings-footer{padding:1.5rem 2rem;text-align:center}.settings-footer p{font-size:.85rem;color:var(--text-muted);font-weight:500}.sessions-list{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.session-item{display:flex;align-items:center;padding:1.25rem;background:var(--bg-input);border:1px solid var(--glass-border);border-radius:var(--radius-md);transition:var(--transition);position:relative}.session-item.current{border-color:var(--primary);background:#3b82f60d}.session-dev-icon{font-size:1.5rem;margin-right:1.25rem;filter:grayscale(.5)}.session-details{flex-grow:1}.session-title{font-weight:700;color:var(--text-main);font-size:1rem;display:flex;align-items:center;gap:8px}.current-badge{background:var(--primary);color:#fff;font-size:.65rem;padding:2px 8px;border-radius:4px;text-transform:uppercase}.session-meta{font-size:.8rem;color:var(--text-muted);margin-top:4px}.btn-revoke-session{background:transparent;color:#ef4444;border:1px solid rgba(239,68,68,.3);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition);font-weight:800}.btn-revoke-session:hover{background:#ef4444;color:#fff;border-color:#ef4444}.btn-logout-others{margin-left:auto;background:transparent;border:1px solid var(--primary);color:var(--primary);padding:6px 12px;border-radius:var(--radius-md);font-size:.75rem;font-weight:700;cursor:pointer;transition:var(--transition)}.btn-logout-others:hover:not(:disabled){background:var(--primary);color:#fff}.btn-logout-others:disabled{opacity:.4;cursor:not-allowed}.security-footer-text{margin-top:1.5rem;font-size:.75rem;color:var(--text-tertiary);font-style:italic;text-align:center}.danger-zone{border:1px solid rgba(239,68,68,.4);background:#ef444408;margin-top:2rem;padding:1.5rem;border-radius:var(--radius-lg);transition:var(--transition)}.danger-zone:hover{background:#ef44440d;border-color:#ef444499}.danger-zone-header{color:#ef4444;display:flex;align-items:center;gap:10px;margin-bottom:1rem}.danger-zone-header h4{margin:0;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.danger-zone p{font-size:.85rem;color:var(--text-secondary);line-height:1.5;margin-bottom:1.5rem}.btn-danger{background:#ef4444;color:#fff;border:none;padding:12px 24px;border-radius:var(--radius-md);font-weight:700;cursor:pointer;transition:var(--transition);box-shadow:0 4px 15px #ef44444d}.btn-danger:hover:not(:disabled){background:#dc2626;box-shadow:0 6px 20px #ef444466;transform:translateY(-2px)}.btn-danger:active{transform:translateY(0)}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.profile-pic-wrapper{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px}.profile-pic-main{position:relative;width:100px;height:100px;border-radius:50%;overflow:hidden;cursor:pointer;background:var(--bg-input);border:3px solid var(--glass-border);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 10px 25px -5px #0000004d}.profile-pic-main:hover{transform:scale(1.05);border-color:var(--primary);box-shadow:0 15px 30px -5px var(--primary-glow)}.hidden-input{display:none}.profile-pic-overlay{position:absolute;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;z-index:2}.profile-pic-main:hover .profile-pic-overlay{opacity:1}.uploading-state .profile-pic-overlay{opacity:1;background:#0009}.upload-icon{font-size:1.8rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}.profile-img-element{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .5s ease}.profile-pic-main:hover .profile-img-element{transform:scale(1.1)}.profile-placeholder-element{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;background:linear-gradient(135deg,var(--primary),#8b5cf6);color:#fff}.upload-status-pill{position:absolute;bottom:-10px;background:var(--primary);color:#fff;font-size:.7rem;padding:4px 10px;border-radius:20px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 4px 10px var(--primary-glow);animation:pulse 1.5s infinite;z-index:5}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}to{transform:scale(1);opacity:1}}.profile-pic-actions{display:flex;gap:8px;margin-top:5px}.btn-delete-pic,.btn-view-pic{padding:6px 14px;border-radius:20px;font-size:.75rem;font-weight:700;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.05em;border:1px solid transparent}.btn-delete-pic{background:#ef44441a;color:#ef4444;border-color:#ef444433}.btn-delete-pic:hover{background:#ef4444;color:#fff;box-shadow:0 4px 12px #ef44444d}.btn-view-pic{background:var(--primary-surface);color:var(--primary);border-color:#22c55e33}.btn-view-pic:hover{background:var(--primary);color:#fff;box-shadow:0 4px 12px var(--primary-glow)}.btn-delete-pic.confirming{background:#dc2626;color:#fff;border-color:#dc2626;animation:shake .3s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}.billing-container{max-width:1000px;margin:0 auto;padding:var(--space-8)}.billing-header{margin-bottom:var(--space-8)}.billing-header h2{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--space-2)}.billing-header p{color:var(--text-secondary);font-size:1rem}.billing-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);overflow:hidden}.billing-table-wrapper{width:100%;overflow-x:auto}.billing-table{width:100%;border-collapse:collapse;text-align:left}.billing-table th{padding:var(--space-4) var(--space-6);background:#ffffff05;color:var(--text-secondary);font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-subtle)}.billing-table td{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-subtle);color:var(--text-primary);font-size:.95rem}.billing-table tr:last-child td{border-bottom:none}.billing-table tbody tr:hover{background:#ffffff03}.billing-badge{padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase;display:inline-block}.badge-upgrade{background:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.2)}.badge-downgrade{background:#3b82f61a;color:#3b82f6;border:1px solid rgba(59,130,246,.2)}.badge-completed{color:var(--text-secondary)}.plan-name{font-weight:700;text-transform:capitalize}.plan-elite{color:var(--elite-gold, #fbbf24)}.plan-pro{color:var(--primary, #3b82f6)}.plan-free{color:var(--text-secondary, #9ca3af)}.billing-empty{padding:var(--space-12) var(--space-6);text-align:center;color:var(--text-secondary)}.billing-empty-icon{font-size:3rem;margin-bottom:var(--space-4);opacity:.5}.billing-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) 0;color:var(--text-secondary)}.spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-radius:50%;border-top-color:var(--primary);animation:spin 1s ease-in-out infinite;margin-bottom:var(--space-4)}@keyframes spin{to{transform:rotate(360deg)}}.wizard-container{--onboarding-bg: var(--bg-base);--onboarding-card: var(--bg-elevated);--onboarding-primary: var(--primary);--onboarding-secondary: var(--accent);--onboarding-accent: var(--warning);--onboarding-text: var(--text-primary);--onboarding-text-muted: var(--text-secondary);--glass-border: var(--border-default);--card-shadow: 0 25px 50px -12px rgba(0, 0, 0, .5);min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--onboarding-bg);padding:20px;font-family:Inter,sans-serif;overflow:hidden;position:relative}.wizard-card{width:100%;max-width:600px;background:var(--onboarding-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:24px;padding:40px;box-shadow:var(--card-shadow);position:relative;display:flex;flex-direction:column;min-height:500px}.wizard-header{text-align:center;margin-bottom:30px}.wizard-title{font-size:2rem;font-weight:800;color:var(--onboarding-text);margin-bottom:8px;letter-spacing:-.025em}.wizard-subtitle{color:var(--onboarding-text-muted);font-size:.95rem}.wizard-progress-bar{width:100%;height:6px;background:#ffffff0d;border-radius:10px;margin-bottom:40px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--onboarding-primary),var(--onboarding-secondary));transition:width .6s cubic-bezier(.34,1.56,.64,1)}.step-wrapper{flex-grow:1;display:flex;flex-direction:column}.step-label{display:block;font-size:.9rem;font-weight:600;color:var(--onboarding-text-muted);margin-bottom:12px;text-transform:uppercase;letter-spacing:.05em}.slider-container{margin-bottom:30px}.slider-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.slider-value{font-size:1.5rem;font-weight:700;color:var(--onboarding-primary)}.premium-slider{width:100%;height:8px;border-radius:5px;background:var(--bg-muted);outline:none;-webkit-appearance:none;cursor:pointer}.premium-slider::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:var(--onboarding-primary);border:4px solid var(--bg-elevated);box-shadow:0 2px 6px #0000004d;cursor:pointer;-webkit-transition:transform .2s;transition:transform .2s}.premium-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.premium-input{width:100%;background:var(--bg-input);border:1px solid var(--border-default);border-radius:12px;padding:12px 16px;color:var(--text-primary);font-size:1rem;outline:none;transition:var(--transition)}.premium-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);background:var(--bg-elevated)}.goals-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:10px}.goal-card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:16px;padding:20px;text-align:left;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:12px}.goal-card:hover{background:var(--bg-muted);transform:translateY(-4px);border-color:var(--primary)}.goal-card.selected{background:var(--primary-glow);border-color:var(--primary)}.gender-card{flex:1;padding:12px;text-align:center;cursor:pointer;display:flex;justify-content:center;align-items:center;flex-direction:row;gap:8px}.preference-card{padding:15px;text-align:center;justify-content:center;align-items:center}.preference-card .goal-title{font-size:.9rem;margin:0}.goal-icon{font-size:1.8rem}.goal-title{font-weight:700;color:var(--onboarding-text);font-size:1.1rem}.goal-desc{font-size:.8rem;color:var(--onboarding-text-muted);line-height:1.4}.bmi-indicator{margin-top:20px;padding:16px;background:#ffffff08;border-radius:12px;display:flex;justify-content:space-between;align-items:center}.bmi-value-badge{padding:4px 12px;border-radius:20px;font-weight:700;font-size:.9rem}.wizard-controls{margin-top:40px;display:flex;gap:16px}.btn-wizard{padding:16px 32px;border-radius:14px;font-weight:700;font-size:1rem;cursor:pointer;transition:all .2s;border:none;display:flex;align-items:center;justify-content:center;gap:8px}.btn-wizard:disabled{opacity:.5;cursor:not-allowed}.btn-next{flex-grow:2;background:linear-gradient(135deg,var(--onboarding-primary),var(--onboarding-secondary));color:#fff;box-shadow:0 4px 12px #00000026}.btn-next:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #0003}.btn-back{flex-grow:1;background:#ffffff0d;color:var(--onboarding-text);border:1px solid var(--glass-border)}.btn-back:hover:not(:disabled){background:#ffffff1a}.tier-cue{margin-top:auto;padding:12px;background:#f59e0b0d;border:1px dashed rgba(245,158,11,.3);border-radius:10px;font-size:.8rem;color:var(--onboarding-accent);display:flex;align-items:center;gap:8px}.summary-item{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.05)}.summary-item:last-child{border:none}.summary-label{color:var(--onboarding-text-muted)}.summary-value{color:var(--onboarding-text);font-weight:600}@media(max-width:480px){.wizard-card{padding:24px;border-radius:0;min-height:100vh}.goals-grid{grid-template-columns:1fr}}.admin-layout{max-width:1200px;margin:0 auto;padding:var(--space-6)}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-8)}.admin-header h1{font-size:1.5rem;font-weight:800;color:var(--text-primary);display:flex;align-items:center;gap:var(--space-3)}.admin-header h1 span{font-size:1.5rem}.admin-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-6);padding:4px;background:var(--bg-input);border-radius:var(--radius-md);width:-moz-fit-content;width:fit-content;border:1px solid var(--border-default)}.admin-tabs .tab-btn{background:transparent;border:none;padding:8px 16px;border-radius:calc(var(--radius-md) - 2px);color:var(--text-tertiary);font-size:.875rem;font-weight:600;cursor:pointer;transition:var(--transition);display:flex;align-items:center;gap:8px}.admin-tabs .tab-btn:hover{color:var(--text-primary);background:#ffffff0d}.admin-tabs .tab-btn.active{background:var(--primary);color:#fff;box-shadow:0 4px 12px var(--primary-glow)}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4);margin-bottom:var(--space-8)}.admin-stat-card{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-5);text-align:center;transition:var(--transition)}.admin-stat-card:hover{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.admin-stat-value{font-size:2rem;font-weight:800;color:var(--text-primary);line-height:1;margin-bottom:var(--space-2)}.admin-stat-label{font-size:.75rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em}.admin-search-bar{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6)}.admin-search-bar input{flex:1;background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--text-primary);font-size:.875rem}.admin-search-bar input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);outline:none}.admin-users-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-lg);overflow:hidden}.admin-users-table thead{background:var(--bg-surface)}.admin-users-table th{text-align:left;padding:var(--space-3) var(--space-4);font-size:.6875rem;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border-default)}.admin-users-table td{padding:var(--space-3) var(--space-4);font-size:.875rem;color:var(--text-primary);border-bottom:1px solid var(--border-subtle);vertical-align:middle;height:52px}.admin-users-table tbody tr{cursor:pointer;transition:var(--transition)}.admin-users-table tbody tr:hover{background:var(--bg-surface)}.admin-users-table tbody tr:last-child td{border-bottom:none}.admin-tier-pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.admin-tier-pill.free{background:var(--bg-surface);color:var(--text-tertiary);border:1px solid var(--border-default)}.admin-tier-pill.pro{background:var(--accent-glow);color:var(--accent)}.admin-tier-pill.elite{background:var(--warning-surface);color:var(--warning)}.admin-drawer-overlay{position:fixed;inset:0;background:#00000080;z-index:999;animation:fadeIn .2s ease}.admin-drawer{position:fixed;top:0;right:0;width:min(480px,90vw);height:100vh;background:var(--bg-elevated);border-left:1px solid var(--border-default);z-index:1000;overflow-y:auto;animation:slideInRight .25s ease;display:flex;flex-direction:column}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.drawer-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-default);position:sticky;top:0;background:var(--bg-elevated);z-index:1}.drawer-header h3{font-size:1.125rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:var(--space-2)}.drawer-close-btn{background:var(--bg-surface);border:1px solid var(--border-default);color:var(--text-secondary);width:32px;height:32px;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:var(--transition)}.drawer-close-btn:hover{background:var(--danger-surface);color:var(--danger);border-color:var(--danger)}.drawer-body{padding:var(--space-6);flex:1}.drawer-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-bottom:var(--space-6)}.drawer-stat{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.drawer-stat .stat-label{font-size:.6875rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.drawer-stat .stat-value{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-top:2px}.drawer-badges{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.drawer-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;background:var(--accent-glow);color:var(--accent);border-radius:999px;font-size:.75rem;font-weight:600}.drawer-plans-list{margin-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.drawer-plan-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:.8125rem}.drawer-plan-item .plan-goal{font-weight:600;color:var(--text-primary)}.drawer-plan-item .plan-date{color:var(--text-tertiary);font-size:.75rem}.btn-impersonate{width:100%;margin-top:var(--space-6);padding:var(--space-3);background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:700;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.btn-impersonate:hover{transform:translateY(-1px);box-shadow:0 4px 16px #8b5cf659}.btn-delete-user{width:100%;margin-top:var(--space-3);padding:var(--space-3);background:transparent;color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius-md);font-size:.875rem;font-weight:700;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.btn-delete-user:hover{background:var(--danger);color:#fff;transform:translateY(-1px);box-shadow:0 4px 16px #ef444459}.impersonation-banner{position:fixed;top:0;left:0;right:0;z-index:9999;background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff;padding:8px var(--space-6);display:flex;justify-content:center;align-items:center;gap:var(--space-4);font-size:.8125rem;font-weight:600;box-shadow:0 2px 12px #6d28d966}.impersonation-banner .exit-btn{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:4px 14px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:700;cursor:pointer;transition:var(--transition)}.impersonation-banner .exit-btn:hover{background:#ffffff59}.drawer-section-title{font-size:.75rem;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-3);margin-top:var(--space-6);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-subtle)}.drawer-user-info{margin-bottom:var(--space-6)}.drawer-user-name{font-size:1.25rem;font-weight:800;color:var(--text-primary)}.drawer-user-email{font-size:.8125rem;color:var(--text-tertiary);margin-top:2px}.drawer-user-joined{font-size:.75rem;color:var(--text-tertiary);margin-top:var(--space-2)}.btn-delete-log{background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;font-size:.9rem;padding:4px 8px;border-radius:4px;line-height:1;transition:var(--transition)}.btn-delete-log:hover{color:var(--danger);background:var(--danger-surface)}.no-hover{cursor:default!important}.no-hover:hover{background:transparent!important}.admin-empty{text-align:center;padding:var(--space-16);color:var(--text-tertiary);font-size:.875rem}@media(max-width:768px){.admin-stats-grid{grid-template-columns:repeat(2,1fr)}.admin-users-table{font-size:.8125rem}.admin-users-table th:nth-child(4),.admin-users-table td:nth-child(4),.admin-users-table th:nth-child(5),.admin-users-table td:nth-child(5){display:none}}.admin-live-ticker{position:fixed;bottom:var(--space-6);right:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3);z-index:9999;pointer-events:none}.live-toast{background:var(--bg-elevated);border:1px solid var(--primary);box-shadow:0 8px 32px var(--primary-glow);border-radius:var(--radius-md);padding:var(--space-4);display:flex;align-items:flex-start;gap:var(--space-3);width:320px;pointer-events:auto;position:relative;overflow:hidden}.live-toast:before{content:"";position:absolute;top:0;left:0;height:3px;background:var(--primary);width:100%;animation:shrinkWidth 6s linear forwards}.live-toast .toast-icon{font-size:1.5rem;background:var(--primary-surface);border-radius:var(--radius-sm);padding:var(--space-2);display:flex;align-items:center;justify-content:center}.live-toast .toast-content{flex:1}.live-toast .toast-content strong{display:block;font-size:.75rem;color:var(--primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}.live-toast .toast-content p{color:var(--text-primary);font-size:.875rem;font-weight:500;line-height:1.3}.live-toast .toast-time{font-size:.6875rem;color:var(--text-tertiary);white-space:nowrap}.slide-up{animation:slideUpFade .4s cubic-bezier(.16,1,.3,1) forwards}@keyframes slideUpFade{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes shrinkWidth{0%{width:100%}to{width:0%}}.admin-pagination{display:flex;justify-content:center;align-items:center;gap:var(--space-4);margin-top:var(--space-8);padding-bottom:var(--space-8)}.admin-pagination .page-btn{background:var(--bg-elevated);border:1px solid var(--border-default);color:var(--text-primary);padding:8px 16px;border-radius:var(--radius-md);font-size:.8125rem;font-weight:600;cursor:pointer;transition:var(--transition)}.admin-pagination .page-btn:hover:not(:disabled){border-color:var(--primary);background:var(--primary-surface);color:var(--primary)}.admin-pagination .page-btn:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(1)}.admin-pagination .page-info{font-size:.8125rem;color:var(--text-tertiary);font-weight:500;background:var(--bg-input);padding:6px 12px;border-radius:999px;border:1px solid var(--border-subtle)}.admin-email-cell{position:relative;padding-right:48px!important;min-width:220px;width:220px;vertical-align:middle}.admin-email-cell span{display:block;width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.85rem}.masked-text{filter:blur(4px);opacity:.7;transition:filter .2s ease,opacity .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn-reveal{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-tertiary);width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.85rem;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:2}.btn-reveal:active{transform:translateY(-50%) scale(.9);background:var(--primary);color:#fff;border-color:var(--primary)}.drawer-user-email{display:flex;align-items:center;gap:12px;margin-top:4px}.btn-reveal-inline{background:var(--bg-surface);border:1px solid var(--border-default);color:var(--text-secondary);font-size:.65rem;padding:4px 10px;border-radius:6px;font-weight:700;text-transform:uppercase;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn-reveal-inline:active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 0 15px var(--primary-glow)}.online-pulse{width:10px;height:10px;background-color:#10b981;border-radius:50%;display:inline-block;position:relative}.online-pulse:after{content:"";width:100%;height:100%;background-color:#10b981;border-radius:50%;position:absolute;top:0;left:0;animation:pulse-ring 1.5s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse-ring{0%{transform:scale(1);opacity:.8}to{transform:scale(3);opacity:0}}.gamification-wrapper{position:relative;display:flex;align-items:center}.gamification-btn{background:var(--bg-surface);border:1px solid var(--border-default);color:var(--text-primary);border-radius:var(--radius-full);padding:6px 12px;display:flex;align-items:center;gap:6px;cursor:pointer;font-weight:600;font-size:.9rem;transition:var(--transition)}.gamification-btn:hover{border-color:var(--primary);box-shadow:var(--shadow-sm);background:var(--bg-elevated)}.gamification-icon{font-size:1.1rem}.gamification-points{color:var(--primary)}.gamification-panel{position:absolute;top:calc(100% + 12px);right:0;width:320px;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-lg);z-index:1000;animation:fadeIn var(--duration-fast) var(--ease-out)}.gamification-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle)}.gamification-title{font-weight:700;color:var(--text-primary);font-size:1.1rem}.gamification-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);margin-bottom:var(--space-5)}.stat-box{background:var(--bg-surface);padding:var(--space-3);border-radius:var(--radius-lg);text-align:center;border:1px solid var(--border-subtle)}.stat-value{font-size:1.5rem;font-weight:800;color:var(--primary);margin-bottom:4px}.stat-label{font-size:.8rem;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.stat-icon{margin-right:4px}.badges-section-title{font-size:.95rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-3)}.badges-list{display:flex;flex-direction:column;gap:var(--space-2);max-height:150px;overflow-y:auto}.badge-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--bg-surface);border-radius:var(--radius-md);color:var(--text-primary);font-size:.9rem}.badge-icon{font-size:1.2rem;color:var(--warning)}.no-badges{color:var(--text-tertiary);font-size:.85rem;text-align:center;padding:var(--space-3) 0;font-style:italic}.gamification-level-section{margin-bottom:var(--space-5);padding:var(--space-3) var(--space-4);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.level-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.level-header span{font-weight:700;color:var(--text-primary);font-size:.95rem}.level-header .level-xp-text{font-size:.75rem;color:var(--text-secondary);font-weight:500}.level-progress-bar-bg{width:100%;height:8px;background:var(--bg-input);border-radius:var(--radius-full);overflow:hidden}.level-progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-glow));border-radius:var(--radius-full);transition:width .4s ease-out}.navbar-life-status{display:flex;align-items:center;gap:var(--space-4);background:var(--bg-surface);padding:6px 14px;border-radius:var(--radius-full);border:1px solid var(--border-subtle);margin-right:var(--space-4);transition:var(--transition)}.status-item{display:flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:700;color:var(--text-primary);position:relative;cursor:default}.temp-display{padding-right:var(--space-3);border-right:1px solid var(--border-subtle)}.sunlight-indicator{cursor:help}.status-tooltip{position:absolute;top:calc(100% + 12px);right:-20px;width:220px;background:var(--bg-elevated);border:1px solid var(--border-default);padding:var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:1000;opacity:0;visibility:hidden;transform:translateY(10px);transition:all .2s var(--ease-out);text-align:left}.status-item:hover .status-tooltip{opacity:1;visibility:visible;transform:translateY(0)}.tooltip-header{font-size:.875rem;font-weight:800;margin-bottom:var(--space-2);color:var(--primary)}.tooltip-body p{font-size:.75rem;color:var(--text-secondary);line-height:1.4;margin-bottom:4px}.nudge-text{font-weight:700;margin-top:var(--space-2)}@media(max-width:768px){.navbar-life-status{display:none}}.saas-navbar{position:sticky;top:0;z-index:1000;width:100%;background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle)}.nav-container{max-width:1200px;margin:0 auto;padding:var(--space-3) var(--space-6);display:flex;justify-content:space-between;align-items:center}.nav-left{display:flex;align-items:center}.nav-brand{font-size:1.25rem;font-weight:800;color:var(--text-primary);text-decoration:none;display:flex;align-items:center;gap:var(--space-2);letter-spacing:-.02em;transition:opacity var(--duration-fast) ease}.nav-brand:hover{opacity:.8}.brand-icon{font-size:1.4rem}.nav-center{display:flex;align-items:center;gap:var(--space-1)}.nav-link{position:relative;color:var(--text-secondary);text-decoration:none;font-weight:500;font-size:.875rem;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);transition:color .3s ease;white-space:nowrap;display:flex;align-items:center;gap:var(--space-1);background:none;cursor:pointer}.nav-link:hover{color:var(--text-primary)}.nav-link.active{color:var(--text-primary);font-weight:600}.active-indicator{position:absolute;bottom:-4px;left:0;right:0;height:2px;background:var(--primary);box-shadow:0 0 12px var(--primary),0 0 4px var(--primary);border-radius:2px;z-index:1}.nav-upgrade-btn{background:var(--primary-surface)!important;border:1px solid rgba(34,197,94,.2)!important;color:var(--primary)!important;font-weight:600!important}.nav-upgrade-btn:hover{background:var(--primary)!important;color:var(--text-inverse)!important;border-color:var(--primary)!important}.nav-upgrade-btn.active{background:var(--primary)!important;color:var(--text-inverse)!important}.nav-right{display:flex;align-items:center;gap:var(--space-3)}.nav-user-avatar{width:34px;height:34px;border-radius:50%;overflow:hidden;border:2px solid var(--border-subtle);transition:all .2s ease;flex-shrink:0}.nav-user-avatar:hover{border-color:var(--primary);transform:scale(1.05)}.nav-avatar-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.nav-avatar-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--primary),#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.85rem}.nav-logout-btn{background:var(--glass-bg-muted);color:var(--text-secondary);border:1px solid var(--border-subtle);width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.nav-logout-btn:hover{background:var(--bg-surface);color:var(--text-primary);border-color:var(--text-primary);transform:translateY(-2px)}.nav-logout-btn.confirming{background:var(--danger-surface);color:var(--danger);border-color:var(--danger);animation:logout-pulse 1.5s infinite}.nav-logout-btn.confirming:hover{background:var(--danger);color:#fff}@keyframes logout-pulse{0%{box-shadow:0 0 #ef444466}70%{box-shadow:0 0 0 10px #ef444400}to{box-shadow:0 0 #ef444400}}@media(max-width:850px){.nav-center{gap:2px}.nav-link{padding:var(--space-2) var(--space-2);font-size:.8rem}}@media(max-width:650px){.nav-center{display:none}}.nav-streak-badge{display:flex;align-items:center;gap:4px;background:#ef444414;border:1px solid rgba(239,68,68,.2);color:#ef4444;padding:4px 10px;border-radius:20px;font-size:.85rem;font-weight:700;cursor:default;box-shadow:0 2px 10px #ef44440d;animation:streak-pulse 2s infinite}@keyframes streak-pulse{0%{transform:scale(1)}50%{transform:scale(1.03);box-shadow:0 2px 15px #ef444426}to{transform:scale(1)}}.chatbot-wrapper{position:fixed;bottom:20px;right:20px;z-index:9999;display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-3)}.chatbot-toggle-btn{width:52px;height:52px;border-radius:50%;background:var(--primary);color:#fff;border:none;font-size:1.5rem;cursor:pointer;display:flex;justify-content:center;align-items:center;transition:var(--transition);box-shadow:var(--shadow-md)}.chatbot-toggle-btn:hover{background:var(--primary-hover);transform:scale(1.05)}.chatbot-window{width:360px;height:480px;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.chatbot-header{background:var(--bg-surface);padding:var(--space-4);border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;align-items:center}.chatbot-title{display:flex;align-items:center;gap:var(--space-3)}.ai-avatar{font-size:1.3rem;background:var(--primary-surface);padding:var(--space-2);border-radius:50%}.chatbot-title h4{font-size:.9375rem;color:var(--text-primary);font-weight:700}.online-status{font-size:.6875rem;color:var(--primary);font-weight:600}.close-chat-btn{background:transparent;border:none;color:var(--text-tertiary);font-size:1.3rem;cursor:pointer;transition:var(--transition)}.close-chat-btn:hover{color:var(--danger)}.chatbot-messages{flex:1;padding:var(--space-4);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-3)}.chat-bubble-wrapper{display:flex;width:100%}.chat-bubble-wrapper.user{justify-content:flex-end}.chat-bubble-wrapper.ai{justify-content:flex-start}.chat-bubble{max-width:78%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:.875rem;line-height:1.5}.chat-bubble.user{background:var(--primary);color:var(--text-inverse);border-bottom-right-radius:var(--space-1)}.chat-bubble.ai{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-subtle);border-bottom-left-radius:var(--space-1)}.chatbot-input-area{display:flex;padding:var(--space-3);background:var(--bg-surface);border-top:1px solid var(--border-subtle);gap:var(--space-2)}.chatbot-input-area input{flex:1;background:var(--bg-elevated);border:1px solid var(--border-default);color:var(--text-primary);padding:var(--space-3) var(--space-4);border-radius:var(--radius-full);font-size:.875rem}.chatbot-input-area input:focus{border-color:var(--primary)}.chatbot-input-area button{background:var(--primary);color:#fff;border:none;width:38px;height:38px;border-radius:50%;cursor:pointer;display:flex;justify-content:center;align-items:center;font-size:1rem;transition:var(--transition)}.chatbot-input-area button:hover{background:var(--primary-hover)}.chatbot-input-area button:disabled{opacity:.4;cursor:not-allowed}.typing-indicator span{display:inline-block;width:5px;height:5px;background:var(--text-tertiary);border-radius:50%;margin:0 2px;animation:bounce 1.4s infinite ease-in-out both}.typing-indicator span:nth-child(1){animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.chat-recipe-card{margin-top:var(--space-3);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);overflow:hidden;font-size:.8125rem}.recipe-card-header{background:var(--primary-surface);padding:var(--space-3) var(--space-4);font-weight:700;color:var(--primary);display:flex;flex-direction:column;gap:4px}.recipe-meta-row{display:flex;gap:var(--space-4);font-size:.75rem;font-weight:500;color:var(--text-secondary)}.recipe-section{padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-subtle)}.recipe-section-title{font-weight:700;color:var(--text-secondary);font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.recipe-section ul,.recipe-section ol{padding-left:var(--space-5);color:var(--text-primary);line-height:1.7}.chat-workout-card{margin-top:var(--space-3);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);overflow:hidden;font-size:.8125rem}.workout-card-header{background:var(--primary-surface);padding:var(--space-3) var(--space-4);font-weight:700;color:var(--primary);border-bottom:1px solid var(--border-subtle)}.workout-card-exercise{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--border-subtle);color:var(--text-primary)}.workout-card-exercise:last-child{border-bottom:none}.ex-detail{color:var(--text-secondary);font-size:.75rem}.plan-updated-badge{margin-top:var(--space-3);font-size:.75rem;font-weight:700;color:var(--primary);background:var(--primary-surface);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--primary-glow)}.chat-bubble p:first-child{margin:0}.chatbot-window.digital-sunset{border-color:var(--primary);box-shadow:0 0 30px var(--primary-glow)}.sunset-restriction-view{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8);text-align:center;background:linear-gradient(to bottom,var(--bg-elevated),var(--bg-surface))}.sunset-icon-large{font-size:4rem;margin-bottom:var(--space-6);filter:drop-shadow(0 0 15px var(--primary-glow))}.sunset-restriction-view h3{font-size:1.5rem;font-weight:800;color:var(--primary);margin-bottom:var(--space-3)}.sunset-restriction-view p{font-size:.9375rem;color:var(--text-secondary);line-height:1.6;margin-bottom:var(--space-8)}.btn-analog-confirm{background:var(--primary);color:#fff;border:none;padding:var(--space-3) var(--space-6);border-radius:var(--radius-full);font-weight:700;cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-sm)}.btn-analog-confirm:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.modal-root{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.modal-backdrop{position:absolute;inset:0;background:#000000b3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.modal-container{position:relative;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-xl);width:100%;max-width:440px;padding:32px;box-shadow:0 25px 50px -12px #00000080;overflow:hidden;transition:background-color var(--duration-normal) var(--ease-in-out)}.modal-container:before{content:"";position:absolute;top:0;left:0;right:0;height:4px}.modal-container.type-danger:before{background:var(--danger)}.modal-container.type-warning:before{background:var(--warning)}.modal-container.type-success:before{background:var(--primary)}.modal-container.type-info:before{background:var(--primary)}.modal-container.type-elite:before{background:var(--warning)}.modal-container.type-elite{border-color:var(--warning)}.modal-icon.elite{color:var(--warning);filter:drop-shadow(0 0 8px var(--warning))}.modal-header h3{margin:0;font-size:1.25rem;font-weight:800;color:var(--text-primary);letter-spacing:-.025em;text-transform:uppercase}.modal-container.type-elite h3{color:var(--warning)}.modal-body p{margin:0;color:var(--text-secondary);font-size:1rem;line-height:1.6}.modal-footer{margin-top:32px;display:flex;gap:12px;justify-content:flex-end}.btn-modal-primary,.btn-modal-secondary{padding:12px 24px;border-radius:var(--radius-md);font-size:.875rem;font-weight:800;cursor:pointer;transition:all .2s var(--ease-in-out);border:none;text-transform:uppercase;letter-spacing:.05em}.btn-modal-secondary{background:#ffffff0d;color:var(--text-tertiary);border:1px solid var(--border-subtle)}.btn-modal-secondary:hover{background:#ffffff1a;color:var(--text-primary)}.btn-modal-primary.info{background:var(--primary);color:var(--text-inverse)}.btn-modal-primary.danger{background:var(--danger);color:var(--text-inverse)}.btn-modal-primary.warning{background:var(--warning);color:var(--text-inverse)}.btn-modal-primary.success{background:var(--primary);color:var(--text-inverse)}.btn-modal-primary.elite{background:var(--warning);color:var(--text-inverse);box-shadow:0 4px 15px #0003}.btn-modal-primary:hover{transform:translateY(-2px);filter:brightness(1.15)}.btn-modal-primary.elite:hover{box-shadow:0 8px 20px #0000004d}.btn-modal-primary:active{transform:translateY(0)}.command-palette-overlay{position:fixed;inset:0;background:#000000b3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:10000;display:flex;justify-content:center;align-items:flex-start;padding-top:15vh}.command-palette-modal{width:100%;max-width:640px;background:var(--glass-bg);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:0 30px 60px -12px #0009,0 0 0 1px #ffffff0d;overflow:hidden;display:flex;flex-direction:column;animation:hud-pop var(--duration-normal) var(--ease-out)}@keyframes hud-pop{0%{opacity:0;transform:scale(.98) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.command-palette-header{display:flex;align-items:center;padding:0 1.5rem;border-bottom:1px solid var(--border-subtle);gap:1rem}.command-palette-icon{color:var(--primary);display:flex;align-items:center;justify-content:center}.command-palette-input{flex:1;background:transparent!important;border:none!important;color:var(--text-primary);font-size:1.2rem;font-weight:500;padding:1.5rem 0;outline:none!important;box-shadow:none!important}.command-palette-input::-moz-placeholder{color:var(--text-tertiary);opacity:.6}.command-palette-input::placeholder{color:var(--text-tertiary);opacity:.6}.command-palette-body{max-height:440px;overflow-y:auto;padding:.75rem}.command-header{padding:.75rem 1rem .5rem;font-size:.65rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary)}.command-item{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;border-radius:var(--radius-lg);cursor:pointer;transition:all .2s var(--ease-out);color:var(--text-secondary);border:1px solid transparent}.command-item.selected{background:var(--primary-surface);color:var(--text-primary);border-color:var(--primary-glow);box-shadow:0 4px 12px #0000001a}.command-item-left{display:flex;align-items:center;gap:1rem}.command-item-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;opacity:.6;transition:all .2s ease}.command-item.selected .command-item-icon{opacity:1;color:var(--primary);transform:scale(1.1)}.command-item-title{font-size:.9375rem;font-weight:600}.command-kbd{background:#ffffff08;border:1px solid var(--border-subtle);border-bottom:2px solid var(--border-default);border-radius:6px;padding:.2rem .5rem;font-size:.65rem;font-weight:700;font-family:inherit;color:var(--text-tertiary);box-shadow:inset 0 1px #ffffff0d}.command-item.selected .command-kbd{color:var(--primary);border-color:var(--primary-glow)}.command-palette-empty{padding:3rem;text-align:center;color:var(--text-tertiary);font-size:.9rem}.network-pulse{display:flex;align-items:center;gap:.6rem;padding:.4rem .8rem;background:#ffffff0d;border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-right:.5rem;white-space:nowrap}.pulse-dot{width:7px;height:7px;border-radius:50%;position:relative}.pulse-dot:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;animation:pulse-glow 2s infinite}.pulse-text{font-size:.75rem;font-weight:800;font-family:var(--font-mono, monospace);color:#fff;letter-spacing:.02em}.network-pulse.elite .pulse-dot,.network-pulse.elite .pulse-dot:after{background:#10b981}.network-pulse.good .pulse-dot,.network-pulse.good .pulse-dot:after{background:#06b6d4}.network-pulse.slow .pulse-dot,.network-pulse.slow .pulse-dot:after{background:#f59e0b}.network-pulse.offline .pulse-dot,.network-pulse.offline .pulse-dot:after{background:#ef4444}@keyframes pulse-glow{0%{transform:scale(1);opacity:.8}70%{transform:scale(2.5);opacity:0}to{transform:scale(1);opacity:0}}.circuit-status{padding:.4rem .8rem;border-radius:var(--radius-md);font-size:.65rem;font-weight:900;letter-spacing:.05em;margin-right:.5rem;animation:status-in .3s var(--ease-out)}.circuit-status.open{background:#f59e0b26;border:1px solid rgba(245,158,11,.4);color:#f59e0b;box-shadow:0 0 15px #f59e0b1a}.circuit-status.half_open{background:#06b6d426;border:1px solid rgba(6,182,212,.4);color:#06b6d4;animation:recovering-pulse 2s infinite}@keyframes status-in{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}@keyframes recovering-pulse{0%,to{opacity:1}50%{opacity:.6}}.command-palette-body::-webkit-scrollbar{width:4px}.command-palette-body::-webkit-scrollbar-track{background:transparent}.command-palette-body::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:10px}
