:root{--color-bg:var(--bg-primary);--color-surface-1:var(--surface-color);--color-surface-2:var(--surface-color-light);--color-surface-3:var(--surface-hover);--color-field:var(--input-bg);--color-field-border:var(--input-border);--color-text:var(--text-primary);--color-text-secondary:var(--text-secondary);--color-text-tertiary:var(--text-tertiary);--color-text-on-accent:var(--text-on-primary);--color-accent:var(--primary);--color-accent-fill:var(--primary-gradient);--color-warning:var(--secondary);--color-danger:var(--danger);--color-success:var(--success);--color-info:var(--info);--color-planned:var(--planned);--font-ui:var(--font-family);--font-numeric:var(--font-mono);--card-bg:linear-gradient(180deg, #ffffff0b, #ffffff02 55%), var(--surface-color);--card-border:1px solid #ffffff16;--card-shadow:0 12px 28px -10px #0009, inset 0 1px 0 #ffffff12;--nav-bg:linear-gradient(180deg, #161a28f2, #0d0f18fa);--nav-blur:blur(var(--glass-blur-strong));--nav-border:1px solid #ffffff17;--nav-shadow:0 -10px 30px #00000073, inset 0 1px 0 #ffffff0d;--dur-fast:var(--duration-fast);--dur-base:var(--duration-normal);--dur-slow:var(--duration-slow);--ease-standard:var(--ease-smooth);--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-primary:#0b0d14;--bg-secondary:#0e1119;--surface-color:#12151f;--surface-color-light:#1a1e2c;--surface-hover:#202435;--surface-raised:#161a28;--input-bg:#0f121b;--input-border:#ffffff17;--input-border-focus:var(--primary);--bg-color:var(--bg-primary);--primary:#2de0bc;--primary-light:#56efd1;--primary-dark:#1fbf9f;--primary-rgb:45, 224, 188;--primary-gradient:linear-gradient(135deg, #2de0bc 0%, #53b8ff 100%);--primary-gradient-hover:linear-gradient(135deg, #56efd1 0%, #7ccbff 100%);--secondary:#ffb454;--secondary-rgb:255, 180, 84;--warning:#ffb454;--warning-rgb:255, 180, 84;--danger:#ff6e62;--danger-rgb:255, 110, 98;--success:#4ade80;--success-rgb:74, 222, 128;--info:#53b8ff;--info-rgb:83, 184, 255;--planned:#8b7cf6;--planned-rgb:139, 124, 246;--text-primary:#f4f6fb;--text-secondary:#9aa0b5;--text-tertiary:#7a83a0;--text-on-primary:#06231c;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Consolas, monospace;--font-size-xs:11px;--font-size-sm:13px;--font-size-base:15px;--font-size-md:16px;--font-size-lg:18px;--font-size-xl:22px;--font-size-2xl:28px;--font-size-3xl:34px;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-normal:1.5;--line-height-relaxed:1.6;--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;--radius-xs:4px;--radius-sm:8px;--radius-md:14px;--radius-lg:18px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 1px 2px #00000059;--shadow-md:0 4px 14px #00000073;--shadow-lg:0 12px 32px #0000008c;--shadow-xl:0 20px 50px #0009;--shadow-glow:0 0 18px rgba(var(--primary-rgb), .35), 0 0 48px rgba(var(--primary-rgb), .12);--shadow-glow-sm:0 0 10px rgba(var(--primary-rgb), .28);--glass-bg:#12151fdb;--glass-bg-strong:#12151ff0;--glass-border:#ffffff12;--glass-border-light:#ffffff1f;--glass-blur:10px;--glass-blur-strong:16px;--safe-area-top:env(safe-area-inset-top,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px);--safe-area-left:env(safe-area-inset-left,0px);--safe-area-right:env(safe-area-inset-right,0px);--nav-height:52px;--header-padding:var(--safe-area-top);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-smooth:cubic-bezier(.4, 0, .2, 1);--duration-fast:.15s;--duration-normal:.25s;--duration-slow:.4s}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{height:100dvh;background-color:var(--bg-primary);height:-webkit-fill-available;overflow:hidden}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;width:100%;height:100dvh;background-image:radial-gradient(600px circle at 15% -5%, rgba(var(--primary-rgb), .07), transparent 60%);height:-webkit-fill-available;overflow:hidden}#app{width:100%;height:100dvh;flex-direction:column;height:-webkit-fill-available;display:flex;position:relative}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);color:var(--text-primary);line-height:var(--line-height-tight);letter-spacing:-.02em}h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold)}h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}h3{font-size:var(--font-size-lg)}h4{font-size:var(--font-size-md)}p{color:var(--text-secondary);line-height:var(--line-height-relaxed)}a{color:var(--primary);transition:opacity var(--duration-fast) var(--ease-smooth);text-decoration:none}a:active{opacity:.7}small{color:var(--text-secondary);font-size:var(--font-size-sm)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--surface-color-light);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}::selection{background:rgba(var(--primary-rgb), .3);color:var(--text-primary)}@media (width>=769px){body{background-image:radial-gradient(700px circle at 30% -5%, rgba(var(--primary-rgb), .06), transparent 60%);justify-content:center;display:flex}#app{border-left:1px solid var(--glass-border);border-right:1px solid var(--glass-border);max-width:480px;box-shadow:0 0 80px #0000004d}}@media (width>=1024px){#app{max-width:520px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}html{scroll-behavior:auto!important}}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-full);font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);cursor:pointer;letter-spacing:-.01em;min-width:44px;min-height:44px;transition:transform var(--duration-fast) var(--ease-spring), box-shadow var(--duration-normal) var(--ease-smooth), background var(--duration-normal) var(--ease-smooth), opacity var(--duration-fast);-webkit-user-select:none;user-select:none;border:none;outline:none;padding:12px 22px;display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";transition:background var(--duration-fast);border-radius:inherit;pointer-events:none;background:#fff0;position:absolute;inset:0}.btn:hover:after{background:#ffffff0f}.btn:active{transform:scale(.95)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important}.btn-primary{background:var(--primary-gradient);color:var(--text-on-primary);box-shadow:var(--shadow-glow-sm)}.btn-primary:hover{background:var(--primary-gradient-hover);box-shadow:var(--shadow-glow)}.btn-primary:active{box-shadow:0 0 8px rgba(var(--primary-rgb), .3)}.btn-secondary{background:var(--surface-color-light);color:var(--text-primary);border:1px solid var(--glass-border-light)}.btn-secondary:hover{background:var(--surface-hover);border-color:#ffffff26}.btn-danger{background:rgba(var(--danger-rgb), .15);color:var(--danger);border:1px solid rgba(var(--danger-rgb), .3)}.btn-danger:hover{background:rgba(var(--danger-rgb), .25)}.btn-outline{color:var(--primary);border:1.5px solid rgba(var(--primary-rgb), .4);background:0 0}.btn-outline:hover{background:rgba(var(--primary-rgb), .08);border-color:rgba(var(--primary-rgb), .6)}.btn-large{width:100%;font-size:var(--font-size-lg);border-radius:var(--radius-md);padding:16px}.btn-sm{font-size:var(--font-size-sm);min-height:36px;font-weight:var(--font-weight-medium);padding:6px 14px}.card{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-3);transition:transform var(--duration-fast) var(--ease-spring), box-shadow var(--duration-normal) var(--ease-smooth), border-color var(--duration-normal);position:relative;overflow:hidden}.card:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 0%,#ffffff14 30% 70%,#0000 100%);height:1px;position:absolute;top:0;left:0;right:0}.card:active{transform:scale(.985)}.card h3{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-1)}.card h4{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.card--accent{border-color:rgba(var(--primary-rgb), .2);box-shadow:inset 0 0 30px rgba(var(--primary-rgb), .03)}.bottom-nav{height:var(--nav-height);-webkit-backdrop-filter:blur(var(--glass-blur-strong));border-top:1px solid var(--glass-border);z-index:100;background:#0a0a0fe0;justify-content:space-around;align-items:center;padding-bottom:4px;display:flex;position:fixed;bottom:0;left:0;right:0}@media (width>=769px){.bottom-nav{border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-left:1px solid var(--glass-border);border-right:1px solid var(--glass-border);max-width:480px;left:50%;transform:translate(-50%)}}@media (width>=1024px){.bottom-nav{max-width:520px}}.nav-item{color:var(--text-tertiary);min-height:48px;transition:color var(--duration-normal) var(--ease-smooth);flex-direction:column;flex:1;justify-content:center;align-items:center;padding:2px 0;text-decoration:none;display:flex;position:relative}.nav-item .icon{transition:transform var(--duration-normal) var(--ease-spring);margin-bottom:0;font-size:22px;line-height:1}.nav-item .label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:.02em}.nav-item.active{color:var(--primary)}.nav-item.active .icon{filter:drop-shadow(0 0 6px rgba(var(--primary-rgb), .5));transform:scale(1.1)}.nav-item.active:after{content:"";background:var(--primary);border-radius:var(--radius-full);width:4px;height:4px;box-shadow:0 0 6px rgba(var(--primary-rgb), .6);position:absolute;bottom:0;left:50%;transform:translate(-50%)}.form-group{margin-bottom:var(--space-4)}.form-group label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);margin-bottom:var(--space-2);letter-spacing:.02em;text-transform:uppercase;display:block}.label-lock{vertical-align:middle}.form-control{background:var(--input-bg);border:1.5px solid var(--input-border);width:100%;color:var(--text-primary);border-radius:var(--radius-sm);padding:12px var(--space-4);font-family:var(--font-family);font-size:var(--font-size-md);font-weight:var(--font-weight-normal);min-height:48px;transition:border-color var(--duration-normal) var(--ease-smooth), box-shadow var(--duration-normal) var(--ease-smooth), background var(--duration-normal);appearance:none;outline:none}.form-control::placeholder{color:var(--text-tertiary)}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb), .12);background:#12121fe6}select.form-control{background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%238B8B9E' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:40px}.rating-btn{border:2px solid var(--glass-border-light);background:var(--surface-color-light);width:36px;height:36px;color:var(--text-secondary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);cursor:pointer;transition:all var(--duration-fast);-webkit-tap-highlight-color:transparent;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex}.rating-btn--active{background:var(--primary-gradient);color:var(--text-on-primary);box-shadow:var(--shadow-glow-sm);border-color:#0000;transform:scale(1.05)}.rating-btn:active{transform:scale(.9)}.color-picker-grid{gap:var(--space-2);margin-top:var(--space-2);grid-template-columns:repeat(6,1fr);display:grid}.color-swatch{aspect-ratio:1;cursor:pointer;transition:transform var(--duration-fast), border-color var(--duration-fast);border:2px solid #0000;border-radius:50%;box-shadow:0 2px 4px #0003}.color-swatch.active{border-color:var(--text-primary);transform:scale(1.15);box-shadow:0 0 8px #fff6}.color-swatch:hover{transform:scale(1.1)}textarea.form-control{resize:vertical;min-height:80px;line-height:var(--line-height-relaxed)}input[type=date].form-control::-webkit-calendar-picker-indicator{filter:invert()brightness(.7);cursor:pointer}input[type=range].form-control{appearance:none;background:0 0;border:none;min-height:44px;padding:0}input[type=range].form-control::-webkit-slider-runnable-track{background:var(--surface-color-light);border-radius:var(--radius-full);width:100%;height:6px}input[type=range].form-control::-webkit-slider-thumb{-webkit-appearance:none;background:var(--primary-gradient);cursor:pointer;width:22px;height:22px;box-shadow:var(--shadow-glow-sm);border:2px solid #fff3;border-radius:50%;margin-top:-8px}input[type=range]:focus{box-shadow:none}input[type=checkbox]{appearance:none;background:var(--input-bg);border:2px solid var(--input-border);border-radius:var(--radius-xs);cursor:pointer;vertical-align:middle;width:22px;height:22px;margin-right:var(--space-2);transition:background var(--duration-fast), border-color var(--duration-fast), transform var(--duration-fast) var(--ease-spring);flex-shrink:0;position:relative}input[type=checkbox]:checked{background:var(--primary-gradient);animation:checkboxPop .3s var(--ease-spring);border-color:#0000}input[type=checkbox]:checked:after{content:"";border:2.5px solid #000;border-width:0 2.5px 2.5px 0;width:7px;height:12px;position:absolute;top:1px;left:5px;transform:rotate(45deg)}input[type=checkbox]:active{transform:scale(.9)}.modal-overlay{-webkit-backdrop-filter:blur(6px);z-index:1000;animation:overlayFadeIn .25s var(--ease-smooth) forwards;background:#0000008c;align-items:flex-end;display:flex;position:fixed;inset:0}.modal-content.bottom-sheet{background:var(--surface-color);border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl);width:100%;padding:var(--space-6);padding-bottom:calc(var(--space-8) + var(--safe-area-bottom));max-height:92vh;box-shadow:var(--shadow-xl);animation:bottomSheetSlideUp .4s var(--ease-out) forwards;position:relative;overflow-y:auto}.modal-content.bottom-sheet:before{content:"";border-radius:var(--radius-full);width:36px;height:4px;margin:0 auto var(--space-5);background:#ffffff26;display:block}.modal-header{margin-bottom:var(--space-5);justify-content:space-between;align-items:center;display:flex}.modal-header h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.btn-close{background:var(--surface-color-light);border:1px solid var(--glass-border-light);color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-full);width:36px;height:36px;transition:all var(--duration-fast);justify-content:center;align-items:center;font-size:20px;line-height:1;display:flex}.btn-close:hover{background:var(--surface-hover);color:var(--text-primary)}.modal-icon-container{margin-bottom:var(--space-4);justify-content:center;align-items:center;display:flex}.modal-icon{background:rgba(var(--secondary-rgb), .1);border:2px solid rgba(var(--secondary-rgb), .3);width:64px;height:64px;box-shadow:0 0 20px rgba(var(--secondary-rgb), .15);border-radius:50%;justify-content:center;align-items:center;font-size:32px;display:flex}.modal-icon.danger{background:rgba(var(--danger-rgb), .1);border-color:rgba(var(--danger-rgb), .3);box-shadow:0 0 20px rgba(var(--danger-rgb), .15)}.modal-footer{gap:var(--space-3);margin-top:var(--space-6);display:flex}.modal-footer .btn{border-radius:var(--radius-md);flex:1}.badge{border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.04em;text-transform:uppercase;align-items:center;padding:3px 10px;line-height:1.4;display:inline-flex}.skeleton-card{height:80px;margin-bottom:var(--space-4);border-radius:var(--radius-md)}.toast{background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(var(--glass-blur-strong));border:1px solid var(--glass-border-light);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);box-shadow:var(--shadow-lg);animation:toastSlideIn .4s var(--ease-out) forwards;pointer-events:auto;align-items:center;gap:var(--space-2);display:flex}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.flex{display:flex}.d-flex{align-items:center;display:flex}.w-full{width:100%}.view-container{padding:var(--space-4);padding-top:calc(var(--safe-area-top) + var(--space-1));padding-bottom:calc(52px + clamp(4px, var(--safe-area-bottom), 12px) + var(--space-4));-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scroll-behavior:smooth;flex:1;overflow:hidden auto}.ptr-indicator{text-align:center;height:0;transition:height .3s var(--ease-spring);color:var(--primary);font-size:var(--font-size-sm);justify-content:center;align-items:center;gap:var(--space-2);display:flex;overflow:hidden}.ptr-indicator.ptr-visible{height:60px}.ptr-indicator .spinner{border:2px solid rgba(var(--primary-rgb), .3);border-top-color:var(--primary);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite ptrSpin;display:inline-block}@keyframes ptrSpin{to{transform:rotate(360deg)}}.login-screen{padding:var(--space-10) var(--space-5);background:radial-gradient(ellipse 60% 40% at 50% 35%, rgba(var(--primary-rgb), .06) 0%, transparent 70%);flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:100dvh;display:flex}.login-screen .logo{text-align:center;margin-bottom:var(--space-12)}.login-screen .logo .icon{margin-bottom:var(--space-4);filter:drop-shadow(0 0 30px rgba(var(--primary-rgb), .25));font-size:80px;animation:4s ease-in-out infinite floatIcon;display:block}.login-screen .logo h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);background:var(--primary-gradient);-webkit-text-fill-color:transparent;margin-bottom:var(--space-2);letter-spacing:-.03em;-webkit-background-clip:text;background-clip:text}.login-screen .logo p{font-size:var(--font-size-base);color:var(--text-secondary);font-weight:var(--font-weight-light);letter-spacing:.04em}.login-screen .btn-primary{width:100%;max-width:320px;font-size:var(--font-size-lg);border-radius:var(--radius-md);padding:16px}.compound-divider{margin:var(--space-4) 0;background:var(--glass-border-light);border:none;height:1px}.compound-notes{min-height:60px;font-size:var(--font-size-sm)!important;background:#12121f99!important}.supply-quantity{font-family:var(--font-mono);font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);color:var(--text-primary)}.journal-notes{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);color:var(--text-secondary)}.order-cost{font-family:var(--font-mono);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--primary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes bottomSheetSlideUp{0%{opacity:0;transform:translateY(100%)}60%{opacity:1;transform:translateY(-3%)}80%{transform:translateY(1%)}to{opacity:1;transform:translateY(0)}}@keyframes checkboxPop{0%{transform:scale(1)}40%{transform:scale(1.2)}70%{transform:scale(.92)}to{transform:scale(1)}}@keyframes floatIcon{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pulseRing{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.8)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes breatheGlow{0%,to{box-shadow:0 0 20px rgba(var(--primary-rgb), .25)}50%{box-shadow:0 0 35px rgba(var(--primary-rgb), .4)}}.fade-in{animation:fadeIn .4s var(--ease-out) both}.glow{box-shadow:var(--shadow-glow);animation:3s ease-in-out infinite breatheGlow}.pulse{position:relative}.pulse:after{content:"";border-radius:inherit;background:var(--primary);pointer-events:none;width:100%;height:100%;animation:2s ease-out infinite pulseRing;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.spinner{border:2.5px solid var(--glass-border-light);border-top-color:var(--primary);border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin;display:inline-block}.card{background:linear-gradient(180deg, #ffffff0b, #ffffff02 55%), var(--surface-color);border:1px solid #ffffff16;box-shadow:0 12px 28px -10px #0009,inset 0 1px #ffffff12}.bottom-nav{width:100%;max-width:100%;height:calc(52px + clamp(4px, var(--safe-area-bottom), 12px));padding-bottom:clamp(4px, var(--safe-area-bottom), 12px);-webkit-backdrop-filter:blur(var(--glass-blur-strong));z-index:50;background:linear-gradient(#161a28f2,#0d0f18fa);border-top:1px solid #ffffff17;flex-shrink:0;justify-content:space-around;align-items:stretch;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -10px 30px #00000073,inset 0 1px #ffffff0d}.bottom-nav [data-tab=today]{--tab-color:var(--primary);--tab-rgb:var(--primary-rgb)}.bottom-nav [data-tab=stack]{--tab-color:var(--planned);--tab-rgb:var(--planned-rgb)}.bottom-nav [data-tab=plan]{--tab-color:var(--info);--tab-rgb:var(--info-rgb)}.bottom-nav [data-tab=insights]{--tab-color:var(--success);--tab-rgb:var(--success-rgb)}.bottom-nav [data-tab=menu]{--tab-color:var(--secondary);--tab-rgb:var(--secondary-rgb)}.bottom-nav .nav-item,.bottom-nav .nav-menu-btn{color:var(--text-tertiary);font-size:10px;font-weight:var(--font-weight-semibold);letter-spacing:.03em;cursor:pointer;transition:color var(--duration-fast) var(--ease-smooth);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;min-width:44px;text-decoration:none;display:flex;position:relative}.bottom-nav .nav-item .icn,.bottom-nav .nav-menu-btn .icn{box-sizing:content-box;color:var(--tab-color);filter:saturate(.55)brightness(.8);border-radius:var(--radius-full);transition:all var(--duration-normal) var(--ease-spring);flex-shrink:0;padding:2px 10px}.bottom-nav .nav-item.active,.bottom-nav .nav-menu-btn.active{color:var(--tab-color)}.bottom-nav .nav-item.active .icn,.bottom-nav .nav-menu-btn.active .icn{filter:none;background:rgba(var(--tab-rgb), .14);box-shadow:inset 0 1px #ffffff1a}.bottom-nav .nav-item:active .icn,.bottom-nav .nav-menu-btn:active .icn{transform:scale(.9)}.bottom-nav .nav-item.active:after{display:none}.bottom-nav .nav-item.active .icon{filter:none;transform:none}.demo-badge{top:calc(var(--safe-area-top) + 12px);z-index:40;color:#8f84d9;font-size:10px;font-weight:var(--font-weight-semibold);letter-spacing:.22em;font-family:var(--font-mono);pointer-events:none;border-radius:var(--radius-full);-webkit-backdrop-filter:blur(6px);background:#0b0d14b8;padding:3px 8px 3px 10px;position:fixed;right:14px}.menu-sheet-overlay{-webkit-backdrop-filter:blur(4px);z-index:150;background:#040509a6;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.menu-sheet{background:linear-gradient(180deg, #ffffff0d, #ffffff03 40%), var(--surface-raised);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:480px;padding:var(--space-3) var(--space-4) calc(var(--space-6) + var(--safe-area-bottom));animation:sheetUp var(--duration-normal) var(--ease-out);border:1px solid #ffffff1f;border-bottom:none;box-shadow:0 -18px 50px #0000008c,inset 0 1px #ffffff14}@keyframes sheetUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.menu-sheet .sheet-handle{border-radius:var(--radius-full);width:36px;height:4px;margin:2px auto var(--space-4);background:#ffffff38}.menu-sheet .sheet-context{font-family:var(--font-mono);font-size:var(--font-size-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);padding:0 var(--space-3) var(--space-2)}.menu-row{align-items:center;gap:var(--space-4);width:100%;padding:14px var(--space-3);color:var(--text-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);font-family:var(--font-family);border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:background var(--duration-fast) var(--ease-smooth);background:0 0;border:none;display:flex}.menu-row:active{background:var(--surface-hover)}.menu-row .icn{color:var(--text-secondary);flex-shrink:0}.menu-row[data-nav=inventory] .icn{color:var(--danger)}.menu-row[data-nav=expenses] .icn{color:var(--success)}.menu-row .menu-row-sub{font-size:var(--font-size-xs);color:var(--text-tertiary);font-weight:var(--font-weight-normal);margin-top:1px;display:block}.menu-divider{background:var(--glass-border);height:1px;margin:var(--space-2) var(--space-3)}.v2-header{padding:var(--space-1) 0 var(--space-2)}.v2-header .v2-header-top{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.v2-header .v2-eyebrow{font-family:var(--font-mono);font-size:var(--font-size-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--text-tertiary)}.v2-header h2{margin:0}.v2-greeting{letter-spacing:-.02em;background:linear-gradient(100deg,#fff 30%,#ffffff9e);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:24px}.v2-header .v2-header-actions{gap:var(--space-2);align-items:center;display:flex}.icon-btn{border-radius:var(--radius-md);background:linear-gradient(180deg, #ffffff0f, #ffffff03), var(--surface-color);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;transition:all var(--duration-fast) var(--ease-smooth);border:1px solid #ffffff1a;justify-content:center;align-items:center;display:inline-flex;box-shadow:0 4px 12px -4px #00000080,inset 0 1px #ffffff14}.icon-btn:active{background:var(--surface-hover);transform:scale(.94)}.week-strip{margin:var(--space-4) 0 var(--space-2);grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.week-day{border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) var(--ease-smooth);background:0 0;border:1px solid #0000;flex-direction:column;align-items:center;gap:5px;padding:9px 0 8px;display:flex}.week-day .wd-name{font-size:10px;font-weight:var(--font-weight-semibold);letter-spacing:.1em;color:var(--text-tertiary);text-transform:uppercase}.week-day .wd-num{font-family:var(--font-mono);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-secondary)}.week-day .wd-dot{border:1.6px solid var(--text-tertiary);background:0 0;border-radius:50%;width:7px;height:7px}.week-day.wd--full .wd-dot{background:var(--success);border-color:var(--success)}.week-day.wd--partial .wd-dot{background:var(--secondary);border-color:var(--secondary)}.week-day.wd--missed .wd-dot{border-color:var(--danger)}.week-day.wd--none .wd-dot{opacity:.35}.week-day.wd--future .wd-dot{opacity:.6;border-style:dotted}.week-day.wd--today .wd-dot{border-color:var(--primary);opacity:1}.week-day.wd--today{border-color:rgba(var(--primary-rgb), .55);background:linear-gradient(180deg, rgba(var(--primary-rgb), .16), rgba(var(--primary-rgb), .05));box-shadow:inset 0 1px #ffffff1f}.week-day.wd--today .wd-num{color:var(--primary)}.week-day.wd--today .wd-name{color:rgba(var(--primary-rgb), .8)}.week-day.wd--selected:not(.wd--today){border-color:var(--glass-border-light);background:var(--surface-color)}.week-day.wd--selected .wd-num{color:var(--text-primary)}.due-summary{justify-content:space-between;align-items:center;gap:var(--space-2);margin:var(--space-3) 0 var(--space-4);display:flex}.due-summary .due-count{color:var(--text-primary);align-items:baseline;gap:8px;display:flex}.due-summary .hero-num{font-family:var(--font-mono);font-size:34px;font-weight:var(--font-weight-bold);color:var(--primary);font-variant-numeric:tabular-nums;line-height:1}.due-summary .hero-den{font-family:var(--font-mono);font-size:19px;font-weight:var(--font-weight-medium);color:var(--text-tertiary)}.due-summary .hero-label{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:var(--font-weight-medium)}.due-summary .hero-done{color:var(--success);font-weight:var(--font-weight-semibold);align-items:center;gap:6px;display:inline-flex}.week-ticks{align-items:center;gap:4px;display:flex}.week-ticks .wt{background:#ffffff1a;border-radius:3px;width:6px;height:12px}.week-ticks .wt--full{background:var(--success)}.week-ticks .wt--partial{background:var(--secondary)}.week-ticks .wt--missed{background:rgba(var(--danger-rgb), .55)}.week-ticks .wt--today{outline:1px solid rgba(var(--primary-rgb), .7);outline-offset:1px}.dose-row{--row-color:var(--primary);align-items:center;gap:var(--space-3);background:linear-gradient(180deg, #ffffff0a, #ffffff02 60%), var(--surface-color);border-radius:var(--radius-lg);margin-bottom:var(--space-3);border:1px solid #ffffff17;padding:15px 14px 15px 0;display:flex;position:relative;overflow:hidden;box-shadow:0 14px 30px -12px #000000a6,inset 0 1px #ffffff12}.dose-row .dose-rail{background:linear-gradient(180deg, var(--row-color), color-mix(in srgb, var(--row-color) 45%, transparent));border-radius:0 3px 3px 0;flex-shrink:0;align-self:stretch;width:4px}.dose-row.dose-row--overdue .dose-rail{background:var(--secondary);animation:2.4s ease-in-out infinite railPulse}@keyframes railPulse{0%,to{opacity:1}50%{opacity:.45}}.dose-row .dose-main{flex:1;min-width:0}.dose-row .dose-title{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.dose-row .dose-title h3{font-size:var(--font-size-md);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.dose-row .dose-meta{align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-top:6px;display:flex}.dose-row .dose-qty{font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.dose-row .dose-qty-sub{color:var(--text-tertiary);font-weight:var(--font-weight-normal)}.dose-row .dose-blend{font-family:var(--font-mono);color:var(--text-tertiary);margin-top:5px;font-size:10.5px}.dose-row .dose-warn{margin-top:8px}.dose-row .dose-actions{flex-shrink:0;align-items:center;margin-right:22px;display:flex}.dose-row>.btn-dots{width:44px;height:44px;color:var(--text-secondary);position:absolute;top:0;right:0}.dose-row.dose-row--taken{opacity:.8;background:linear-gradient(180deg, #ffffff05, #ffffff01), var(--surface-color);padding-top:9px;padding-bottom:9px;box-shadow:0 8px 20px -12px #00000080,inset 0 1px #ffffff0a}.dose-row.dose-row--taken .dose-rail{opacity:.4}.dose-row.dose-row--taken .dose-meta .chip,.dose-row.dose-row--taken .dose-blend,.dose-row.dose-row--taken .dose-warn{display:none}.dose-row.dose-row--taken .dose-meta{margin-top:3px}.chip{border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border:1px solid var(--glass-border-light);color:var(--text-secondary);white-space:nowrap;background:#ffffff09;align-items:center;gap:4px;padding:3px 9px;display:inline-flex}.chip .icn{width:12px;height:12px}.chip--time{color:var(--info);border-color:rgba(var(--info-rgb), .35);background:rgba(var(--info-rgb), .09)}.chip--day{font-family:var(--font-mono)}.chip--phase{color:#a99cff;border-color:rgba(var(--planned-rgb), .45);background:rgba(var(--planned-rgb), .11)}.chip--warn{color:var(--secondary);border-color:rgba(var(--secondary-rgb), .4);background:rgba(var(--secondary-rgb), .1)}.chip--danger{color:var(--danger);border-color:rgba(var(--danger-rgb), .4);background:rgba(var(--danger-rgb), .1)}.btn-log{border-radius:var(--radius-md);background:linear-gradient(180deg, #ffffff40, #fff0 45%), var(--primary-gradient);min-width:78px;min-height:46px;color:var(--text-on-primary);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);letter-spacing:.015em;cursor:pointer;box-shadow:0 4px 24px rgba(var(--primary-rgb), .35), 0 2px 6px #00000059, inset 0 1px 0 #fff6;transition:transform var(--duration-fast) var(--ease-smooth);-webkit-user-select:none;user-select:none;touch-action:manipulation;border:none;justify-content:center;align-items:center;gap:6px;padding:0 19px;display:inline-flex;position:relative;overflow:hidden}.btn-log:active{transform:scale(.96)}.btn-log:disabled{background:var(--surface-hover);color:var(--text-tertiary);box-shadow:none;cursor:default}.btn-log.btn-log--ghost{background:rgba(var(--primary-rgb), .08);color:var(--primary);border:1px solid rgba(var(--primary-rgb), .35);box-shadow:none}.btn-log.btn-log--done{background:rgba(var(--success-rgb), .12);color:var(--success);border:1px solid rgba(var(--success-rgb), .35);box-shadow:none}.btn-log .hold-fill{transform-origin:0;pointer-events:none;background:#ffffff61;position:absolute;inset:0;transform:scaleX(0)}.btn-log.btn-log--ghost .hold-fill{background:rgba(var(--primary-rgb), .3)}.btn-log.holding .hold-fill{transition:transform .62s cubic-bezier(.2,.8,.2,1);transform:scaleX(1)}.btn-log .btn-log-label{z-index:1;align-items:center;gap:6px;display:inline-flex;position:relative}@media (prefers-reduced-motion:reduce){.btn-log .hold-fill{display:none}}.btn-dots{width:34px;height:46px;color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.btn-dots:active{background:var(--surface-hover);color:var(--text-secondary)}.action-sheet-list{flex-direction:column;display:flex}.action-sheet-list .menu-row{padding:15px var(--space-3)}.action-sheet-list .menu-row.danger,.action-sheet-list .menu-row.danger .icn{color:var(--danger)}.menu-row .menu-row-val{font-size:var(--font-size-sm);flex-shrink:0;margin-left:auto}.ins-spend-lines{max-height:46vh;overflow-y:auto}.v2-alert{align-items:flex-start;gap:var(--space-3);border-radius:var(--radius-lg);margin-bottom:var(--space-3);font-size:var(--font-size-sm);border:1px solid;padding:13px 14px;display:flex;box-shadow:0 10px 24px -12px #00000080,inset 0 1px #ffffff0d}.v2-alert .icn{flex-shrink:0;margin-top:1px}.v2-alert strong{font-size:var(--font-size-sm);display:block}.v2-alert .v2-alert-detail{color:var(--text-secondary);font-size:var(--font-size-xs);margin-top:2px}.v2-alert .v2-alert-dismiss{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;flex-shrink:0;margin-left:auto;padding:2px}.v2-alert--warning{background:linear-gradient(180deg, rgba(var(--secondary-rgb), .13), rgba(var(--secondary-rgb), .05));border-color:rgba(var(--secondary-rgb), .38)}.v2-alert--warning .icn{color:var(--secondary);filter:drop-shadow(0 0 6px rgba(var(--secondary-rgb), .6))}.v2-alert--action{background:linear-gradient(180deg, rgba(var(--danger-rgb), .13), rgba(var(--danger-rgb), .05));border-color:rgba(var(--danger-rgb), .38)}.v2-alert--action .icn{color:var(--danger);filter:drop-shadow(0 0 6px rgba(var(--danger-rgb), .6))}.v2-alert--positive{background:linear-gradient(180deg, rgba(var(--success-rgb), .13), rgba(var(--success-rgb), .05));border-color:rgba(var(--success-rgb), .38)}.v2-alert--positive .icn{color:var(--success);filter:drop-shadow(0 0 6px rgba(var(--success-rgb), .6))}.gauge{border-radius:var(--radius-full);background:#ffffff12;height:7px;position:relative;overflow:hidden;box-shadow:inset 0 1px 2px #0006}.gauge .gauge-fill{border-radius:var(--radius-full);background:linear-gradient(90deg, color-mix(in srgb, var(--primary) 70%, #fff 10%), var(--primary));box-shadow:0 0 8px rgba(var(--primary-rgb), .5);transition:width var(--duration-slow) var(--ease-out);position:absolute;inset:0 auto 0 0}.vial-gauge{--vc:var(--vial-color,var(--primary));width:34px;filter:drop-shadow(0 7px 12px color-mix(in srgb, var(--vc) 38%, #00000080));flex-direction:column;flex-shrink:0;align-items:center;display:flex}.vial-gauge .vial-cap{background:linear-gradient(180deg, color-mix(in srgb, var(--vc) 70%, #fff 26%), var(--vc) 45%, color-mix(in srgb, var(--vc) 80%, #000 14%));border-radius:5px 5px 2px 2px;width:22px;height:10px;box-shadow:inset 0 1.5px #ffffff73}.vial-gauge .vial-band{background:linear-gradient(90deg,#8a93a6,#e3e8f2 30%,#aeb6c6 55%,#6e7688);border-radius:0 0 2px 2px;width:14px;height:6px;box-shadow:0 1px 1px #00000080}.vial-gauge .vial-glass{background:linear-gradient(105deg,#ffffff29,#ffffff05 40%,#ffffff17 78%,#ffffff05),#080a118c;border:1px solid #ffffff38;border-radius:9px 9px 7px 7px;width:28px;height:38px;position:relative;overflow:hidden;box-shadow:inset 0 1px #fff3,inset 0 -2px 4px #00000059}.vial-gauge .vial-glass:after{content:"";border-radius:var(--radius-full);z-index:3;pointer-events:none;background:linear-gradient(#ffffff73,#ffffff0d);width:3.5px;position:absolute;top:3px;bottom:3px;left:3px}.vial-gauge .vial-fill{background:linear-gradient(180deg, color-mix(in srgb, var(--vc) 72%, #fff 18%), var(--vc) 55%, color-mix(in srgb, var(--vc) 78%, #000 12%));min-height:3px;transition:height var(--duration-slow) var(--ease-out);box-shadow:0 -2px 10px color-mix(in srgb, var(--vc) 45%, transparent);position:absolute;bottom:0;left:0;right:0}.vial-gauge .vial-fill:after{content:"";background:color-mix(in srgb, var(--vc) 55%, #fff 30%);opacity:.9;border-radius:50%;height:5px;position:absolute;top:-2px;left:1px;right:1px}.vial-gauge--pill .vial-cap{background:repeating-linear-gradient(90deg,#141a2847 0 1px,#0000 1px 3px),linear-gradient(#f4f6fa,#cdd3de 65%,#a9b1c2);border-radius:3px 3px 2px 2px;width:24px;height:11px;box-shadow:inset 0 1.5px #ffffffbf,0 1px 2px #00000073}.vial-gauge--pill .vial-band{width:18px;height:4px;box-shadow:none;background:linear-gradient(#ff9c428c,#c4641e73);border-radius:0}.vial-gauge--pill .vial-glass{background:linear-gradient(105deg,#fff3,#ffffff08 40%,#ffffff1c 78%,#ffffff08),linear-gradient(#d6742052,#96481047),#180e068c;border-color:#ffac5c61;border-radius:6px 6px 7px 7px;width:30px;height:37px;box-shadow:inset 0 1px #ffdcaa47,inset 0 -2px 4px #3c190066}.vial-gauge--pill .vial-fill{background:radial-gradient(3.2px 2.4px at 2.6px 2.2px, color-mix(in srgb, var(--vc) 52%, #fff 44%) 0 42%, var(--vc) 43% 76%, color-mix(in srgb, var(--vc) 66%, #000 34%) 77% 98%, transparent 99%), radial-gradient(3.2px 2.4px at 2.6px 2.2px, color-mix(in srgb, var(--vc) 52%, #fff 44%) 0 42%, var(--vc) 43% 76%, color-mix(in srgb, var(--vc) 66%, #000 34%) 77% 98%, transparent 99%), color-mix(in srgb, var(--vc) 26%, #170d05 74%);min-height:6px;box-shadow:0 -2px 10px color-mix(in srgb, var(--vc) 32%, transparent);background-position:.5px 1px,4.5px 4px,0 0;background-size:8px 6px,8px 6px,auto}.vial-gauge--pill .vial-fill:after{content:none}.stack-sect{margin:var(--space-5) 0 var(--space-3)}#stack-list .stack-sect:first-child{margin-top:var(--space-2)}.snapshot-grid{gap:var(--space-3);padding-bottom:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(168px,1fr));display:grid}.snapshot-card{border-radius:var(--radius-lg);cursor:pointer;min-width:0;transition:all var(--duration-fast) var(--ease-smooth);background:#ffffff06;border:1px solid #ffffff0e;align-items:center;gap:11px;padding:11px;text-decoration:none;display:flex;box-shadow:0 8px 18px -12px #00000080}.snapshot-card:active{transform:scale(.97)}.snapshot-card .snap-pct{color:var(--text-primary)}.snapshot-card.snapshot-card--low{border-color:rgba(var(--danger-rgb), .4)}.snapshot-card.snapshot-card--low .snap-pct{color:var(--danger)}.low-chip{font-family:var(--font-mono);font-size:10px;font-weight:var(--font-weight-bold);letter-spacing:.1em;color:var(--danger);border:1px solid rgba(var(--danger-rgb), .45);border-radius:var(--radius-full);vertical-align:2px;margin-left:6px;padding:1px 6px}.snapshot-card .snap-info{min-width:0}.snapshot-card .snap-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.snapshot-card .snap-pct{font-family:var(--font-mono);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin-top:1px}.snapshot-card .snap-sub{font-family:var(--font-mono);color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:10px;overflow:hidden}.v2-section{margin:var(--space-6) 0 var(--space-3);justify-content:space-between;align-items:center;display:flex}.v2-section .v2-section-title{font-family:var(--font-mono);font-size:var(--font-size-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--text-tertiary);align-items:center;gap:7px;display:flex}.v2-section .v2-section-title .icn{width:13px;height:13px;color:var(--primary);opacity:.8}.v2-empty{text-align:center;padding:var(--space-10) var(--space-6);color:var(--text-secondary);border:1px dashed var(--glass-border-light);border-radius:var(--radius-lg);background:#ffffff04}.v2-empty .icn{color:var(--text-tertiary);margin-bottom:var(--space-3)}.v2-empty p{font-size:var(--font-size-sm)}.disclaimer-footer{text-align:center;color:var(--text-tertiary);padding:var(--space-6) var(--space-4) var(--space-4);font-size:10.5px;line-height:1.5}.about-block{background:linear-gradient(180deg, #ffffff0a, #ffffff02 55%), var(--surface-color);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-4);box-shadow:0 10px 24px -12px #0000008c,inset 0 1px #ffffff0f}.about-block h3{margin-bottom:var(--space-2);font-size:var(--font-size-md)}.about-block p{font-size:var(--font-size-sm)}.switch{flex-shrink:0;width:46px;height:27px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.switch .track{border-radius:var(--radius-full);background:var(--surface-hover);transition:background var(--duration-normal) var(--ease-smooth);cursor:pointer;border:1px solid #ffffff1a;position:absolute;inset:0}.switch .track:before{content:"";width:21px;height:21px;transition:transform var(--duration-normal) var(--ease-spring);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 2px 6px #0006}.switch input:checked+.track{background:var(--primary);border-color:#0000}.switch input:checked+.track:before{transform:translate(19px)}.switch input:focus-visible+.track{outline:2px solid rgba(var(--primary-rgb), .6);outline-offset:2px}#quick-weight-btn{color:var(--info);border-color:rgba(var(--info-rgb), .35);background:linear-gradient(180deg, rgba(var(--info-rgb), .12), rgba(var(--info-rgb), .04)), var(--surface-color)}#quick-journal-btn{color:var(--planned);border-color:rgba(var(--planned-rgb), .35);background:linear-gradient(180deg, rgba(var(--planned-rgb), .12), rgba(var(--planned-rgb), .04)), var(--surface-color)}.modal-content.bottom-sheet{background:linear-gradient(180deg, #ffffff0d, #ffffff03 40%), var(--surface-raised);border-radius:var(--radius-xl) var(--radius-xl) 0 0;border:1px solid #ffffff1f;border-bottom:none;box-shadow:0 -18px 50px #0000008c,inset 0 1px #ffffff14}.modal-content.bottom-sheet:before{border-radius:var(--radius-full);background:#ffffff38;width:36px;height:4px}.modal-header{border-bottom:none}.modal-header h3{font-size:var(--font-size-lg);letter-spacing:-.01em}.modal-footer{border-top:1px solid var(--glass-border)}.modal-footer .btn-primary{background:linear-gradient(180deg, #ffffff40, #fff0 45%), var(--primary-gradient);color:var(--text-on-primary);font-weight:var(--font-weight-bold);border-radius:var(--radius-md);box-shadow:0 4px 18px rgba(var(--primary-rgb), .3), inset 0 1px 0 #ffffff59;border:none}.modal-footer .btn-secondary{border:1px solid var(--glass-border-light);color:var(--text-secondary);border-radius:var(--radius-md);background:#ffffff0a}.modal-body .form-group label{font-family:var(--font-mono);font-size:10.5px;font-weight:var(--font-weight-semibold);letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary)}.modal-body .form-control{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md);color:var(--text-primary)}.modal-body .form-control:focus{border-color:rgba(var(--primary-rgb), .6);box-shadow:0 0 0 3px rgba(var(--primary-rgb), .15);outline:none}.wm-hero{justify-content:center;align-items:center;gap:var(--space-4);margin:var(--space-2) 0 var(--space-1);display:flex}.wm-input{border:none;border-bottom:2px solid rgba(var(--info-rgb), .45);width:150px;font-family:var(--font-mono);font-size:44px;font-weight:var(--font-weight-bold);color:var(--text-primary);text-align:center;appearance:textfield;background:0 0;padding:4px 0 6px}.wm-input::-webkit-inner-spin-button{-webkit-appearance:none}.wm-input::-webkit-outer-spin-button{-webkit-appearance:none}.wm-input:focus{border-bottom-color:var(--info);outline:none}.wm-input::placeholder{color:var(--text-tertiary)}.wm-step{border:1px solid var(--glass-border-light);background:var(--surface-color);width:44px;height:44px;color:var(--text-secondary);font-size:22px;font-family:var(--font-mono);cursor:pointer;transition:all var(--duration-fast) var(--ease-smooth);border-radius:50%;box-shadow:inset 0 1px #ffffff12}.wm-step:active{background:var(--surface-hover);transform:scale(.92)}.wm-unit{text-align:center;font-family:var(--font-mono);font-size:var(--font-size-xs);letter-spacing:.22em;color:rgba(var(--info-rgb), .85);margin-bottom:var(--space-5)}.jr-section{font-family:var(--font-mono);font-size:10.5px;font-weight:var(--font-weight-semibold);letter-spacing:.14em;text-transform:uppercase;color:var(--text-tertiary);margin:var(--space-5) 0 var(--space-3);align-items:center;gap:7px;display:flex}.jr-section:first-child{margin-top:0}.jr-section .jr-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.jr-row{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.jr-row .jr-label{font-size:var(--font-size-sm);color:var(--text-secondary)}.rate5{--rc:var(--primary);gap:5px;display:flex}.rate5 .rate5-seg{border:1px solid var(--glass-border-light);cursor:pointer;width:30px;height:26px;transition:all var(--duration-fast) var(--ease-smooth);background:#ffffff08;border-radius:7px;padding:0}.rate5 .rate5-seg.on{background:linear-gradient(180deg, color-mix(in srgb, var(--rc) 85%, #fff 10%), var(--rc));box-shadow:0 2px 8px -2px color-mix(in srgb, var(--rc) 60%, transparent), inset 0 1px 0 #ffffff4d;border-color:#0000}.rate5 .rate5-seg:active{transform:scale(.9)}.jr-sleep-hours{align-items:center;gap:var(--space-2);display:flex}.jr-sleep-hours input{text-align:center;width:64px;font-family:var(--font-mono);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md);color:var(--text-primary);padding:7px 4px}.jr-sleep-hours .jr-hr-step{border:1px solid var(--glass-border-light);background:var(--surface-color);width:34px;height:34px;color:var(--text-secondary);font-family:var(--font-mono);cursor:pointer;border-radius:50%;font-size:16px}.jr-sleep-hours .jr-hr-step:active{background:var(--surface-hover)}.dp-head{padding:0 var(--space-2) var(--space-3);justify-content:space-between;align-items:center;display:flex}.dp-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);letter-spacing:-.01em}.dp-nav{gap:var(--space-2);display:flex}.dp-nav .icon-btn{width:34px;height:34px}.dp-nav .icon-btn:disabled{opacity:.3;cursor:default}.dp-grid{padding:0 var(--space-1);grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.dp-dow{text-align:center;font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-tertiary);padding-bottom:6px;font-size:10px}.dp-day{aspect-ratio:1;border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--font-size-sm);cursor:pointer;transition:background var(--duration-fast) var(--ease-smooth);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:flex;position:relative}.dp-day:not(:disabled):active{background:var(--surface-hover)}.dp-day:disabled{color:var(--text-tertiary);opacity:.35;cursor:default}.dp-day.dp-day--today{border-color:rgba(var(--primary-rgb), .5);color:var(--primary)}.dp-day.dp-day--selected{background:linear-gradient(180deg, rgba(var(--primary-rgb), .25), rgba(var(--primary-rgb), .12));border-color:rgba(var(--primary-rgb), .6);color:var(--primary);font-weight:var(--font-weight-bold)}.dp-today-btn{width:calc(100% - 8px);margin:var(--space-3) auto 0;border-radius:var(--radius-md);border:1px solid rgba(var(--primary-rgb), .35);background:rgba(var(--primary-rgb), .08);color:var(--primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);cursor:pointer;padding:11px;display:block}.chip .chip-mono{font-family:var(--font-mono)}.modal-body input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.modal-body input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.modal-body input[type=number]{appearance:textfield}.dose-ladder{display:block}.ladder-chart-wrap{margin-top:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-2);border:1px solid var(--glass-border-light);border-radius:var(--radius-md);background:linear-gradient(#ffffff06,#fff0 40%),#0000002e}.ladder-chart-title{font-family:var(--font-mono);font-size:10px;font-weight:var(--font-weight-semibold);letter-spacing:.14em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:var(--space-1)}.ladder-next{font-size:var(--font-size-xs);color:var(--text-secondary);margin-top:var(--space-1)}.ladder-next-val{font-family:var(--font-mono);font-weight:var(--font-weight-semibold);color:#a99cff}.ladder-next--final{color:var(--text-tertiary)}.das-ladder{margin:0 var(--space-3) var(--space-3);padding:var(--space-3) var(--space-3) var(--space-2);border:1px solid rgba(var(--planned-rgb), .22);border-radius:var(--radius-md);background:linear-gradient(180deg, rgba(var(--planned-rgb), .05), rgba(var(--planned-rgb), 0) 55%), #0003}.das-ladder-title{font-family:var(--font-mono);font-size:10px;font-weight:var(--font-weight-semibold);letter-spacing:.14em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:var(--space-1)}.das-next{font-size:var(--font-size-xs);color:var(--text-secondary);margin-top:var(--space-1);align-items:center;gap:5px;display:flex}.das-next svg{color:#a99cff;flex-shrink:0}.das-next-val{font-family:var(--font-mono);font-weight:var(--font-weight-semibold);color:#a99cff}.das-next--final{color:var(--text-tertiary)}.das-next--final svg{color:var(--success)}.ladder-section{margin-bottom:var(--space-4)}.ladder-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.ladder-tag{font-family:var(--font-mono);font-size:10px;font-weight:var(--font-weight-semibold);letter-spacing:.12em;color:var(--text-tertiary);border:1px solid var(--glass-border-light);vertical-align:2px;border-radius:999px;margin-left:4px;padding:2px 7px}.ladder-add-btn{font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.06em;color:#a99cff;background:rgba(var(--planned-rgb), .1);border:1px solid rgba(var(--planned-rgb), .4);border-radius:var(--radius-md);cursor:pointer;min-height:30px;transition:background var(--duration-fast) var(--ease-smooth);padding:6px 12px}.ladder-add-btn:active{background:rgba(var(--planned-rgb), .22)}.ladder-hint{font-size:var(--font-size-xs);color:var(--text-tertiary);line-height:var(--line-height-relaxed);margin:var(--space-1) 0 var(--space-3)}.ladder-step{border:1px solid var(--glass-border-light);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3) var(--space-3);margin-bottom:var(--space-2);background:#ffffff06;position:relative}.ladder-step--future{border-color:rgba(var(--planned-rgb), .35);background:linear-gradient(180deg, rgba(var(--planned-rgb), .07), rgba(var(--planned-rgb), .02))}.ladder-step--future .ladder-step-num{color:#a99cff;border-color:rgba(var(--planned-rgb), .5);background:rgba(var(--planned-rgb), .12)}.ladder-step-head{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.ladder-step-num{font-family:var(--font-mono);font-size:11px;font-weight:var(--font-weight-bold);color:var(--text-secondary);border:1px solid var(--glass-border-light);background:#ffffff0a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.ladder-label{border:none;border-bottom:1px dashed var(--glass-border-light);min-width:0;color:var(--text-primary);font-size:var(--font-size-sm);background:0 0;border-radius:0;outline:none;flex:1;padding:4px 2px}.ladder-label:focus{border-bottom-color:rgba(var(--planned-rgb), .6)}.ladder-label::placeholder{color:var(--text-tertiary)}.ladder-remove{width:26px;height:26px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;font-size:17px;line-height:1}.ladder-remove:active{color:var(--danger)}.ladder-step-grid{gap:var(--space-2);grid-template-columns:64px 1fr 78px;display:grid}.ladder-field{flex-direction:column;gap:3px;margin:0;display:flex}.ladder-fl{font-family:var(--font-mono);font-size:10px;font-weight:var(--font-weight-semibold);letter-spacing:.12em;color:var(--text-tertiary)}.ladder-field input{background:var(--surface-input,#00000040);border:1px solid var(--glass-border-light);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font-family:var(--font-mono);font-size:var(--font-size-sm);outline:none;min-height:36px;padding:7px 8px}.ladder-field input:focus{border-color:rgba(var(--planned-rgb), .55)}.ladder-field input:disabled{opacity:.7;background:0 0;border-style:dashed}.ladder-field--date input{letter-spacing:-.02em;font-size:12px}.ladder-week-static{min-height:36px;font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary);align-items:center;padding:0 8px;display:inline-flex}.adj-compound{font-family:var(--font-mono);font-size:11px;font-weight:var(--font-weight-semibold);letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);margin-top:var(--space-1);justify-content:center;align-items:center;gap:7px;display:flex}.adj-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.adj-current{padding:var(--space-3) 0 var(--space-4);flex-direction:column;align-items:center;gap:2px;display:flex}.adj-cur-label{font-family:var(--font-mono);font-size:10px;font-weight:var(--font-weight-semibold);letter-spacing:.16em;color:var(--text-tertiary)}.adj-cur-val{font-family:var(--font-mono);font-size:34px;font-weight:var(--font-weight-bold);color:var(--text-primary);line-height:1.1}.adj-cur-val small{font-size:14px;font-weight:var(--font-weight-medium);color:var(--text-secondary)}.adj-note{font-size:var(--font-size-xs);color:var(--text-tertiary);line-height:var(--line-height-relaxed);margin-top:var(--space-2)}.stack-card{background:linear-gradient(180deg, #ffffff0a, #ffffff02 60%), var(--surface-color);border-radius:var(--radius-lg);margin-bottom:var(--space-3);border:1px solid #ffffff17;padding:14px;position:relative;box-shadow:0 14px 30px -12px #000000a6,inset 0 1px #ffffff12}.stack-main{cursor:pointer;text-align:left;width:100%;font-family:var(--font-family);color:var(--text-primary);background:0 0;border:none;align-items:center;gap:13px;padding:0 30px 0 0;display:flex}.stack-card>.stack-more-btn{width:44px;height:44px;color:var(--text-secondary);position:absolute;top:4px;right:4px}.stack-info{flex:1;min-width:0}.stack-name-row{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.stack-name-row h3{font-size:var(--font-size-md);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.stack-proto{font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:4px}.stack-proto .mono{color:var(--text-primary);font-weight:var(--font-weight-semibold)}.stack-vline{font-family:var(--font-mono);color:var(--text-tertiary);margin-top:3px;font-size:10.5px}.stack-chip{font-family:var(--font-mono);font-size:10px;font-weight:var(--font-weight-bold);letter-spacing:.1em;color:var(--text-tertiary);border:1px solid var(--glass-border-light);border-radius:var(--radius-full);white-space:nowrap;padding:1.5px 7px}.stack-chip--danger{color:var(--danger);border-color:rgba(var(--danger-rgb), .45);background:rgba(var(--danger-rgb), .08)}.vial-gauge.vial-gauge--empty{opacity:.4;filter:none}.stack-cycle{align-items:center;gap:10px;margin-top:12px;display:flex}.stack-cycle .gauge{flex:1}.stack-cycle .gauge-fill{background:linear-gradient(90deg, color-mix(in srgb, var(--vial-color) 70%, #fff 12%), var(--vial-color));box-shadow:none}.stack-cycle--off .gauge-fill{background:#ffffff38}.stack-cycle-label{font-family:var(--font-mono);color:var(--text-tertiary);white-space:nowrap;font-size:10px}.stack-ladder{margin-top:12px}.stack-cta{border-radius:var(--radius-md);width:100%;min-height:44px;font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);letter-spacing:.015em;cursor:pointer;transition:transform var(--duration-fast) var(--ease-smooth);justify-content:center;align-items:center;gap:7px;margin-top:12px;display:flex}.stack-cta:active{transform:scale(.97)}.stack-cta--primary{background:linear-gradient(180deg, #ffffff40, #fff0 45%), var(--primary-gradient);color:var(--text-on-primary);box-shadow:0 4px 24px rgba(var(--primary-rgb), .35), 0 2px 6px #00000059, inset 0 1px 0 #fff6;border:none}.stack-cta--ghost{background:rgba(var(--primary-rgb), .08);color:var(--primary);border:1px solid rgba(var(--primary-rgb), .35);box-shadow:none}.menu-sheet.cd-sheet{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;max-height:88vh;overflow-y:auto}.cd-head{padding:0 var(--space-3) var(--space-3);align-items:center;gap:9px;display:flex}.cd-head h3{font-size:var(--font-size-lg);letter-spacing:-.01em;margin:0}.cd-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.cd-block{border:1px solid var(--glass-border-light);border-radius:var(--radius-md);padding:var(--space-3);margin:0 var(--space-1) var(--space-3);background:#ffffff05}.cd-block-title{font-family:var(--font-mono);font-size:10px;font-weight:var(--font-weight-semibold);letter-spacing:.14em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:var(--space-3);align-items:center;gap:6px;display:flex}.cd-block-title .icn{color:var(--vial-color,var(--primary));opacity:.85}.cd-count{font-family:var(--font-mono);color:var(--text-secondary);border:1px solid var(--glass-border-light);border-radius:var(--radius-full);padding:0 7px;font-size:10px}.cd-empty{font-size:var(--font-size-sm);color:var(--text-tertiary);margin:0 0 var(--space-1)}.cd-vial{align-items:center;gap:var(--space-4);display:flex}.cd-stats{flex:1;grid-template-columns:repeat(2,1fr);gap:10px 12px;display:grid}.cd-stat{flex-direction:column;gap:1px;min-width:0;display:flex}.cd-stat-val{font-family:var(--font-mono);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary);white-space:nowrap}.cd-stat-val--danger{color:var(--danger)}.cd-stat-lbl{color:var(--text-tertiary);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-family:var(--font-mono)}.cd-act-row{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.cd-act{border-radius:var(--radius-md);border:1px solid var(--glass-border-light);min-height:36px;color:var(--text-secondary);font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--duration-fast) var(--ease-smooth);background:#ffffff09;align-items:center;gap:6px;padding:8px 13px;display:inline-flex}.cd-act:active{background:var(--surface-hover)}.cd-act:disabled{opacity:.4;cursor:default}.cd-act .icn{color:var(--primary);opacity:.9}.cd-act--danger{color:var(--danger);border-color:rgba(var(--danger-rgb), .35)}.cd-act--danger .icn{color:var(--danger)}.cd-act--sm{min-height:32px;padding:6px 10px}.cd-proto-line{font-size:var(--font-size-sm);color:var(--text-secondary)}.cd-proto-dose{color:var(--text-primary);font-weight:var(--font-weight-semibold)}.cd-proto-start{font-size:var(--font-size-xs);color:var(--text-tertiary);margin-top:3px;display:block}.cd-stock-row{align-items:center;gap:var(--space-2);border-bottom:1px solid var(--glass-border);padding:9px 0;display:flex}.cd-stock-row:last-of-type{border-bottom:none}.cd-stock-info{min-width:0;font-size:var(--font-size-sm);color:var(--text-primary);flex:1}.cd-stock-meta{font-size:var(--font-size-xs);color:var(--text-tertiary)}.cd-stock-qty{color:var(--text-secondary);font-size:var(--font-size-sm)}.icon-mini{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-mini:active{background:var(--surface-hover);color:var(--text-secondary)}.cd-notes-input{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-sm);resize:none;min-height:58px;padding:10px 12px}.cd-notes-input:focus{border-color:rgba(var(--primary-rgb), .55);outline:none}.cd-hist-row{align-items:flex-start;gap:var(--space-3);border-bottom:1px solid var(--glass-border);padding:9px 0;display:flex}.cd-hist-row:last-child{border-bottom:none}.cd-hist-dot{background:var(--vial-color,var(--primary));width:7px;height:7px;box-shadow:0 0 6px color-mix(in srgb, var(--vial-color,var(--primary)) 55%, transparent);border-radius:50%;flex-shrink:0;margin-top:5px}.cd-hist-body{flex:1;min-width:0}.cd-hist-date{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-tertiary);text-transform:uppercase;font-size:10px}.cd-hist-type{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-top:1px}.cd-hist-val{font-family:var(--font-mono);color:var(--text-secondary);margin-top:2px;font-size:11px}.cd-manage{margin:var(--space-2) var(--space-1) 0}.inv-group{background:linear-gradient(180deg, #ffffff0a, #ffffff02 60%), var(--surface-color);border-radius:var(--radius-lg);margin-bottom:var(--space-3);border:1px solid #ffffff17;padding:13px 14px;box-shadow:0 14px 30px -12px #000000a6,inset 0 1px #ffffff12}.inv-group-head{border-bottom:1px solid var(--glass-border);align-items:center;gap:9px;padding-bottom:9px;display:flex}.inv-group-head h3{font-size:var(--font-size-md);white-space:nowrap;text-overflow:ellipsis;flex:1;margin:0;overflow:hidden}.inv-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.inv-total{color:var(--text-tertiary);font-size:10.5px}.inv-row{align-items:center;gap:var(--space-2);padding:10px 0 2px;display:flex}.inv-row+.inv-row{border-top:1px solid var(--glass-border);margin-top:8px}.inv-row-info{flex:1;min-width:0}.inv-mg{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.inv-meta{font-size:var(--font-size-xs);color:var(--text-tertiary)}.inv-qty{font-size:var(--font-size-sm);color:var(--text-secondary)}.inv-row-info h4{font-size:var(--font-size-sm);margin:0}.inv-supply-row{align-items:center;gap:var(--space-2);background:linear-gradient(180deg, #ffffff08, #ffffff01 60%), var(--surface-color);border-radius:var(--radius-lg);margin-bottom:var(--space-2);border:1px solid #ffffff12;padding:11px 12px;display:flex;box-shadow:0 10px 22px -12px #0000008c,inset 0 1px #ffffff0d}.stepper{border:1px solid var(--glass-border-light);border-radius:var(--radius-full);background:#00000038;flex-shrink:0;align-items:center;gap:2px;padding:2px;display:flex}.stepper-btn{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;transition:background var(--duration-fast) var(--ease-smooth);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.stepper-btn:active{background:var(--surface-hover);color:var(--text-primary)}.stepper-val{text-align:center;min-width:34px;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.stack-fc{color:var(--text-tertiary);white-space:nowrap}.stack-fc--low{color:var(--secondary)}.stack-fc--critical{color:var(--danger)}.inv-runout{font-family:var(--font-mono);color:var(--text-tertiary);white-space:nowrap;flex-shrink:0;font-size:10px}.inv-runout:after{content:" ·";color:var(--text-tertiary)}.inv-runout--low{color:var(--secondary)}.inv-runout--critical{color:var(--danger)}.stepper-val--low{color:var(--secondary)}.stepper-val--critical{color:var(--danger)}.fc-row{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:5px 0;display:flex}.fc-row+.fc-row{border-top:1px solid var(--glass-border)}.fc-k{font-size:var(--font-size-xs);color:var(--text-secondary);white-space:nowrap}.fc-v{color:var(--text-primary);text-align:right;font-size:11.5px}.fc-v--low{color:var(--secondary)}.fc-v--critical{color:var(--danger)}.fc-phase-note{font-size:var(--font-size-xs);color:var(--planned,#8b7cf6);align-items:center;gap:5px;margin-top:7px;display:flex}.fc-phase-note .mono{font-weight:var(--font-weight-semibold)}.v2-alert--link{cursor:pointer}.v2-alert--link:active{filter:brightness(1.12)}.ag-day{margin-bottom:var(--space-4)}.ag-day--rest{margin-bottom:var(--space-3)}.ag-head{margin-bottom:var(--space-2);align-items:baseline;gap:6px;padding:0 2px;display:flex}.ag-head-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--text-primary);letter-spacing:-.01em}.ag-head-date{font-size:var(--font-size-xs);color:var(--text-secondary)}.ag-rest-note{font-size:var(--font-size-xs);color:var(--text-tertiary);opacity:.7;margin-left:auto}.ag-none{font-size:var(--font-size-xs);color:var(--text-tertiary);padding:2px 2px 0}.ag-row{--row-color:var(--primary);align-items:center;gap:var(--space-3);background:linear-gradient(180deg, #ffffff08, #ffffff02 60%), var(--surface-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-family:var(--font-family);text-align:left;border:1px solid #ffffff12;margin-bottom:7px;padding:11px 12px 11px 0;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 22px -12px #0000008c,inset 0 1px #ffffff0d}button.ag-row{cursor:pointer;transition:transform var(--duration-fast) var(--ease-smooth)}button.ag-row:active{transform:scale(.985)}.ag-rail{background:linear-gradient(180deg, var(--row-color), color-mix(in srgb, var(--row-color) 45%, transparent));border-radius:0 3px 3px 0;flex-shrink:0;align-self:stretch;width:3.5px}.ag-name{min-width:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.ag-dose{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);white-space:nowrap}.ag-time{color:var(--text-tertiary);letter-spacing:.08em;flex-shrink:0;width:22px;font-size:10px}.ag-status{font-size:var(--font-size-xs);color:var(--text-tertiary);white-space:nowrap;flex-shrink:0;align-items:center;gap:4px;display:inline-flex}.ag-status--taken{color:var(--success)}.ag-status--due{color:var(--primary);font-weight:var(--font-weight-semibold)}.ag-status--missed{color:var(--danger)}.ag-row--taken{opacity:.65}.ag-row--taken .ag-rail{opacity:.4}.ag-marker{border:1px solid rgba(var(--planned-rgb), .32);border-radius:var(--radius-md);background:linear-gradient(180deg, rgba(var(--planned-rgb), .09), rgba(var(--planned-rgb), .02));color:#a99cff;width:100%;font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-align:left;cursor:pointer;align-items:center;gap:8px;margin-bottom:7px;padding:8px 11px;display:flex}.ag-marker .icn{flex-shrink:0}.ag-marker .mono{font-weight:var(--font-weight-semibold)}.ag-marker--low{border-color:rgba(var(--secondary-rgb), .35);background:linear-gradient(180deg, rgba(var(--secondary-rgb), .09), rgba(var(--secondary-rgb), .02));color:var(--secondary)}.ag-marker--critical{border-color:rgba(var(--danger-rgb), .35);background:linear-gradient(180deg, rgba(var(--danger-rgb), .09), rgba(var(--danger-rgb), .02));color:var(--danger)}.cyc-row{--vc:var(--vial-color,var(--primary));background:linear-gradient(180deg, #ffffff0a, #ffffff02 60%), var(--surface-color);border-radius:var(--radius-lg);width:100%;margin-bottom:var(--space-3);cursor:pointer;text-align:left;font-family:var(--font-family);color:var(--text-primary);transition:transform var(--duration-fast) var(--ease-smooth);border:1px solid #ffffff17;padding:13px 14px 11px;display:block;box-shadow:0 14px 30px -12px #000000a6,inset 0 1px #ffffff12}.cyc-row:active{transform:scale(.985)}.cyc-top{align-items:center;gap:8px;margin-bottom:14px;display:flex}.cyc-dot{background:var(--vc);width:9px;height:9px;box-shadow:0 0 7px color-mix(in srgb, var(--vc) 55%, transparent);border-radius:50%;flex-shrink:0}.cyc-row--off .cyc-dot{border:2px solid var(--vc);box-shadow:none;background:0 0}.cyc-name{min-width:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.cyc-label{color:var(--text-tertiary);white-space:nowrap;font-size:10px}.cyc-runout--low{color:var(--secondary)}.cyc-runout--critical{color:var(--danger)}.cyc-runout--neutral{color:var(--text-tertiary)}.cyc-bar{border-radius:var(--radius-full);background:#ffffff0f;height:8px;margin-top:2px;position:relative;box-shadow:inset 0 1px 2px #0006}.cyc-fill{border-radius:var(--radius-full);background:linear-gradient(90deg, color-mix(in srgb, var(--vc) 70%, #fff 10%), var(--vc));position:absolute;inset:0 auto 0 0}.cyc-bar--off .cyc-fill{background:repeating-linear-gradient(-55deg,#ffffff38 0 3px,#ffffff0d 3px 7px)}.cyc-tick{background:#ffffff73;border-radius:1px;width:2px;position:absolute;top:-3px;bottom:-3px;transform:translate(-1px)}.cyc-tick--planned{background:var(--planned);box-shadow:0 0 5px rgba(var(--planned-rgb), .7)}.cyc-tick--low{background:var(--secondary);box-shadow:0 0 5px rgba(var(--secondary-rgb), .6)}.cyc-tick--critical{background:var(--danger);box-shadow:0 0 5px rgba(var(--danger-rgb), .6)}.cyc-tick--neutral{background:#ffffff4d}.cyc-restart{background:var(--planned);width:9px;height:9px;box-shadow:0 0 8px rgba(var(--planned-rgb), .7);border-radius:2px;position:absolute;top:50%;transform:translate(-50%,-50%)rotate(45deg)}.cyc-restart-lbl{color:#a99cff}.cyc-today{border-left:1px dashed #ffffff59;width:0;position:absolute;top:-6px;bottom:-5px}.cyc-today-tag{font-family:var(--font-mono);letter-spacing:1.5px;color:#ffffff6b;font-size:8.5px;position:absolute;top:-12px;left:0;transform:translate(-50%)}.cyc-meta{justify-content:space-between;gap:var(--space-2);font-family:var(--font-mono);color:var(--text-tertiary);margin-top:9px;font-size:10px;display:flex}.pl-monthnav{gap:var(--space-2);display:flex}.pl-monthnav .icon-btn{width:32px;height:32px}.pl-month-card{padding:var(--space-4) var(--space-3) var(--space-3)}.pl-month-label{text-align:center;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);letter-spacing:-.01em;margin-bottom:var(--space-3)}.pl-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.pl-day{aspect-ratio:1;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast) var(--ease-smooth);background:0 0;border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:0;display:flex;position:relative}.pl-day:not(.pl-day--pad):active{background:var(--surface-hover)}.pl-day--pad{cursor:default}.pl-num{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1}.pl-day--off .pl-num{color:var(--text-tertiary);opacity:.55}.pl-day--future .pl-num{color:var(--text-secondary)}.pl-day--today{border-color:rgba(var(--primary-rgb), .5)}.pl-day--today .pl-num{color:var(--primary);font-weight:var(--font-weight-bold)}.pl-dot{background:0 0;border-radius:50%;flex-shrink:0;width:5px;height:5px}.pl-day--taken .pl-dot{background:var(--success)}.pl-day--partial .pl-dot{background:var(--secondary)}.pl-day--missed .pl-dot{border:1.4px solid var(--danger)}.pl-day--scheduled .pl-dot{border:1.4px solid var(--text-tertiary)}.pl-day--future .pl-dot{border:1.2px dotted var(--text-tertiary);opacity:.7}.pl-tick{background:var(--planned);width:3px;height:8px;box-shadow:0 0 5px rgba(var(--planned-rgb), .7);border-radius:2px;flex-shrink:0}.pl-day .pl-tick{position:absolute;bottom:5px;left:calc(50% + 7px)}.pl-legend{margin-top:var(--space-3);font-family:var(--font-mono);letter-spacing:.05em;color:var(--text-tertiary);flex-wrap:wrap;justify-content:center;gap:5px 12px;font-size:10px;display:flex}.pl-legend span{align-items:center;gap:5px;display:inline-flex}.pl-lg{border-radius:50%;width:6px;height:6px;display:inline-block}.pl-lg--taken{background:var(--success)}.pl-lg--partial{background:var(--secondary)}.pl-lg--missed{border:1.4px solid var(--danger)}.pl-lg--future{border:1.2px dotted var(--text-tertiary)}.pl-lg--planned{background:var(--planned);border-radius:2px;width:3px;height:8px}.pld-head{padding:0 var(--space-3) var(--space-3)}.pld-head h3{font-size:var(--font-size-lg);letter-spacing:-.01em;margin:0}.pl-partner-row{font-size:var(--font-size-xs);color:var(--text-tertiary);align-items:center;gap:7px;padding:6px 4px;display:flex}.pl-partner-row .icn{opacity:.7;flex-shrink:0}.seg{margin-top:var(--space-3);border-radius:var(--radius-md);background:#00000047;border:1px solid #ffffff0f;gap:3px;padding:3px;display:flex;box-shadow:inset 0 1px 3px #00000059}.seg-btn{border-radius:calc(var(--radius-md) - 3px);color:var(--text-tertiary);font-family:var(--font-mono);font-size:11px;font-weight:var(--font-weight-semibold);letter-spacing:.09em;text-transform:uppercase;cursor:pointer;transition:color var(--duration-fast), background var(--duration-fast);background:0 0;border:1px solid #0000;flex:1;padding:8px 4px}.seg-btn:active{color:var(--text-secondary)}.seg-btn--active{background:linear-gradient(180deg, #ffffff12, #ffffff05 70%), var(--surface-raised);color:var(--text-primary);border-color:#ffffff1a;box-shadow:0 3px 10px -4px #0009,inset 0 1px #ffffff14}.ih-event{--row-color:var(--primary);border-radius:var(--radius-md);width:100%;color:var(--text-secondary);font-family:var(--font-family);font-size:var(--font-size-xs);text-align:left;cursor:pointer;background:#ffffff05;border:1px dashed #ffffff1f;align-items:center;gap:8px;margin-bottom:7px;padding:8px 10px;display:flex}.ih-event:active{background:var(--surface-hover)}.ih-event .icn{color:var(--row-color);flex-shrink:0}.ih-event-main{flex:1;min-width:0}.ih-event-main strong{color:var(--text-primary);font-weight:var(--font-weight-semibold)}.ih-event-val{color:var(--text-secondary);white-space:nowrap}.ih-dose .ag-status--taken .icn{opacity:.8}.ins-chart-card{padding:var(--space-4) var(--space-3) var(--space-3);margin-bottom:var(--space-4)}.ins-chart{height:190px;position:relative}.ins-chart--bars{height:170px}.ins-chart-head{padding:0 4px var(--space-3);align-items:baseline;gap:10px;display:flex}.ins-current{font-size:26px;font-weight:var(--font-weight-semibold);color:var(--text-primary);letter-spacing:-.02em}.ins-current small{font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--text-secondary)}.ins-delta{font-size:var(--font-size-xs);color:var(--info);background:rgba(var(--info-rgb), .1);border:1px solid rgba(var(--info-rgb), .3);border-radius:var(--radius-full);padding:2px 8px}.ins-chart-sub{font-size:var(--font-size-xs);color:var(--text-tertiary);margin-left:auto}.ins-wlist{background:linear-gradient(180deg, #ffffff08, #ffffff02 60%), var(--surface-color);border-radius:var(--radius-md);padding:2px var(--space-3);margin-bottom:var(--space-4);border:1px solid #ffffff12;box-shadow:0 10px 22px -12px #0000008c,inset 0 1px #ffffff0d}.ins-wrow{border-bottom:1px solid #ffffff0d;align-items:center;gap:10px;padding:9px 0;display:flex}.ins-wrow:last-child{border-bottom:none}.ins-wmain{flex:1;align-items:baseline;gap:9px;min-width:0;display:flex}.ins-wval{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.ins-wval small{font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);color:var(--text-tertiary)}.ins-wdate{font-size:var(--font-size-xs);color:var(--text-tertiary)}.ins-wnote{max-width:38%;font-size:var(--font-size-xs);color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;font-style:italic;overflow:hidden}.ins-jcard{background:linear-gradient(180deg, #ffffff08, #ffffff02 60%), var(--surface-color);border-radius:var(--radius-md);padding:var(--space-3);border:1px solid #ffffff12;margin-bottom:8px;box-shadow:0 10px 22px -12px #0000008c,inset 0 1px #ffffff0d}.ins-jhead{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.ins-jdate{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.ins-jacts{gap:4px;display:flex}.ins-jmetrics{flex-wrap:wrap;gap:6px 14px;display:flex}.ins-jm{font-size:var(--font-size-xs);color:var(--text-secondary);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.ins-jm .mono{color:var(--text-primary)}.ins-jm i{background:var(--jm,var(--text-tertiary));width:6px;height:6px;box-shadow:0 0 5px color-mix(in srgb, var(--jm,transparent) 60%, transparent);border-radius:50%}.ins-jcrash{font-size:var(--font-size-xs);color:var(--secondary);align-items:center;gap:5px;margin-top:8px;display:flex}.ins-jnotes{font-size:var(--font-size-sm);color:var(--text-secondary);margin:8px 0 0}.ins-jlist,.ins-clist{margin-bottom:var(--space-4)}.ins-crow,.ins-prow{background:linear-gradient(180deg, #ffffff08, #ffffff02 60%), var(--surface-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-family:var(--font-family);text-align:left;border:1px solid #ffffff12;grid-template-columns:14px 1fr auto;align-items:center;column-gap:9px;margin-bottom:7px;padding:11px 12px;display:grid;box-shadow:0 10px 22px -12px #0000008c,inset 0 1px #ffffff0d}button.ins-crow,button.ins-prow{cursor:pointer;transition:transform var(--duration-fast) var(--ease-smooth)}button.ins-crow:active,button.ins-prow:active{transform:scale(.985)}.ins-crow .cd-dot,.ins-prow .cd-dot{justify-self:center;width:8px;height:8px}.ins-crow-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ins-crow-total{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);white-space:nowrap}.ins-crow-sub{font-size:var(--font-size-xs);color:var(--text-tertiary);grid-column:2/4;margin-top:3px}.ins-crow-sub .mono{color:var(--text-secondary)}.ins-prow-na{color:var(--text-tertiary);font-size:var(--font-size-md)}.ins-proj-note{font-size:var(--font-size-xs);color:var(--text-tertiary);margin:-4px 2px 10px}.ins-olist{margin-bottom:var(--space-4)}.ins-order,.ins-sale{align-items:center;gap:var(--space-3);background:linear-gradient(180deg, #ffffff08, #ffffff02 60%), var(--surface-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-family:var(--font-family);text-align:left;cursor:pointer;transition:transform var(--duration-fast) var(--ease-smooth);border:1px solid #ffffff12;margin-bottom:7px;padding:12px;display:flex;box-shadow:0 10px 22px -12px #0000008c,inset 0 1px #ffffff0d}.ins-order:active,.ins-sale:active{transform:scale(.985)}.ins-order-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ins-order-vendor{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.ins-order-meta{font-size:var(--font-size-xs);color:var(--text-tertiary)}.ins-order-meta .mono{color:var(--text-secondary)}.ins-order-note{font-size:var(--font-size-xs);color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;font-style:italic;overflow:hidden}.ins-order-cost{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}:focus-visible{outline:2px solid rgba(var(--primary-rgb), .9);outline-offset:2px}.btn-log:focus-visible,.stack-cta--primary:focus-visible,.modal-footer .btn-primary:focus-visible,.btn.btn-primary:focus-visible{outline-color:#fffffff2}.bottom-nav .nav-item:focus-visible,.bottom-nav .nav-menu-btn:focus-visible{outline-offset:-3px;border-radius:var(--radius-md)}.btn-dots:focus-visible{outline-offset:-8px;border-radius:var(--radius-md)}.seg-btn:focus-visible{outline-offset:-2px}.menu-sheet:focus-visible,.modal-content:focus-visible{outline:none}.icon-btn,.icon-mini,.btn-dots,.stepper-btn,.ladder-remove,.jr-hr-step,.v2-alert-dismiss,.btn-close,.switch,.seg-btn,.rate5 .rate5-seg{position:relative}.icon-btn:after,.icon-mini:after,.btn-dots:after,.stepper-btn:after,.ladder-remove:after,.jr-hr-step:after,.v2-alert-dismiss:after,.btn-close:after,.switch:after{content:"";width:max(100%,44px);height:max(100%,44px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.seg-btn:after{content:"";width:100%;height:44px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.rate5 .rate5-seg:after{content:"";width:34px;height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cdc-row{align-items:center;gap:var(--space-3);border-bottom:1px solid var(--glass-border);padding:9px 0;display:flex}.cdc-row:last-child{border-bottom:none}.cdc-main{flex:1;min-width:0}.cdc-range{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:var(--font-weight-medium)}.cdc-row--ongoing .cdc-range{color:var(--vial-color,var(--primary))}.cdc-sub{font-size:var(--font-size-xs);color:var(--text-tertiary);margin-top:2px}.cdc-sub .mono{color:var(--text-secondary)}.cdc-days{font-size:var(--font-size-sm);color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.cdc-days .mono{font-weight:var(--font-weight-semibold);color:var(--text-primary)}.ins-crow-total small{font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);color:var(--text-tertiary)}.cd-fold-head{cursor:pointer;width:100%;min-height:36px;color:inherit;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:0;font-family:inherit;display:flex}.cd-fold-head .cd-block-title{margin-bottom:0}.cd-fold-chev{color:var(--text-tertiary);transition:transform var(--duration-fast) var(--ease-smooth);display:inline-flex}.cd-fold-head[aria-expanded=true] .cd-fold-chev{transform:rotate(180deg)}.cd-fold-body{margin-top:var(--space-2)}.sect-fold-head{cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;min-height:36px;padding:0;display:flex}.sect-fold-head .cd-fold-chev{color:var(--text-tertiary);transition:transform var(--duration-fast) var(--ease-smooth);display:inline-flex}.sect-fold-head[aria-expanded=true] .cd-fold-chev{transform:rotate(180deg)}.ins-cyc-group{background:linear-gradient(180deg, #ffffff08, #ffffff02 60%), var(--surface-color);border-radius:var(--radius-md);border:1px solid #ffffff12;margin-bottom:7px;box-shadow:0 10px 22px -12px #0000008c,inset 0 1px #ffffff0d}.ins-cyc-head{cursor:pointer;width:100%;min-height:48px;color:var(--text-primary);font-family:var(--font-family);text-align:left;background:0 0;border:none;align-items:center;gap:9px;padding:11px 12px;display:flex}.ins-cyc-head .cd-dot{width:8px;height:8px}.ins-cyc-name{min-width:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.ins-cyc-meta{font-size:var(--font-size-xs);color:var(--text-tertiary);white-space:nowrap}.ins-cyc-meta .mono{color:var(--text-secondary)}.ins-cyc-chev{color:var(--text-tertiary);transition:transform var(--duration-fast) var(--ease-smooth);flex-shrink:0;display:inline-flex}.ins-cyc-head[aria-expanded=true] .ins-cyc-chev{transform:rotate(180deg)}.ins-cyc-body{padding:0 12px 6px}.ins-cyc-body .cdc-row:first-child{border-top:1px solid var(--glass-border)}.ins-cyc-link{cursor:pointer;color:var(--text-secondary);font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);background:0 0;border:none;align-items:center;gap:5px;padding:9px 0 6px;display:inline-flex}.ins-cyc-link .icn{color:var(--primary);opacity:.9}.calc-sub{color:var(--text-tertiary);font-size:var(--font-size-sm);margin:2px 0 0}.seg--sticky{top:calc(var(--safe-area-top,0px) + 6px);z-index:6;background:linear-gradient(180deg, #ffffff09, #ffffff02 60%), var(--bg-secondary);position:sticky;box-shadow:inset 0 1px 3px #00000059,0 14px 26px -12px #000000eb}.ins-jmetrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px;display:grid}.bottom-nav .nav-item .label,.bottom-nav .nav-menu-btn .label{font-weight:var(--font-weight-normal)}.bottom-nav .nav-item.active .label,.bottom-nav .nav-menu-btn.active .label{font-weight:var(--font-weight-semibold)}.login-screen .w-full{width:100%;max-width:320px}.login-screen .auth-form{text-align:left;width:100%;max-width:320px}.login-screen .auth-form .form-group label{font-family:var(--font-mono);font-size:10.5px;font-weight:var(--font-weight-semibold);letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary)}.auth-optional{color:var(--text-tertiary);opacity:.75;text-transform:none;letter-spacing:.02em}.auth-divider{width:100%;max-width:320px;margin:var(--space-5) 0;color:var(--text-tertiary);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:10px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--glass-border);flex:1;height:1px}.auth-links{margin-top:var(--space-4);color:var(--text-tertiary);justify-content:center;align-items:center;gap:10px;display:flex}.auth-link{cursor:pointer;color:var(--primary);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);background:0 0;border:none;padding:4px}.auth-error{color:var(--danger);font-size:var(--font-size-sm);margin-top:var(--space-3);text-align:center}.auth-error[hidden]{display:none}.auth-note{color:var(--text-tertiary);font-size:var(--font-size-xs);margin-top:var(--space-3);text-align:center;line-height:1.5}.auth-note--ok{color:var(--success)}.auth-note[hidden]{display:none}.auth-gate{gap:var(--space-3);text-align:center;flex-direction:column;align-items:center;width:100%;max-width:320px;display:flex}.auth-gate .btn{width:100%}.auth-gate-icon{margin-bottom:2px}.auth-gate-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.auth-gate-text{color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.6}.auth-agree-points{text-align:left;margin:var(--space-2) 0;flex-direction:column;gap:10px;display:flex}.auth-agree-points p{color:var(--text-secondary);font-size:var(--font-size-sm);align-items:flex-start;gap:9px;margin:0;line-height:1.5;display:flex}.auth-agree-points .icn{color:var(--primary);flex-shrink:0;margin-top:2px}.legal-overlay{z-index:60;background:var(--bg-primary);padding:calc(var(--safe-area-top,0px) + 14px) var(--space-5) var(--space-10);position:fixed;inset:0;overflow-y:auto}.legal-overlay-head{align-items:center;gap:12px;display:flex}.legal-overlay-head h2{font-size:var(--font-size-xl);margin:0}.legal-overlay-body{margin-top:var(--space-4)}.about-link{color:var(--primary);font-weight:var(--font-weight-medium);text-decoration:none}.color-swatch--custom{background:conic-gradient(#ff6b6b,#ffe66d,#34d399,#38bdf8,#8b5cf6,#ec4899,#ff6b6b)}.custom-color-row{margin-top:var(--space-3);align-items:center;gap:10px;display:flex}.custom-color-row[hidden]{display:none}.custom-color-row input[type=color]{border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:var(--input-bg);cursor:pointer;width:46px;height:34px;padding:0}.custom-color-hex{font-size:var(--font-size-sm);color:var(--text-primary)}.custom-color-warn{color:var(--secondary);font-size:10.5px}.custom-color-warn[hidden]{display:none}.lib-band{font-size:var(--font-size-xs);line-height:var(--line-height-relaxed);color:var(--text-tertiary);border:1px solid var(--glass-border);border-left:2px solid rgba(var(--secondary-rgb), .45);border-radius:var(--radius-sm);padding:var(--space-3);margin:var(--space-3) 0;background:#ffffff04}.lib-band--mid{margin:var(--space-6) 0 var(--space-2);color:var(--text-secondary)}.lib-search{margin-top:var(--space-4);position:relative}.lib-search-input{min-height:44px}.lib-search-input::-webkit-search-cancel-button{filter:invert(.6)}.lib-chips{margin:var(--space-3) 0 var(--space-2);flex-wrap:wrap;gap:6px;display:flex}.lib-chip{border-radius:var(--radius-full);border:1px solid var(--glass-border-light);min-height:34px;color:var(--text-secondary);font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--duration-fast) var(--ease-smooth);background:#ffffff08;padding:7px 12px}.lib-chip--on{background:var(--surface-raised);border-color:var(--glass-border-light);color:var(--text-primary);box-shadow:inset 0 1px #ffffff14}.lib-chip:active{transform:scale(.97)}.lib-results{margin-top:var(--space-2)}.lib-card{color:inherit;background:linear-gradient(180deg, #ffffff09, #ffffff02 60%), var(--surface-color);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-3);transition:border-color var(--duration-fast) var(--ease-smooth);text-decoration:none;display:block;box-shadow:0 10px 22px -14px #0000008c,inset 0 1px #ffffff0d}.lib-card:active{border-color:var(--glass-border-light)}.lib-card-top{align-items:center;gap:var(--space-2);display:flex}.lib-card-name{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.lib-card-meta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.lib-cat{letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);font-size:10px}.lib-card-line{margin-top:var(--space-2);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);color:var(--text-secondary)}.lib-tier{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);border:1px solid var(--glass-border-light);border-radius:var(--radius-full);white-space:nowrap;padding:3px 9px;font-size:10px}.lib-draft{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-tertiary);border:1px dashed var(--glass-border-light);border-radius:var(--radius-full);padding:2px 8px;font-size:10px}.lib-aliases{font-size:var(--font-size-xs);color:var(--text-tertiary);margin-top:2px}.lib-headchips{margin-top:var(--space-3);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.lib-oneliner{margin-top:var(--space-3);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--text-primary)}.lib-tiernote{margin-top:var(--space-2);font-size:var(--font-size-xs);color:var(--text-tertiary)}.lib-status{font-size:var(--font-size-xs);color:var(--text-tertiary);font-weight:var(--font-weight-medium);margin-top:3px}.lib-reg{border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--surface-raised);padding:var(--space-3) var(--space-4);margin-top:var(--space-3);align-items:flex-start;gap:9px;display:flex}.lib-reg .lib-reg-icn{color:var(--info);flex-shrink:0;margin-top:2px;display:inline-flex}.lib-reg p{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);color:var(--text-secondary)}.lib-glance{gap:var(--space-3);display:grid}.lib-gcard{background:linear-gradient(180deg, #ffffff08, #ffffff02 60%), var(--surface-color);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:0 10px 22px -14px #0000008c,inset 0 1px #ffffff0d}.lib-gcard-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--space-2)}.lib-bullets{margin:0;padding:0;list-style:none}.lib-bullets li{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);color:var(--text-secondary);margin-bottom:9px;padding-left:15px;position:relative}.lib-bullets li:last-child{margin-bottom:0}.lib-bullets li:before{content:"";border:1px solid var(--text-tertiary);border-radius:50%;width:5px;height:5px;position:absolute;top:8px;left:0}.lib-bullets .mono{color:var(--text-primary);font-weight:var(--font-weight-semibold)}.lib-unknowns{border:1px solid var(--glass-border-light);border-radius:var(--radius-md);padding:var(--space-4);background:#ffffff05}.lib-folds{gap:7px;display:grid}.lib-fold{background:linear-gradient(180deg, #ffffff08, #ffffff02 60%), var(--surface-color);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:0 10px 22px -14px #0000008c,inset 0 1px #ffffff0d}.lib-fold-head{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;min-height:52px;padding:12px var(--space-4);cursor:pointer;color:var(--text-primary);font-family:var(--font-family);text-align:left;background:0 0;border:none;display:flex}.lib-fold-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.lib-fold-head .cd-fold-chev{color:var(--text-tertiary);flex-shrink:0}.lib-fold-head[aria-expanded=true] .cd-fold-chev{transform:rotate(180deg)}.lib-fold-body{padding:0 var(--space-4) var(--space-4)}.lib-fold-body p{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);color:var(--text-secondary);margin-bottom:var(--space-3)}.lib-fold-body p:last-child{margin-bottom:0}.lib-resources,.lib-studies{gap:7px;display:grid}.lib-res{min-height:52px;padding:11px var(--space-4);border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--surface-color);align-items:center;gap:11px;text-decoration:none;display:flex}.lib-res .lib-res-icn{color:var(--primary);opacity:.85;flex-shrink:0;display:inline-flex}.lib-res-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.lib-res-title{font-size:var(--font-size-sm);color:var(--text-primary)}.lib-res-src{font-size:var(--font-size-xs);color:var(--text-tertiary)}.lib-res-chev{color:var(--text-tertiary);flex-shrink:0;display:inline-flex}.lib-study{padding:12px var(--space-4);border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--surface-color);text-decoration:none;display:block}.lib-study-title{font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--text-primary);display:block}.lib-study-meta{font-size:var(--font-size-xs);color:var(--text-tertiary);margin-top:4px;display:block}.lib-study-meta .mono{color:var(--text-secondary)}.lib-study-take{font-size:var(--font-size-xs);line-height:var(--line-height-relaxed);color:var(--text-secondary);margin-top:6px;display:block}.lib-none{font-size:var(--font-size-sm);color:var(--text-tertiary);border:1px dashed var(--glass-border-light);border-radius:var(--radius-md);padding:var(--space-4)}.lib-stamp{margin-top:var(--space-6);text-align:center;font-size:var(--font-size-xs);color:var(--text-tertiary)}.lib-stamp+.disclaimer-footer{padding-top:var(--space-3)}@media (prefers-reduced-motion:reduce){.lib-chip,.lib-card{transition:none}.lib-chip:active,.lib-card:active{transform:none}.lib-fold-head .cd-fold-chev{transition:none}}.lib-author{border:1px solid var(--glass-border-light);border-left:2px solid var(--glass-border-light);border-radius:var(--radius-md);background:var(--surface-raised);padding:var(--space-4)}.lib-author p{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);color:var(--text-secondary);margin-bottom:var(--space-3)}.lib-author p:last-child{margin-bottom:0}.lib-author .lib-author-foot{font-size:var(--font-size-xs);color:var(--text-tertiary);padding-top:var(--space-3);border-top:1px solid var(--glass-border)}.lib-page{--lib-c:var(--primary)}.lib-backrow{align-items:center;gap:var(--space-3);padding:var(--space-1) 0 var(--space-3);display:flex}.lib-backlabel{font-family:var(--font-mono);font-size:var(--font-size-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--text-tertiary)}.lib-hero{border:1px solid var(--glass-border-light);border-radius:var(--radius-lg);padding:var(--space-4);background:linear-gradient(180deg, #ffffff0d, #ffffff02 62%), var(--surface-color);position:relative;overflow:hidden;box-shadow:0 14px 30px -18px #0009,inset 0 1px #ffffff12}.lib-hero:before{content:"";background:var(--lib-c);height:2px;position:absolute;inset:0 0 auto}.lib-hero:after{content:"";background:var(--lib-c);opacity:.13;filter:blur(34px);pointer-events:none;border-radius:50%;width:168px;height:168px;position:absolute;top:-58px;right:-46px}.lib-hero-top{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.lib-hero-eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--lib-c);opacity:.85;font-size:10px}.lib-hero-name{font-size:var(--font-size-2xl);text-wrap:balance;font-weight:var(--font-weight-bold);letter-spacing:-.025em;margin:3px 0 0;line-height:1.05}.lib-hero-dot{color:var(--lib-c)}.lib-hero .lib-headchips{margin-top:var(--space-3)}.lib-hero .lib-aliases{margin-top:var(--space-2)}.lib-hero-src{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);flex-shrink:0;font-size:10px}.lib-hero-src .mono{color:var(--text-secondary);font-weight:var(--font-weight-semibold)}.lib-stats{gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--glass-border);grid-template-columns:repeat(3,1fr);display:grid}.lib-stat{min-width:0}.lib-stat-l{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:4px;font-size:10px;display:block}.lib-stat-v{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);line-height:1.2;display:block}.lib-stat-v .mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.lib-stat-v--text,.lib-stat-v--long{font-size:var(--font-size-base)}.lib-stat-num{white-space:nowrap}.lib-stat-u{font-size:10px;font-weight:var(--font-weight-normal);color:var(--text-tertiary);margin-left:3px}.lib-statnote{margin-top:var(--space-2);color:var(--text-tertiary);font-size:10px;line-height:1.5}.lib-hero .lib-oneliner{margin-top:var(--space-3);font-size:var(--font-size-base)}.lib-hero .lib-tiernote{margin-top:var(--space-2)}.lib-page .v2-section .v2-section-title .icn{color:var(--lib-c);opacity:.95}.lib-page .lib-bullets--rail li:before{background:var(--lib-c);border-color:#0000;width:6px;height:6px;top:7px}.lib-lead{color:var(--lib-c);font-weight:var(--font-weight-semibold);margin-right:5px}.lib-page .lib-fold-head[aria-expanded=true] .cd-fold-chev{color:var(--lib-c)}.lib-page .lib-res .lib-res-icn{color:var(--lib-c);opacity:.9}@media (width<=340px){.lib-stats{row-gap:var(--space-3);grid-template-columns:repeat(2,1fr)}}.lib-card{--lib-c:var(--primary);position:relative;overflow:hidden}.lib-card:before{content:"";background:var(--lib-c);opacity:.85;width:2px;position:absolute;top:0;bottom:0;left:0}.lib-card .lib-card-name{padding-left:2px}.lib-tier[data-tier=approved]{color:var(--info);border-color:rgba(var(--info-rgb), .45);background:rgba(var(--info-rgb), .08)}.lib-tier[data-tier=clinical]{color:var(--primary);border-color:rgba(var(--primary-rgb), .42);background:rgba(var(--primary-rgb), .07)}.lib-tier[data-tier=preclinical]{color:var(--secondary);border-color:rgba(var(--secondary-rgb), .45);background:rgba(var(--secondary-rgb), .08)}.lib-tier[data-tier=anecdotal]{color:var(--text-tertiary);border-color:var(--glass-border-light);background:#ffffff05}.lib-related{flex-wrap:wrap;gap:8px;display:flex}.lib-relcard{--lib-c:var(--primary);border:1px solid var(--glass-border);border-left:2px solid var(--lib-c);border-radius:var(--radius-sm);background:var(--surface-color);flex-direction:column;justify-content:center;gap:2px;min-height:44px;padding:8px 14px 8px 12px;text-decoration:none;display:flex}.lib-relname{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.lib-relcat{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);font-size:9.5px}:root[data-ui=v3]{--font-family:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:var(--font-family);--primary-gradient:var(--primary);--primary-gradient-hover:var(--primary-light);--shadow-glow:none;--shadow-glow-sm:none;--success:#30d158;--success-rgb:48, 209, 88;--surface-color:#181b27;--surface-color-light:#222632;--surface-raised:#222632;--surface-hover:#2d313e;--text-tertiary:#8f99b7;--card-bg:var(--surface-color);--card-border:1px solid #ffffff0f;--card-shadow:none;--nav-bg:color-mix(in srgb, var(--bg-primary) 72%, transparent);--nav-blur:blur(20px) saturate(1.6);--nav-border:1px solid #ffffff14;--nav-shadow:none}[data-ui=v3] :is(button,input,select,textarea){font-family:inherit}[data-ui=v3] .btn-log:not(.btn-log--ghost):not(.btn-log--done):not(:disabled),[data-ui=v3] .stack-cta--primary,[data-ui=v3] .modal-footer .btn-primary,[data-ui=v3] .btn-primary{background:var(--primary);box-shadow:none}[data-ui=v3] :is(.card,.dose-row,.stack-card,.ag-row,.about-block,.inv-supply-row,.ins-wlist,.ins-jcard,.ins-crow,.ins-prow,.ins-sale,.ins-cyc-group,.lib-card,.lib-gcard,.lib-fold){background:var(--card-bg);border:var(--card-border);box-shadow:var(--card-shadow)}[data-ui=v3] .bottom-nav{background:var(--nav-bg);-webkit-backdrop-filter:var(--nav-blur);border-top:var(--nav-border);box-shadow:var(--nav-shadow)}[data-ui=v3] .v2-header .v2-eyebrow{font-size:13px;font-weight:var(--font-weight-semibold);letter-spacing:.02em;color:var(--text-secondary)}[data-ui=v3] .v2-section .v2-section-title{text-transform:none;letter-spacing:-.01em;font-size:17px;font-weight:var(--font-weight-semibold);color:var(--text-primary)}[data-ui=v3] :is(.cd-block-title,.ladder-chart-title,.das-ladder-title,.jr-section){text-transform:none;letter-spacing:-.01em;font-size:15px;font-weight:var(--font-weight-semibold);color:var(--text-primary)}[data-ui=v3] :is(.v2-section .v2-section-title,.cd-block-title) .icn{display:none}[data-ui=v3] :is(.form-group label,.modal-body .form-group label){text-transform:none;letter-spacing:0;font-size:13px;font-weight:var(--font-weight-medium);color:var(--text-secondary)}[data-ui=v3] .seg-btn{text-transform:none;letter-spacing:0;font-size:14px}[data-ui=v3] :is(.cd-stat-lbl,.cd-hist-date,.menu-sheet .sheet-context){text-transform:none;letter-spacing:0}[data-ui=v3] .today-alerts{margin-top:var(--space-2);margin-bottom:var(--space-3);border-radius:var(--radius-lg);background:var(--surface-color);border:var(--card-border);overflow:hidden}[data-ui=v3] .today-alerts:empty{display:none}[data-ui=v3] .today-alerts .v2-alert{box-shadow:none;background:0 0;border:none;border-radius:0;align-items:center;margin:0;padding:11px 14px}[data-ui=v3] .today-alerts .v2-alert+.v2-alert{border-top:1px solid #ffffff0f}[data-ui=v3] .today-alerts .v2-alert .icn{filter:none}[data-ui=v3] .today-alerts .v2-alert--warning strong{color:var(--secondary)}[data-ui=v3] .today-alerts .v2-alert--action strong{color:var(--danger)}[data-ui=v3] .ins-chart-summary{color:var(--text-secondary);margin:2px 2px 10px;font-size:13px;line-height:1.35}[data-ui=v3] .ins-chart-summary-num{font-size:15px;font-weight:var(--font-weight-semibold);color:var(--text-primary)}[data-ui=v3] .login-screen .logo{margin-bottom:var(--space-6)}[data-ui=v3] .login-screen .auth-brand{object-fit:contain;width:184px;height:184px;margin:0 auto -10px;display:block}[data-ui=v3] .login-screen .auth-brand-name{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}[data-ui=v3] .login-screen .logo p{font-size:15px;font-weight:var(--font-weight-normal);letter-spacing:0;color:var(--text-secondary)}[data-ui=v3] .login-screen .btn-google{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);color:#1f1f1f;box-shadow:none;background:#fff;gap:10px;padding:16px}[data-ui=v3] .login-screen .btn-google:focus-visible{outline-color:var(--primary)}[data-ui=v3] .login-screen .auth-divider{text-transform:none;letter-spacing:0;color:var(--text-secondary);font-size:13px}[data-ui=v3] .login-screen .form-control{background:#0f1118;border:1px solid #6f7791;font-size:16px}[data-ui=v3] .login-screen .form-control:focus{border-color:var(--primary)}[data-ui=v3] .calc3-head{position:relative}[data-ui=v3] .calc3-logo{object-fit:contain;pointer-events:none;width:96px;height:96px;position:absolute;top:14px;right:0}[data-ui=v3] .calc3-title{z-index:1;font-size:34px;font-weight:var(--font-weight-bold);letter-spacing:-.02em;margin-bottom:4px;position:relative}[data-ui=v3] .calc3-sub{z-index:1;color:var(--text-secondary);margin:0 0 16px;font-size:15px;position:relative}[data-ui=v3] .calc3-pin-wrap{z-index:30;height:0;position:sticky;top:0}[data-ui=v3] .calc3-pin{text-align:center;border-radius:var(--radius-lg);background:var(--surface-raised);font-size:15px;font-weight:var(--font-weight-semibold);color:var(--text-secondary);opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease-standard), transform var(--dur-fast) var(--ease-standard);border:1px solid #ffffff14;padding:10px 14px;position:absolute;top:8px;left:0;right:0;transform:translateY(-6px);box-shadow:0 6px 20px #00000073}[data-ui=v3] .calc3-pin--on{opacity:1;transform:none}[data-ui=v3] .calc3-pin-num{font-size:17px;font-weight:var(--font-weight-bold);color:var(--text-primary)}[data-ui=v3] .calc3-result{margin-top:var(--space-2);border-radius:24px;flex-direction:column;gap:16px;padding:22px 18px;display:flex}[data-ui=v3] .calc3-draw{text-align:center}[data-ui=v3] .calc3-draw-label{color:var(--text-secondary);margin-bottom:4px;font-size:13px}[data-ui=v3] .calc3-draw-val{justify-content:center;align-items:baseline;gap:8px;line-height:1;display:flex}[data-ui=v3] .calc3-draw-val #calc-res-units{font-size:56px;font-weight:var(--font-weight-bold);letter-spacing:-.02em;color:var(--text-primary)}[data-ui=v3] .calc3-unit{font-size:22px;font-weight:var(--font-weight-semibold);color:var(--text-secondary)}[data-ui=v3] .calc3-bar{height:16px;box-shadow:none;background:#0f1118;border:1px solid #ffffff14}[data-ui=v3] .calc3-bar .gauge-fill{background:var(--primary);box-shadow:none}[data-ui=v3] .calc3-scale{color:var(--text-tertiary);justify-content:space-between;margin-top:-10px;font-size:12px;display:flex}[data-ui=v3] .calc3-tiles{text-align:center;grid-template-columns:repeat(3,1fr);gap:10px;display:grid}[data-ui=v3] .calc3-tile{background:var(--surface-raised);border-radius:14px;padding:12px 6px}[data-ui=v3] .calc3-tile-lbl{color:var(--text-secondary);justify-content:center;align-items:center;gap:4px;margin-bottom:4px;font-size:12px;display:flex}[data-ui=v3] .calc3-tile-val{font-size:17px;font-weight:var(--font-weight-semibold);color:var(--text-primary)}[data-ui=v3] .calc3-inputs{border-radius:24px;flex-direction:column;gap:20px;margin-top:16px;padding:20px 18px;display:flex}[data-ui=v3] .calc3-group{margin:0}[data-ui=v3] .calc3-inputs .calc3-label{margin-bottom:8px;display:block}[data-ui=v3] .calc3-chips{gap:8px;margin-bottom:10px;display:flex}[data-ui=v3] .calc3-group:first-child .calc3-chips{margin-bottom:0}[data-ui=v3] .calc3-chips--wrap{flex-wrap:wrap}[data-ui=v3] .calc3-chips .calc-quick-pick{min-width:60px;font-weight:var(--font-weight-semibold);border-radius:12px;flex:1}[data-ui=v3] .calc3-chips .calc-quick-pick.btn-secondary{background:var(--surface-raised);box-shadow:none;border-color:#0000}[data-ui=v3] .calc3-field{position:relative}[data-ui=v3] .calc3-field .form-control{font-size:18px;font-weight:var(--font-weight-semibold);background:#0f1118;border:1px solid #6f7791;border-radius:12px;padding-right:48px}[data-ui=v3] .calc3-field .form-control:focus{border-color:var(--primary)}[data-ui=v3] .calc3-suffix{font-size:13px;font-weight:var(--font-weight-semibold);color:var(--text-tertiary);pointer-events:none;position:absolute;top:50%;right:16px;transform:translateY(-50%)}[data-ui=v3] :is(.ag-group,.cyc-group,.ins-clist,.ins-olist){background:var(--card-bg);border-radius:12px;overflow:hidden}[data-ui=v3] :is(.ag-group>:is(.ag-row,.ag-marker,.ih-event),.cyc-group>.cyc-row,:is(.ins-clist,.ins-olist)>*){box-shadow:none;background:0 0;border:0;border-radius:0;width:100%;margin:0;position:relative}[data-ui=v3] :is(.ag-group,.cyc-group,.ins-clist,.ins-olist)>button:active{background:var(--surface-hover);transform:none}[data-ui=v3] :is(.ag-group,.cyc-group,.ins-clist,.ins-olist)>*+:before{content:"";pointer-events:none;background:#ffffff1f;height:.5px;position:absolute;top:0;left:16px;right:0}[data-ui=v3] .ag-group>*+:before{left:30px}[data-ui=v3] .ag-group>.ag-row{gap:12px;padding:13px 16px 13px 0}[data-ui=v3] .ag-group>.ih-dose{padding-top:11px;padding-bottom:11px}[data-ui=v3] .ag-group>.ag-marker{padding:12px 16px;font-size:14px}[data-ui=v3] .ag-group>.ih-event{padding:11px 16px 11px 14px}[data-ui=v3] .ag-group .ag-rail{background:var(--row-color);border-radius:2px;align-self:center;width:4px;height:22px;margin-left:14px}[data-ui=v3] .ag-group>.ih-dose .ag-rail{height:20px}[data-ui=v3] .ag-group .ag-name{font-size:16px;font-weight:500}[data-ui=v3] .ag-group .ag-dose{color:var(--text-secondary);font-size:15px;font-weight:500}[data-ui=v3] .ag-group .ag-time{letter-spacing:0;width:24px;color:var(--text-tertiary);font-size:13px}[data-ui=v3] :is(#plan-agenda,#ih-days) .ag-day{margin-bottom:20px}[data-ui=v3] :is(#plan-agenda,#ih-days) .ag-head{margin-bottom:8px;padding:0 4px}[data-ui=v3] :is(#plan-agenda,#ih-days) :is(.ag-head-label,.ag-head-date){font-size:15px}[data-ui=v3] .ag-more{background:var(--card-bg);width:100%;color:var(--primary);text-align:left;cursor:pointer;border:0;border-radius:12px;margin:-4px 0 8px;padding:13px 16px;font-size:16px;font-weight:500;display:block}[data-ui=v3] .ag-more:active{background:var(--surface-hover)}[data-ui=v3] .cyc-group{margin-bottom:8px}[data-ui=v3] .cyc-group>.cyc-row{padding:14px 16px 12px}[data-ui=v3] .cyc-group .cyc-top{margin-bottom:10px}[data-ui=v3] .ins-hero{flex-direction:column;padding:18px 4px 14px;display:flex}[data-ui=v3] .ins-hero-lbl{color:var(--text-secondary);font-size:15px}[data-ui=v3] .ins-hero-val{letter-spacing:-.02em;color:var(--text-primary);font-size:34px;font-weight:700;line-height:1.15}[data-ui=v3] .ins-hero-sub{color:var(--text-secondary);margin-top:2px;font-size:15px}[data-ui=v3] .ins-kv{background:var(--card-bg);border-radius:12px;grid-template-columns:1fr 1fr;margin-bottom:16px;display:grid;overflow:hidden}[data-ui=v3] .ins-kv-cell{flex-direction:column;gap:1px;padding:11px 16px;display:flex;position:relative}[data-ui=v3] .ins-kv-cell:nth-child(n+3):before{content:"";background:#ffffff1f;height:.5px;position:absolute;top:0;left:16px;right:0}[data-ui=v3] .ins-kv-cell:nth-child(2n):after{content:"";background:#ffffff1f;width:.5px;position:absolute;top:10px;bottom:10px;left:0}[data-ui=v3] .ins-kv-lbl{color:var(--text-secondary);font-size:13px}[data-ui=v3] .ins-kv-val{color:var(--text-primary);font-size:17px;font-weight:600}[data-ui=v3] .menu-row[data-nav] .icn{color:var(--text-secondary)}[data-ui=v3] .menu-cancel{width:100%;color:var(--primary);text-align:center;cursor:pointer;background:#343846;border:0;border-radius:14px;margin:6px 0 4px;padding:14px;font-size:17px;font-weight:600;display:block}[data-ui=v3] .menu-cancel:active{background:var(--surface-hover)}[data-ui=v3] .inv-sgroup{background:var(--card-bg);border-radius:12px;overflow:hidden}[data-ui=v3] .inv-sgroup>.inv-supply-row{box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:10px 12px 10px 16px;position:relative}[data-ui=v3] .inv-sgroup>.inv-supply-row+.inv-supply-row:before{content:"";background:#ffffff1f;height:.5px;position:absolute;top:0;left:16px;right:0}[data-ui=v3] .inv-sgroup h4{font-size:16px;font-weight:500}[data-ui=v3] .inv-sgroup .inv-meta{font-size:13px}[data-ui=v3] .inv-sgroup .stepper{background:var(--surface-raised);border:0;border-radius:10px;gap:0;height:44px;padding:0}[data-ui=v3] .inv-sgroup .stepper-btn{border-radius:10px;width:44px;height:44px}[data-ui=v3] .inv-sgroup .stepper-val{min-width:34px;font-size:17px}[data-ui=v3] :is(.lib-hero-eyebrow,.lib-hero-src){letter-spacing:.02em;font-size:13px;font-weight:600}@media (width<=420px){[data-ui=v3] .lib-stats{grid-template-columns:1fr 1fr;row-gap:14px}[data-ui=v3] .lib-stats>.lib-stat:nth-child(2){order:3;grid-column:1/-1}}[data-ui=v3] .set-head{color:var(--text-secondary);margin-top:22px;padding:0 16px 7px;font-size:13px}[data-ui=v3] .set-group{background:var(--card-bg);border-radius:12px;overflow:hidden}[data-ui=v3] .set-group--gap{margin-top:28px}[data-ui=v3] .set-row{width:100%;min-height:44px;color:var(--text-primary);text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:6px 16px;font-family:inherit;font-size:17px;display:flex;position:relative}[data-ui=v3] .set-row+.set-row:before{content:"";background:#ffffff1f;height:.5px;position:absolute;top:0;left:16px;right:0}[data-ui=v3] button.set-row{cursor:pointer}[data-ui=v3] button.set-row:active:not(:disabled){background:var(--surface-hover)}[data-ui=v3] .set-title{flex:1;min-width:0}[data-ui=v3] .set-value{color:var(--text-secondary)}[data-ui=v3] .set-row .icn{color:var(--text-tertiary);flex-shrink:0}[data-ui=v3] .set-row--action .set-title{color:var(--primary)}[data-ui=v3] .set-row--danger{color:var(--danger);justify-content:center}[data-ui=v3] .set-row--danger:disabled{opacity:.4;cursor:default}[data-ui=v3] .set-foot{color:var(--text-secondary);margin:0;padding:7px 16px 0;font-size:13px;line-height:1.35}[data-ui=v3] .set-foot--center{text-align:center}[data-ui=v3] .set-row .switch{width:51px;height:31px}[data-ui=v3] .set-row .switch .track{background:#39393d;border:0}[data-ui=v3] .set-row .switch .track:before{width:27px;height:27px;top:2px;left:2px;box-shadow:0 2px 4px #0000004d}[data-ui=v3] .set-row .switch input:checked+.track{background:var(--primary)}[data-ui=v3] .set-row .switch input:checked+.track:before{transform:translate(20px)}[data-ui=v3] .set-stepper{background:#2c2f3a;border-radius:9px;flex-shrink:0;height:32px;display:flex}[data-ui=v3] .set-stepper .stepper-btn{width:47px;height:32px;color:var(--text-primary);border-radius:0;position:relative}[data-ui=v3] .set-stepper .stepper-btn:after{content:"";position:absolute;inset:-6px 0}[data-ui=v3] .set-stepper .stepper-btn+.stepper-btn{border-left:.5px solid #ffffff2e}[data-ui=v3] .set-stepper .stepper-btn:first-child{border-radius:9px 0 0 9px}[data-ui=v3] .set-stepper .stepper-btn:last-child{border-radius:0 9px 9px 0}[data-ui=v3] .set-sheet-title{margin:0 0 4px;font-size:20px;font-weight:600}[data-ui=v3] .set-sheet-note{color:var(--text-secondary);margin:0 0 14px;font-size:15px}[data-ui=v3] .set-sheet-actions{gap:10px;margin-top:16px;display:flex}[data-ui=v3] .set-sheet-actions .btn{flex:1}[data-ui=v3] .stack-vline{letter-spacing:0;color:var(--text-secondary);font-size:13px}[data-ui=v3] .stack-vline .stack-fc:not(.stack-fc--low):not(.stack-fc--critical){color:inherit}[data-ui=v3] .cd-sheet .cd-block{box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:18px 8px 20px;position:relative}[data-ui=v3] .cd-sheet .cd-block:before{content:"";background:#ffffff24;height:.5px;position:absolute;top:0;left:8px;right:8px}[data-ui=v3] .cd-sheet .cd-head{padding-bottom:6px}[data-ui=v3] .cd-sheet .cd-fold-head{padding-left:0;padding-right:0}[data-ui=v3] .cd-sheet .sheet-handle{background:#ffffff61;width:40px;height:5px}[data-ui=v3] .menu-sheet.cd-sheet{transition:max-height var(--duration-normal) var(--ease-out)}[data-ui=v3] .menu-sheet.cd-sheet--half{max-height:54vh}[data-ui=v3] .cd-sheet--half .sheet-handle{cursor:pointer}[data-ui=v3] .confirm-sheet{text-align:center;padding-left:20px;padding-right:20px}[data-ui=v3] .confirm-sheet h3{color:var(--text-primary);margin:4px 0 6px;font-size:20px;font-weight:600}[data-ui=v3] .confirm-sheet p{color:var(--text-secondary);margin:0 8px 18px;font-size:15px;line-height:1.4}[data-ui=v3] .confirm-btn{width:100%;min-height:50px;font:inherit;cursor:pointer;border:0;border-radius:14px;margin-top:8px;padding:14px;font-size:17px;font-weight:600;display:block}[data-ui=v3] .confirm-btn--danger{color:var(--danger);background:#ff6e6224}[data-ui=v3] .confirm-btn--primary{color:var(--primary);background:#2de0bc24}[data-ui=v3] .confirm-btn--cancel{color:var(--text-primary);background:#343846}[data-ui=v3] .app-toast .toast-action{color:var(--primary);font:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff2e;border-radius:999px;flex-shrink:0;margin-left:auto;padding:6px 14px;font-size:15px;font-weight:600;position:relative}[data-ui=v3] .app-toast .toast-action:after{content:"";position:absolute;inset:-8px -6px}[data-ui=v3] .form-error-msg{color:var(--danger);align-items:flex-start;gap:6px;margin-top:6px;font-size:14px;line-height:1.35;display:flex}[data-ui=v3] .form-error-msg svg{flex:none;margin-top:1px}[data-ui=v3] .form-error-msg--sheet{margin:4px 0 10px}[data-ui=v3] .field-error :is(.form-control,input,select,textarea)[aria-invalid=true]:not(.wm-input),[data-ui=v3] .form-control[aria-invalid=true]{box-shadow:inset 0 0 0 1px var(--danger);border-color:var(--danger)!important}[data-ui=v3] .wm-input[aria-invalid=true]{border-bottom-color:var(--danger)}[data-ui=v3] .modal-body>[data-field-group]>.form-error-msg{justify-content:center;margin:2px 0 12px}[data-ui=v3] .empty-cta{justify-content:center;align-items:center;gap:8px;min-height:44px;margin-top:16px;padding:0 20px;display:inline-flex}[data-ui=v3] .v2-empty .empty-cta .icn{color:currentColor;opacity:1;margin:0}[data-ui=v3] .empty-cta-row{justify-content:center;margin-bottom:8px;display:flex}[data-ui=v3] .empty-cta-row .empty-cta{margin-top:10px}[data-ui=v3] .cd-lib-link{min-height:32px;color:var(--text-secondary);font:inherit;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:6px;margin:2px 0 12px 8px;padding:0 12px;font-size:14px;display:inline-flex;position:relative}[data-ui=v3] .cd-lib-link:after{content:"";position:absolute;inset:-6px 0}[data-ui=v3] .cd-lib-link .icn:first-child{color:var(--primary)}[data-ui=v3] .cd-lib-link .icn:last-child{color:var(--text-tertiary);margin-left:2px}[data-ui=v3] .wm-last{text-align:center;color:var(--text-tertiary);margin:-6px 0 14px;font-size:13px}[data-ui=v3] .wm-delete{width:100%;min-height:44px;color:var(--danger);font:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;margin:4px 0 0;font-size:15px;font-weight:600;display:flex}[data-ui=v3] .ins-wrow[role=button]{cursor:pointer}[data-ui=v3] .gp-sheet{padding:8px 20px calc(20px + var(--safe-area-bottom))}[data-ui=v3] .gp-body{position:relative}[data-ui=v3] .gp-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:430px;padding:8px 8px 0;display:flex}[data-ui=v3] .gp-logo{object-fit:contain;width:150px;height:150px;margin-bottom:-4px}[data-ui=v3] .gp-page h3{color:var(--text-primary);margin:0 0 8px;font-size:24px;font-weight:700}[data-ui=v3] .gp-page p{max-width:310px;color:var(--text-secondary);margin:0;font-size:16px;line-height:1.45}[data-ui=v3] .gp-page b{color:var(--text-primary);font-weight:600}[data-ui=v3] .gp-icon{width:76px;height:76px;color:var(--primary);background:#2de0bc1f;border-radius:22px;justify-content:center;align-items:center;margin-bottom:18px;display:flex}[data-ui=v3] .gp-kicker{color:var(--text-tertiary);margin-bottom:6px;font-size:13px}[data-ui=v3] .gp-skip{z-index:1;min-height:44px;color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:15px;position:absolute;top:-7px;right:0}[data-ui=v3] .gp-dots{justify-content:center;gap:7px;margin:18px 0 16px;display:flex}[data-ui=v3] .gp-dots i{background:#ffffff38;border-radius:50%;width:7px;height:7px}[data-ui=v3] .gp-dots i.on{background:var(--primary);border-radius:4px;width:18px}[data-ui=v3] .gp-actions{gap:10px;display:flex}[data-ui=v3] .gp-actions .btn{flex:1;min-height:50px}[data-ui=v3] .gp-actions .btn[hidden]{display:none}[data-ui=v3] .gp-disc{margin:12px 0 0;padding:0}
