:root{--safe-area-top:env(safe-area-inset-top,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px);--keyboard-offset:0px;--bottom-nav-height:72px;--bottom-nav-offset:16px;--font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-size-display:32px;--font-size-title:24px;--font-size-heading:20px;--font-size-body:16px;--font-size-body-sm:14px;--font-size-caption:13px;--font-size-label:12px;--font-size-micro:11px;--font-weight-light:300;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:800;--letter-spacing-tight:-.5px;--letter-spacing-normal:0;--letter-spacing-wide:.5px;--letter-spacing-caps:1px;--color-bg:#f8f8f8;--color-surface:#fff;--color-surface-glass:#ffffffd9;--color-text-main:#0a0a0a;--color-text-secondary:#888;--color-text-tertiary:#ccc;--color-border:#0000000a;--color-border-strong:#00000014;--color-accent:#000;--color-accent-text:#fff;--color-success:#34c759;--color-warning:#ff9500;--color-danger:#ff3b30;--color-info:#007aff;--color-success-bg:#34c7591a;--color-success-border:#34c75933;--color-warning-bg:#ff95001a;--color-warning-border:#ff950033;--color-danger-bg:#ff3b301a;--color-danger-border:#ff3b3033;--color-info-bg:#007aff1a;--color-info-border:#007aff33;--color-surface-muted:#f2f2f7;--color-input-bg:#f9fafb;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-xxl:48px;--page-padding:24px;--page-bottom-padding:calc(var(--bottom-nav-height) + var(--bottom-nav-offset) + var(--safe-area-bottom) + var(--spacing-md));--section-gap:24px;--card-gap:16px;--radius-xs:8px;--radius-sm:12px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px;--radius-pill:9999px;--radius-card:var(--radius-xl);--radius-button:var(--radius-pill);--radius-input:var(--radius-sm);--radius-chip:var(--radius-md);--shadow-sm:0 4px 20px #00000008;--shadow-md:0 12px 40px #0000000f;--shadow-lg:0 30px 80px -10px #0000001f;--shadow-glass:0 8px 32px 0 #1f268712;--shadow-card:0 12px 32px #00000014;--shadow-card-hover:0 20px 40px #0000001f;--shadow-hero:0 25px 50px -12px #00000040;--shadow-button:0 4px 12px #00000026;--shadow-nav:0 20px 50px -12px #00000026;--shadow-soft-luxury:0 20px 60px #0000000d;--shadow-3d-floating:0 25px 50px -12px #00000040;--duration-fast:.15s;--duration-normal:.3s;--duration-slow:.5s;--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)}.financial-number{font-family:var(--font-family);font-variant-numeric:tabular-nums}.floating-card{transition:transform .3s,box-shadow .3s;transform:translateY(-8px);box-shadow:var(--shadow-3d-floating)!important}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-ms-overflow-style:none;scrollbar-width:none;margin:0;padding:0}html,body{max-width:100%;overflow-x:hidden}body{font-family:var(--font-family);background-color:var(--color-bg);color:var(--color-text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:pan-y;overscroll-behavior-x:none;min-height:100dvh}#root{width:100%;max-width:480px;min-height:100dvh;margin:0 auto;overflow-x:hidden}.layout{width:100%;min-height:100dvh;overflow-x:hidden}.glass-panel{background:var(--color-surface-glass);-webkit-backdrop-filter:blur(20px);border:1px solid #ffffff80}.glass-pill{-webkit-backdrop-filter:blur(25px)saturate(180%);border-radius:var(--glass-radius,9999px);text-shadow:0 1px 1px #0000002e;background-color:#ffffff1a;background-image:linear-gradient(#ffffff40 0%,#ffffff0d 100%);border:1px solid #ffffff1a;transition:box-shadow .2s,background-image .2s,filter .2s;box-shadow:0 15px 35px -5px #0003,0 8px 15px -5px #0000001a,inset 0 2px 1px #fffc,inset 0 -2px 4px #ffffff26,inset 0 0 0 1px #fff3}.glass-pill:active{filter:brightness(.98);background-image:linear-gradient(#ffffff2e 0%,#ffffff0a 100%);box-shadow:0 10px 22px -12px #00000047,0 6px 12px -10px #00000038,inset 0 1px 1px #fff9,inset 0 -1px 2px #ffffff1f,inset 0 0 0 1px #fff3}.glass-section{-webkit-backdrop-filter:blur(14px)saturate(140%);border-radius:var(--glass-section-radius,24px);background-color:#ffffff0f;background-image:linear-gradient(#ffffff2e 0%,#ffffff08 100%);border:1px solid #ffffff14}.focus-ring:focus-visible{outline:2px solid var(--color-info);outline-offset:2px}.text-gradient{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#000 0%,#444 100%) text}.container{max-width:480px;padding:var(--page-padding);margin:0 auto;padding-bottom:0}@keyframes fade-in-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes float-slow{0%{transform:translate(0)rotate(0)}50%{transform:translate(20px,20px)rotate(5deg)}to{transform:translate(0)rotate(0)}}@keyframes float-reverse{0%{transform:translate(0)rotate(0)}50%{transform:translate(-20px,-10px)rotate(-5deg)}to{transform:translate(0)rotate(0)}}@keyframes text-shimmer{0%{background-position:-200%}to{background-position:200%}}.animate-enter{opacity:0;animation:.6s cubic-bezier(.16,1,.3,1) forwards fade-in-up}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.delay-600{animation-delay:.6s}.delay-700{animation-delay:.7s}.delay-800{animation-delay:.8s}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.typing-indicator{align-items:center;gap:4px;display:flex}.typing-indicator span{opacity:.7;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite typing-bounce}.typing-indicator span:first-child{animation-delay:0s}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-8px)}}.typing-cursor{color:#666;font-weight:300;animation:.8s ease-in-out infinite cursor-blink;display:inline-block}@keyframes cursor-blink{0%,50%{opacity:1}51%,to{opacity:0}}.animate-spin{animation:1s linear infinite spin}.hero-card-3d{transition:all .4s cubic-bezier(.175,.885,.32,1.275);transform:translateY(-10px);box-shadow:0 50px 100px -20px #00000080,0 30px 60px -30px #0009}.hero-card-3d:hover{transform:translateY(-15px)scale(1.01);box-shadow:0 70px 120px -20px #0009,0 40px 80px -30px #000000b3}::-webkit-scrollbar{display:none}.active-scale{transition:transform var(--duration-fast)var(--ease-smooth)}.active-scale:active{transform:scale(.96)}.section-header{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing-caps);margin-bottom:var(--spacing-md);padding-left:var(--spacing-sm)}.page-title{font-size:var(--font-size-title);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-main);margin:0}.card{background:var(--color-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:hidden}.card-header{background:var(--color-card-header-bg,#0a0a0a);color:var(--color-card-header-text,#fff);padding:var(--spacing-lg)}.card-body{background:var(--color-card-body-bg,#fff);color:var(--color-card-body-text,#0a0a0a);padding:var(--spacing-lg)}.btn-primary{background:var(--color-accent);color:var(--color-accent-text);border-radius:var(--radius-button);font-size:var(--font-size-body-sm);font-weight:var(--font-weight-semibold);cursor:pointer;box-shadow:var(--shadow-button);transition:transform var(--duration-fast)var(--ease-spring),opacity var(--duration-fast)ease;justify-content:center;align-items:center;gap:var(--spacing-sm);border:none;padding:12px 24px;display:inline-flex}.btn-primary:active{transform:scale(.96)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--color-surface-muted);color:var(--color-text-main);border-radius:var(--radius-button);font-size:var(--font-size-body-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:transform var(--duration-fast)var(--ease-spring),background var(--duration-fast)ease;justify-content:center;align-items:center;gap:var(--spacing-sm);border:none;padding:12px 24px;display:inline-flex}.btn-secondary:active{transform:scale(.96)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{color:var(--color-text-secondary);padding:var(--spacing-sm)var(--spacing-md);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);cursor:pointer;transition:color var(--duration-fast)ease;align-items:center;gap:var(--spacing-xs);background:0 0;border:none;display:inline-flex}.btn-ghost:hover{color:var(--color-text-main)}.input{background:var(--color-input-bg);border:1px solid var(--color-border);border-radius:var(--radius-input);font-size:var(--font-size-body);font-family:var(--font-family);color:var(--color-text-main);box-sizing:border-box;width:100%;transition:border-color var(--duration-fast)ease;outline:none;padding:12px 16px}.input:focus{border-color:var(--color-text-secondary)}.input::placeholder{color:var(--color-text-tertiary)}.segmented-control{border-radius:var(--radius-chip);background:#7676801f;height:48px;padding:2px;display:flex;position:relative}.segmented-control button{z-index:2;color:var(--color-text-secondary);font-size:15px;font-weight:var(--font-weight-semibold);cursor:pointer;border-radius:calc(var(--radius-chip) - 2px);transition:color var(--duration-fast)ease;justify-content:center;align-items:center;gap:var(--spacing-sm);background:0 0;border:none;flex:1;display:flex;position:relative}.segmented-control button.active{color:var(--color-text-main)}.list-item{padding:20px var(--spacing-sm);background:var(--color-list-item-bg,var(--color-bg));border-bottom:1px solid var(--color-border);cursor:pointer;transition:background var(--duration-fast)ease;justify-content:space-between;align-items:center;display:flex}.list-item:active{background:var(--color-list-item-bg-active,#f0f0f0)}.badge{border-radius:var(--radius-pill);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);align-items:center;padding:4px 10px;display:inline-flex}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger)}.badge-info{background:var(--color-info-bg);color:var(--color-info)}.input:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible,button:focus-visible,[tabindex="0"]:focus-visible{outline:2px solid var(--color-info)!important;outline-offset:2px!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.animate-enter,.animate-spin,.typing-indicator span,.typing-cursor{opacity:1!important;animation:none!important;transform:none!important}.hero-card-3d:hover{transform:translateY(-10px)!important}.floating-card,.active-scale:active{transform:none!important}}.calendar-theme-cinematic{--calendar-font:var(--font-family);--calendar-bg:radial-gradient(120% 120% at 0% 0%,#ffffffeb 0%,#f8f8f800 60%),radial-gradient(110% 130% at 100% 0%,#ffffffc7 0%,#f2f2f759 55%,#f2f2f700 100%),linear-gradient(180deg,#fafafa 0%,#f6f6f8 36%,#f3f3f6 100%);--calendar-surface:#ffffffc2;--calendar-surface-strong:#ffffffeb;--calendar-surface-muted:#f7f7f9f5;--calendar-text-main:var(--color-text-main);--calendar-text-secondary:#666d7b;--calendar-text-tertiary:#8f96a3;--calendar-border:#0a0a0a12;--calendar-border-strong:#0a0a0a24;--calendar-accent:var(--color-text-main);--calendar-accent-soft:#0a0a0a14;--calendar-accent-contrast:#fff;--calendar-danger:#cf3f48;--calendar-danger-soft:#cf3f481f;--calendar-shadow-1:0 18px 42px -34px #13182770;--calendar-shadow-2:0 24px 54px -32px #11141f80;--calendar-shadow-pressed:0 8px 26px -18px #1018296b;--calendar-radius-xs:10px;--calendar-radius-sm:14px;--calendar-radius-md:18px;--calendar-radius-lg:24px;--calendar-radius-pill:999px;--calendar-focus-ring:0 0 0 2px #0a0a0a33,0 0 0 4px #ffffffeb;--calendar-ease:cubic-bezier(.16,1,.3,1);font-family:var(--calendar-font)}.calendar-theme-cinematic .calendar-cinematic-bg{background:var(--calendar-bg)}.calendar-theme-cinematic .calendar-cinematic-surface{background:var(--calendar-surface);border:1px solid var(--calendar-border);border-radius:var(--calendar-radius-lg);box-shadow:var(--calendar-shadow-1),inset 0 1px 0 #ffffffb8;-webkit-backdrop-filter:blur(16px)saturate(138%)}.calendar-theme-cinematic .calendar-cinematic-section{background:var(--calendar-surface);border:1px solid var(--calendar-border);border-radius:var(--calendar-radius-md);box-shadow:var(--calendar-shadow-1),inset 0 1px 0 #ffffffa6;-webkit-backdrop-filter:blur(14px)saturate(132%)}.calendar-theme-cinematic .calendar-cinematic-pill{border:1px solid var(--calendar-border);border-radius:var(--calendar-radius-pill);box-shadow:var(--calendar-shadow-1);-webkit-backdrop-filter:blur(12px)saturate(126%);background:linear-gradient(#fffffff0 0%,#f8f8fae0 100%)}.calendar-theme-cinematic .calendar-family-hub{background:linear-gradient(#ffffffeb 0%,#fafafcd1 100%),radial-gradient(circle at 88% -24%,#00000009,#0000 58%)}.calendar-theme-cinematic .calendar-family-stat{box-shadow:inset 0 1px #ffffff9e}.calendar-theme-cinematic .calendar-btn{border-radius:var(--calendar-radius-pill);letter-spacing:.2px;cursor:pointer;min-height:44px;transition:transform .15s var(--calendar-ease),background-color .2s var(--calendar-ease),border-color .2s var(--calendar-ease),box-shadow .2s var(--calendar-ease),color .2s var(--calendar-ease),opacity .2s var(--calendar-ease);border:1px solid #0000;padding:11px 16px;font-size:13px;font-weight:700;line-height:1}.calendar-theme-cinematic .calendar-btn:active{transform:translateY(1px)scale(.985)}.calendar-theme-cinematic .calendar-btn:disabled{opacity:.48;cursor:not-allowed}.calendar-theme-cinematic .calendar-btn-primary{color:#f8fbff;box-shadow:var(--calendar-shadow-2),inset 0 1px 0 #fff3;background:linear-gradient(#222 0%,#0a0a0a 100%);border-color:#000000b3}.calendar-theme-cinematic .calendar-btn-secondary{background:var(--calendar-surface-strong);color:var(--calendar-text-main);border-color:var(--calendar-border);box-shadow:var(--calendar-shadow-1),inset 0 1px 0 #ffffff8c}.calendar-theme-cinematic .calendar-btn-ghost{color:var(--calendar-text-secondary);background:0 0;border-color:#0000}.calendar-theme-cinematic .calendar-btn-danger{background:var(--calendar-danger-soft);color:var(--calendar-danger);border-color:#cf3f4838}.calendar-theme-cinematic .calendar-btn-icon{border-radius:var(--calendar-radius-sm);justify-content:center;align-items:center;width:44px;min-width:44px;padding:0;display:inline-flex}.calendar-theme-cinematic .calendar-btn:focus-visible,.calendar-theme-cinematic .calendar-field-input:focus-visible,.calendar-theme-cinematic .calendar-segment-button:focus-visible,.calendar-theme-cinematic .calendar-chip:focus-visible{box-shadow:var(--calendar-focus-ring);outline:none}.calendar-theme-cinematic .calendar-segment{border-radius:var(--calendar-radius-pill);border:1px solid var(--calendar-border);width:100%;box-shadow:var(--calendar-shadow-1);background:linear-gradient(#fffffff0 0%,#f6f6f9db 100%);gap:4px;padding:4px;display:inline-flex}.calendar-theme-cinematic .calendar-segment-button{border-radius:var(--calendar-radius-pill);min-height:44px;color:var(--calendar-text-secondary);cursor:pointer;transition:color .2s var(--calendar-ease),transform .15s var(--calendar-ease);background:0 0;border:0;flex:1;justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex;position:relative}.calendar-theme-cinematic .calendar-segment-button-active{color:var(--calendar-accent-contrast)}.calendar-theme-cinematic .calendar-segment-highlight{border-radius:var(--calendar-radius-pill);box-shadow:var(--calendar-shadow-2),inset 0 1px 0 #ffffff2b;z-index:-1;background:linear-gradient(#252525 0%,#111 100%);position:absolute;inset:0}.calendar-theme-cinematic .calendar-chip{border:1px solid var(--calendar-border);background:var(--calendar-surface-strong);color:var(--calendar-text-secondary);border-radius:var(--calendar-radius-pill);cursor:pointer;min-height:36px;transition:color .2s var(--calendar-ease),background-color .2s var(--calendar-ease),border-color .2s var(--calendar-ease),transform .15s var(--calendar-ease);padding:7px 12px;font-size:12px;font-weight:700}.calendar-theme-cinematic .calendar-chip:active{transform:scale(.98)}.calendar-theme-cinematic .calendar-chip-active{color:var(--calendar-accent-contrast);background:linear-gradient(#242424 0%,#111 100%);border-color:#000000b3}.calendar-theme-cinematic .calendar-field{flex-direction:column;gap:6px;display:flex}.calendar-theme-cinematic .calendar-field-label{letter-spacing:.42px;text-transform:uppercase;color:var(--calendar-text-tertiary);padding-left:2px;font-size:11px;font-weight:700}.calendar-theme-cinematic .calendar-field-input-wrap{position:relative}.calendar-theme-cinematic .calendar-field-input{border:1px solid var(--calendar-border);border-radius:var(--calendar-radius-sm);background:var(--calendar-surface-muted);width:100%;min-height:44px;color:var(--calendar-text-main);transition:border-color .2s var(--calendar-ease),box-shadow .2s var(--calendar-ease),background-color .2s var(--calendar-ease);padding:11px 13px;font-size:14px;font-weight:550}.calendar-theme-cinematic .calendar-field-input::placeholder{color:var(--calendar-text-tertiary)}.calendar-theme-cinematic .calendar-field-input-error{border-color:#cf3f4899}.calendar-theme-cinematic .calendar-field-meta{min-height:14px;color:var(--calendar-text-tertiary);font-size:11px}.calendar-theme-cinematic .calendar-field-meta-error{color:var(--calendar-danger)}.calendar-theme-cinematic .calendar-action-row{background:linear-gradient(#f7f7f900 0%,#f7f7f9eb 30%,#f7f7f9fa 100%);gap:8px;padding-top:10px;display:flex;position:sticky;bottom:0}.calendar-theme-cinematic .calendar-touch-target{min-width:44px;min-height:44px}@media (width<=380px){.calendar-theme-cinematic .calendar-family-hub{padding:12px}}@media (prefers-reduced-motion:reduce){.calendar-theme-cinematic .calendar-btn,.calendar-theme-cinematic .calendar-segment-button,.calendar-theme-cinematic .calendar-chip,.calendar-theme-cinematic .calendar-field-input{transition-duration:.01ms!important;animation:none!important}}
