:root{--background-color:#f8fafc;--card-background:#ffffff;--border-color:#e2e8f0;--surface-soft:#e8f0ff;--radius-xl:20px;--fhc-primary-700:#1d4ed8;--fhc-primary-600:#2563eb;--fhc-primary-500:#3b82f6;--fhc-primary-400:#60a5fa;--fhc-primary-soft:rgba(37,99,235,0.10);--fhc-primary-border:rgba(37,99,235,0.22);--fhc-primary:#2563eb;--fhc-success-700:#0e7490;--fhc-success-600:#0891b2;--fhc-success-500:#06b6d4;--fhc-success-400:#22d3ee;--fhc-success-soft:rgba(6,182,212,0.12);--fhc-success-border:rgba(6,182,212,0.32);--fhc-success:#06b6d4;--fhc-danger-700:#9f1239;--fhc-danger-600:#e11d48;--fhc-danger-500:#f43f5e;--fhc-danger-400:#fb7185;--fhc-danger-soft:rgba(244,63,94,0.12);--fhc-danger-border:rgba(244,63,94,0.28);--fhc-danger:#f43f5e;--fhc-warning-700:#92400e;--fhc-warning-600:#b45309;--fhc-warning-500:#d97706;--fhc-warning-soft:rgba(245,158,11,0.14);--fhc-warning-border:rgba(245,158,11,0.30);--fhc-warning:#d97706;--fhc-ink-900:#0f172a;--fhc-ink-700:#334155;--fhc-ink-600:#475569;--fhc-ink-500:#64748b;--fhc-ink:#0f172a;--fhc-muted:#475569;--fhc-subtle:#64748b;--fhc-surface-1:rgba(255,255,255,0.88);--fhc-surface-2:rgba(248,250,252,0.82);--fhc-surface-3:rgba(240,247,255,0.58);--fhc-surface:rgba(255,255,255,0.82);--fhc-surface-alt:rgba(240,247,255,0.58);--fhc-border-soft:rgba(148,163,184,0.22);--fhc-border-faint:rgba(148,163,184,0.14);--fhc-border:rgba(148,163,184,0.22);--fhc-radius-sm:10px;--fhc-radius-md:14px;--fhc-radius-lg:20px;--fhc-radius-pill:999px;--fhc-shadow-1:0 2px 6px rgba(15,23,42,0.06);--fhc-shadow-2:0 10px 24px rgba(15,23,42,0.10);--fhc-shadow-3:0 24px 56px rgba(15,23,42,0.14);--primary-color:var(--fhc-primary-600);--primary-hover:var(--fhc-primary-700);--secondary-color:var(--fhc-ink-600);--muted-color:var(--fhc-ink-500);--gradient-start:var(--fhc-primary-600);--gradient-end:var(--fhc-primary-700);--text-color:var(--fhc-ink-900);}a:focus-visible,button:focus-visible,.btn:focus-visible,[role="button"]:focus-visible,summary:focus-visible,.fhc-focusable:focus-visible{outline:2px solid var(--fhc-primary-500);outline-offset:2px;border-radius:inherit;}.fhc-savings-amount{color:var(--fhc-success-700);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-0.01em;}.fhc-savings-amount--gradient{background:linear-gradient(135deg,var(--fhc-success-600) 0%,var(--fhc-success-500) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;}.fhc-chip{display:inline-flex;align-items:center;gap:0.35rem;padding:4px 10px;border-radius:var(--fhc-radius-pill);font-size:0.78rem;font-weight:600;letter-spacing:0.01em;line-height:1.2;white-space:nowrap;border:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.65);}.fhc-chip i{font-size:0.72rem;}.fhc-chip--success{background:linear-gradient(180deg,rgba(236,253,245,0.92),rgba(209,250,229,0.82));color:var(--fhc-success-700);border-color:var(--fhc-success-border);}.fhc-chip--success i{color:var(--fhc-success-500);}.fhc-chip--danger{background:linear-gradient(180deg,rgba(254,242,242,0.92),rgba(254,226,226,0.82));color:var(--fhc-danger-700);border-color:var(--fhc-danger-border);}.fhc-chip--danger i{color:var(--fhc-danger-500);}.fhc-chip--warning{background:linear-gradient(180deg,rgba(255,251,235,0.92),rgba(254,243,199,0.82));color:var(--fhc-warning-700);border-color:var(--fhc-warning-border);}.fhc-chip--warning i{color:var(--fhc-warning-500);}.fhc-chip--info{background:linear-gradient(180deg,rgba(239,246,255,0.92),rgba(219,234,254,0.82));color:var(--fhc-primary-700);border-color:var(--fhc-primary-border);}.fhc-chip--info i{color:var(--fhc-primary-500);}.fhc-chip--neutral{background:linear-gradient(180deg,rgba(248,250,252,0.92),rgba(241,245,249,0.82));color:var(--fhc-ink-700);border-color:var(--fhc-border-soft);}.fhc-chip--neutral i{color:var(--fhc-ink-500);}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;}html,body{height:100%;}body{font-family:'Inter',sans-serif;background:radial-gradient(1200px 700px at 8% -10%,rgba(37,99,235,0.08),transparent 62%),radial-gradient(980px 620px at 92% 12%,rgba(191,219,254,0.34),transparent 66%),linear-gradient(180deg,#ffffff 0%,#f6f9ff 100%);background-attachment:fixed,fixed,fixed;color:var(--text-color);line-height:1.6;margin:0;padding-top:max(102px,calc(88px+env(safe-area-inset-top,0px)));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;min-height:100vh;display:flex;flex-direction:column;animation:none;isolation:isolate;}body::before{content:'';position:fixed;inset:-12%;z-index:-1;pointer-events:none;background:radial-gradient(42% 40% at 20% 28%,rgba(37,99,235,0.18),transparent 65%),radial-gradient(40% 44% at 80% 72%,rgba(96,165,250,0.22),transparent 66%),radial-gradient(52% 42% at 58% 18%,rgba(147,197,253,0.18),transparent 70%),radial-gradient(38% 38% at 30% 85%,rgba(191,219,254,0.18),transparent 68%);animation:fhc-bg-drift 28s ease-in-out infinite alternate,fhc-bg-hue 50s linear infinite;will-change:transform,filter;}@keyframes fhc-bg-drift{0%{transform:translate3d(0,0,0) scale(1);}33%{transform:translate3d(2vw,-1.5vh,0) scale(1.06);}66%{transform:translate3d(-2vw,2vh,0) scale(0.97);}100%{transform:translate3d(1.5vw,1vh,0) scale(1.03);}}@keyframes fhc-bg-hue{0%{filter:hue-rotate(-10deg);}50%{filter:hue-rotate( 10deg);}100%{filter:hue-rotate(-10deg);}}@media (prefers-reduced-motion:reduce){body{animation:none;}body::before{animation:none;}.landing-page,.app-page{animation:none !important;}}main{flex:1;}body.landing-page main.container{flex:0 0 auto;width:100%;max-width:100%;overflow-x:visible;overflow-y:visible;}.hero p,.lead,.text-muted{color:var(--secondary-color) !important;font-weight:400;}.small,.helper-text{color:var(--muted-color) !important;}h1,h2,h3,h4,h5,h6{color:var(--text-color);}h1{font-size:clamp(2.4rem,4.2vw,3.5rem);line-height:1.1;letter-spacing:-0.02em;}h2{font-size:clamp(1.8rem,2.2vw,2rem);line-height:1.2;letter-spacing:-0.015em;}h3{font-size:clamp(1.3rem,1.6vw,1.5rem);line-height:1.25;}p,li,.btn{font-size:1.05rem;}.navbar{position:fixed;top:0;left:0;right:0;z-index:1100;padding:calc(30px+env(safe-area-inset-top,0px)) 0 16px !important;background:transparent !important;border-bottom:0;box-shadow:none;isolation:isolate;transition:background 0.3s ease,box-shadow 0.3s ease;}.navbar::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(232,240,255,0.62) 0%,rgba(232,240,255,0.45) 55%,rgba(232,240,255,0.00) 100%);-webkit-backdrop-filter:blur(16px) saturate(135%);backdrop-filter:blur(16px) saturate(135%);-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 70%,rgba(0,0,0,0.5) 92%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,#000 70%,rgba(0,0,0,0.5) 92%,transparent 100%);}.navbar .container{max-width:1200px;min-height:56px;display:flex;align-items:center;margin-top:0 !important;margin-bottom:0 !important;}.navbar.scrolled{background:transparent !important;border-bottom:0;box-shadow:none;}.navbar.scrolled::before{background:linear-gradient(180deg,rgba(221,232,250,0.80) 0%,rgba(221,232,250,0.55) 55%,rgba(221,232,250,0.00) 100%);-webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%);}.navbar-brand{font-weight:600;font-size:1.25rem;color:var(--fhc-ink-900) !important;display:flex;align-items:center;gap:10px;padding:0;min-height:40px;margin-right:14px;overflow:visible;transition:transform 0.2s ease;letter-spacing:-0.02em;}.navbar-brand:hover{transform:scale(1.02);}.navbar-brand img{height:1.96rem;width:auto;object-fit:contain;filter:none;margin-top:0;margin-bottom:0;position:relative;z-index:1001;}.navbar-brand .fhc-logo-wrap{position:relative;display:inline-flex;align-items:center;line-height:0;isolation:isolate;transform:scale(1.85);transform-origin:center center;margin-right:0.9rem;margin-left:0.55rem;will-change:transform;}.navbar-brand .fhc-logo-wrap .fhc-logo-canvas{position:absolute;left:0;top:0;width:100%;height:100%;opacity:0;transition:opacity 450ms ease;pointer-events:none;z-index:1002;}.navbar-brand .fhc-logo-wrap.is-shaded .fhc-logo-canvas{opacity:1;}.navbar-brand .fhc-logo-wrap.is-shaded .fhc-logo-img{visibility:hidden;}@media (prefers-reduced-motion:reduce){.navbar-brand .fhc-logo-wrap .fhc-logo-canvas{display:none;}.navbar-brand .fhc-logo-wrap.is-shaded .fhc-logo-img{visibility:visible;}}.navbar-brand .brand-text{color:var(--fhc-ink-900);font-weight:700;font-size:1rem;letter-spacing:-0.018em;white-space:nowrap;line-height:1;position:relative;top:1px;}.navbar-nav{align-items:center;}.navbar-nav.me-auto{gap:14px;display:flex;}.navbar-nav.ms-auto{gap:8px;display:flex;}.navbar-nav.ms-auto .nav-link[data-open-auth],.navbar-nav.ms-auto .nav-link[href*="logout"]{padding:6px 14px !important;border-radius:var(--fhc-radius-pill);}.navbar-nav.ms-auto .nav-link[data-open-auth="login"]{border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);}.navbar-nav.ms-auto .nav-link[data-open-auth="login"]:hover{background:rgba(255,255,255,.14);}.navbar-nav.ms-auto .nav-link[data-open-auth="register"]{background:rgba(255,255,255,.15);}.navbar-nav.ms-auto .nav-link[data-open-auth="register"]:hover{background:rgba(255,255,255,.25);}.nav-cta-btn{display:inline-flex;align-items:center;padding:0.5rem 1.1rem;background:linear-gradient(135deg,var(--fhc-success-500) 0%,var(--fhc-success-600) 48%,var(--fhc-success-700) 100%);color:#ffffff !important;border-radius:var(--fhc-radius-pill);font-weight:700;font-size:0.95rem;letter-spacing:0.01em;text-decoration:none;box-shadow:0 8px 20px -8px rgba(6,182,212,0.5);transition:transform .15s ease,box-shadow .15s ease,background .15s ease;}.nav-cta-btn:hover,.nav-cta-btn:focus{color:#ffffff !important;background:linear-gradient(135deg,var(--fhc-success-600) 0%,var(--fhc-success-700) 100%);transform:translateY(-1px);box-shadow:0 12px 26px -10px rgba(8,145,178,0.55);text-decoration:none;}.nav-cta-btn i{transition:transform .15s ease;}.nav-cta-btn:hover i{transform:translateX(3px);}@media (max-width:400px){.navbar-brand{min-width:0;margin-right:6px;}.navbar-brand .brand-text{overflow:hidden;text-overflow:ellipsis;max-width:min(11rem,42vw);}}@media (max-width:576px){.navbar .container{height:auto;min-height:48px;}.navbar-brand{font-size:1rem;height:48px;}.navbar-brand img{height:1.7rem;margin-top:0;margin-bottom:0;filter:none;}.navbar-brand .brand-text{font-size:.95rem;font-weight:500;}}.navbar-brand .logo-icon{background:rgba(255,255,255,0.2);width:20px;height:20px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:0.625rem;transition:all 0.3s ease;-webkit-tap-highlight-color:transparent;}.navbar-brand:hover .logo-icon{background:rgba(255,255,255,0.3);transform:scale(1.05);}@media (max-width:991.98px){.navbar-brand .fhc-logo-wrap{transform:none;margin-left:0.35rem;margin-right:0.55rem;}.navbar-brand .fhc-logo-img{width:28px !important;height:28px !important;}.navbar-brand .brand-text{font-size:0.94rem !important;font-weight:650 !important;top:0;letter-spacing:-0.02em;}}.nav-link{font-weight:600;color:var(--fhc-ink-900) !important;padding:0.4rem 0.85rem !important;transition:color .15s ease,background-color .2s ease,box-shadow .2s ease;border-radius:8px;margin:0 !important;opacity:0.9;-webkit-tap-highlight-color:transparent;position:relative;}.nav-link:hover{color:var(--fhc-ink-900) !important;background:rgba(15,23,42,0.05);}@media (min-width:992px){.navbar .nav-item{margin-left:18px;}.navbar .navbar-nav.me-auto .nav-item:first-child{margin-left:0;}}.nav-link[href*="upload_file"],.nav-link[href="/upload_file"],.nav-link[href*="upload-entry"],.nav-link[href="/upload-entry"]{background:rgba(255,255,255,.15) !important;padding:8px 18px !important;border-radius:var(--fhc-radius-pill) !important;font-weight:700 !important;opacity:1 !important;box-shadow:0 6px 16px rgba(99,102,241,0.2);}.nav-link[href*="upload_file"]:hover,.nav-link[href="/upload_file"]:hover,.nav-link[href*="upload-entry"]:hover,.nav-link[href="/upload-entry"]:hover{background:rgba(255,255,255,.25) !important;transform:translateY(-1px);}.nav-link:hover{color:var(--fhc-ink-900) !important;background:rgba(15,23,42,0.05);transform:translateY(-1px);opacity:1;}.nav-link.active{opacity:1;}.nav-link.active::after{content:'';position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);width:24px;height:3px;border-radius:2px;background:rgba(15,23,42,.6);}.nav-link[href*="upload_file"].active::after,.nav-link[href="/upload_file"].active::after,.nav-link[href*="upload-entry"].active::after,.nav-link[href="/upload-entry"].active::after{display:none;}.nav-link i{margin-right:0.5rem;font-size:1.1em;color:currentColor;}.account-dropdown .dropdown-toggle{display:inline-flex !important;align-items:center;gap:.55rem;padding:.42rem .85rem .42rem .45rem !important;border-radius:var(--fhc-radius-pill);background:linear-gradient(135deg,rgba(239,246,255,.85) 0%,rgba(219,234,254,.65) 55%,rgba(191,219,254,.55) 100%);border:1px solid rgba(147,197,253,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 2px 8px rgba(37,99,235,.06);backdrop-filter:blur(14px) saturate(1.25);-webkit-backdrop-filter:blur(14px) saturate(1.25);transition:background .28s cubic-bezier(.16,1,.3,1),border-color .28s ease,box-shadow .28s cubic-bezier(.16,1,.3,1),transform .22s cubic-bezier(.16,1,.3,1);}.account-dropdown .dropdown-toggle:hover,.account-dropdown .dropdown-toggle:focus,.account-dropdown.show .dropdown-toggle,.account-dropdown:focus-within .dropdown-toggle{background:linear-gradient(135deg,rgba(224,236,255,.95) 0%,rgba(191,219,254,.8) 55%,rgba(147,197,253,.65) 100%);border-color:rgba(59,130,246,.65);box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 6px 16px rgba(37,99,235,.14);}.account-dropdown .dropdown-toggle>i.fa-user,.account-dropdown .dropdown-toggle>i.fa-circle-user,.account-dropdown .dropdown-toggle>i.fa-solid:first-child{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,#93c5fd 0%,#60a5fa 100%);color:#ffffff !important;font-size:.78rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 2px 6px rgba(37,99,235,.22);margin:0 !important;flex:none;}.account-dropdown .dropdown-toggle::after{margin-left:.15rem;vertical-align:.1em;border-top-width:5px;border-right-width:4px;border-left-width:4px;color:var(--fhc-ink-500);transition:transform .28s cubic-bezier(.16,1,.3,1);transform-origin:50% 55%;}body:not(.android-app):not(.native-app) .account-dropdown:hover .dropdown-toggle::after,body:not(.android-app):not(.native-app) .account-dropdown:focus-within .dropdown-toggle::after,.account-dropdown.show .dropdown-toggle::after{transform:rotate(180deg);}.account-dropdown .dropdown-menu{border:1px solid rgba(147,197,253,.40);border-radius:16px;padding:.45rem;min-width:220px;margin-top:.55rem;background:linear-gradient(180deg,rgba(239,246,255,.90) 0%,rgba(219,234,254,.82) 100%);backdrop-filter:blur(22px) saturate(1.35);-webkit-backdrop-filter:blur(22px) saturate(1.35);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 18px 38px rgba(15,23,42,.14),0 2px 6px rgba(37,99,235,.08);transform-origin:top right;}@media (prefers-reduced-motion:no-preference){.account-dropdown .dropdown-menu.show,body:not(.android-app):not(.native-app) .account-dropdown:hover>.dropdown-menu,body:not(.android-app):not(.native-app) .account-dropdown:focus-within>.dropdown-menu{animation:fhc-account-dd-in .28s cubic-bezier(.16,1,.3,1) both;}}.account-dropdown .dropdown-menu::before{content:'';position:absolute;top:-14px;left:0;right:0;height:14px;background:transparent;}@keyframes fhc-account-dd-in{from{opacity:0;transform:translateY(-7px) scale(.985);}to{opacity:1;transform:translateY(0) scale(1);}}@media (prefers-reduced-motion:reduce){.account-dropdown .dropdown-menu{animation:none !important;}.account-dropdown .dropdown-toggle::after{transition:none;}body:not(.android-app):not(.native-app) .account-dropdown:hover .dropdown-toggle::after,body:not(.android-app):not(.native-app) .account-dropdown:focus-within .dropdown-toggle::after,.account-dropdown.show .dropdown-toggle::after{transform:none;}}.account-dropdown .dropdown-item{display:flex;align-items:center;gap:.7rem;border-radius:11px;font-weight:600;color:var(--fhc-ink-900);padding:.6rem .7rem;position:relative;transition:background .2s ease,transform .2s ease,color .2s ease;}.account-dropdown .dropdown-item i{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;font-size:.85rem;text-align:center;margin:0 !important;flex:none;transition:background .2s ease,color .2s ease,transform .25s ease;}.account-dropdown .dropdown-item[href*="account"] i{background:linear-gradient(135deg,#93c5fd 0%,#60a5fa 100%);color:#ffffff !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 2px 6px rgba(37,99,235,.22);}.account-dropdown .dropdown-item[href*="logout"] i{background:linear-gradient(135deg,rgba(245,158,11,.18),rgba(217,119,6,.12));color:#b45309;box-shadow:inset 0 0 0 1px rgba(245,158,11,.25);}.account-dropdown .dropdown-item:hover,.account-dropdown .dropdown-item:focus{background:linear-gradient(90deg,rgba(37,99,235,.08),rgba(37,99,235,.02));color:var(--fhc-ink-900);transform:translateX(2px);}.account-dropdown .dropdown-item:hover i{transform:scale(1.06) rotate(-2deg);}.account-dropdown .dropdown-item[href*="logout"]:hover{background:linear-gradient(90deg,rgba(245,158,11,.10),rgba(245,158,11,.02));}@media (min-width:992px){body:not(.android-app):not(.native-app) .account-dropdown:hover>.dropdown-menu,body:not(.android-app):not(.native-app) .account-dropdown:focus-within>.dropdown-menu{display:block;}}@media (max-width:991.98px){.fhc-nav-account-panel{margin-top:0.65rem !important;padding-top:0.75rem !important;border-top:1px solid rgba(147,197,253,0.35);}.fhc-nav-account-panel-head{display:flex;align-items:center;justify-content:center;gap:0.55rem;margin:0.15rem 0 0.55rem;padding:0.35rem 0.5rem;}.fhc-nav-account-panel-avatar{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,#93c5fd 0%,#60a5fa 100%);color:#fff;font-size:0.78rem;box-shadow:inset 0 1px 0 rgba(255,255,255,0.55),0 2px 6px rgba(37,99,235,0.22);}.fhc-nav-account-panel-title{font-weight:700;font-size:0.92rem;color:var(--fhc-ink-900);letter-spacing:0.01em;}.fhc-nav-account-panel-link{display:flex !important;align-items:center;gap:0.7rem !important;margin:0.28rem 0 !important;padding:0.72rem 0.85rem !important;border-radius:12px !important;font-weight:600 !important;color:var(--fhc-ink-900) !important;background:rgba(255,255,255,0.55);border:1px solid rgba(147,197,253,0.28);box-shadow:inset 0 1px 0 rgba(255,255,255,0.85);}.fhc-nav-account-panel-link>i{width:30px;height:30px;display:inline-flex !important;align-items:center;justify-content:center;border-radius:9px;margin:0 !important;font-size:0.85rem;flex:none;}.fhc-nav-account-panel-link:not(.fhc-nav-account-panel-link--logout)>i{background:linear-gradient(135deg,#93c5fd 0%,#60a5fa 100%);color:#fff !important;box-shadow:inset 0 1px 0 rgba(255,255,255,0.55),0 2px 6px rgba(37,99,235,0.22);}.fhc-nav-account-panel-link--logout>i{background:linear-gradient(135deg,rgba(245,158,11,0.18),rgba(217,119,6,0.12));color:#b45309 !important;box-shadow:inset 0 0 0 1px rgba(245,158,11,0.25);}.fhc-nav-account-panel-link:active,.fhc-nav-account-panel-link:focus{background:linear-gradient(90deg,rgba(37,99,235,0.1),rgba(37,99,235,0.03));border-color:rgba(59,130,246,0.35);}.android-app .navbar-collapse .fhc-nav-account-panel,.native-app .navbar-collapse .fhc-nav-account-panel,.android-app.landing-page .navbar-collapse .fhc-nav-account-panel{border-top-color:rgba(147,197,253,0.4);}}.navbar-toggler{border:none;padding:0.5rem;color:var(--fhc-ink-900);-webkit-tap-highlight-color:transparent;}.navbar-toggler:focus{box-shadow:none;}.navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(15,23,42,0.86)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");}@media (max-width:991.98px){.navbar-collapse{background:rgba(241,246,255,.98);margin:1rem -1rem -0.75rem;padding:1rem;border-radius:12px;border:1px solid rgba(148,163,184,.22);box-shadow:0 10px 24px rgba(15,23,42,.10);max-height:min(70vh,calc(100vh - 7.5rem));overflow-y:auto;-webkit-overflow-scrolling:touch;}@media (prefers-reduced-motion:no-preference){.navbar-collapse.collapsing{transition:height .38s cubic-bezier(.16,1,.3,1),opacity .22s ease;}}.nav-link{padding:0.75rem 1rem !important;margin:0.25rem 0;}.container{padding-left:max(1rem,env(safe-area-inset-left,0px));padding-right:max(1rem,env(safe-area-inset-right,0px));}}@media (max-width:576px){body{padding-top:max(68px,calc(58px+env(safe-area-inset-top,0px)));}.navbar .container{margin-top:0 !important;}.card{margin-bottom:1rem;border-radius:12px;}.card-header{padding:1rem;}.card-body{padding:1rem;}.btn{width:100%;max-width:100%;margin-bottom:0.5rem;}.btn-group>.btn,.btn-group-vertical>.btn{width:auto;max-width:none;margin-bottom:0;}.modal-footer .btn{width:auto;flex:1 1 calc(50% - 0.35rem);min-width:0;margin-bottom:0;}.modal-footer{flex-wrap:wrap;gap:0.5rem;}.input-group .btn{width:auto;margin-bottom:0;}.form-control{font-size:16px;}h1{font-size:clamp(1.65rem,6.5vw,2.4rem);}h2{font-size:clamp(1.35rem,5vw,1.8rem);}}@media (hover:none){.nav-link:hover{transform:none;}.btn:hover{transform:none;}.card:hover{transform:none;}}.btn,.nav-link,.form-control,select,input[type="file"]{min-height:44px;}body{overscroll-behavior-y:contain;}.container{max-width:1200px;padding-left:max(1.5rem,env(safe-area-inset-left,0px));padding-right:max(1.5rem,env(safe-area-inset-right,0px));}.table-responsive{max-width:100%;-webkit-overflow-scrolling:touch;}.landing-page{background:radial-gradient(1260px 780px at 10% -10%,rgba(37,99,235,.34),transparent 62%),radial-gradient(980px 700px at 92% 14%,rgba(191,219,254,.80),transparent 66%),radial-gradient(900px 560px at 48% 96%,rgba(96,165,250,.30),transparent 68%),#fbfcfe;background-size:116% 116%,110% 110%,104% 104%,100% 100%;background-repeat:no-repeat,no-repeat,no-repeat,no-repeat;background-attachment:fixed,fixed,fixed,fixed;animation:fhc-shell-breathe 4s ease-in-out infinite alternate;}.landing-page main.container{max-width:100%;padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);}.landing-page .navbar .container{min-height:44px;}.landing-page .navbar-brand img{height:30px;width:30px;border-radius:0;background:transparent;padding:0;box-sizing:border-box;}.landing-page .navbar-brand .brand-text,.landing-page .nav-link,.landing-page .nav-link i{color:var(--fhc-ink-900) !important;}.landing-page .nav-link{opacity:1;font-weight:550;}.landing-page .nav-link:hover{background:rgba(15,23,42,.05);}.landing-page .navbar-nav.ms-auto .nav-link[data-open-auth="login"]{background:transparent;border:1px solid rgba(15,23,42,.12);}.landing-page .nav-link[href*="upload-entry"],.landing-page .nav-link[href*="upload_file"]{background:linear-gradient(135deg,var(--fhc-success-500) 0%,var(--fhc-success-600) 48%,var(--fhc-success-700) 100%) !important;color:#ffffff !important;font-weight:700 !important;box-shadow:0 8px 20px -8px rgba(6,182,212,0.5);border-radius:var(--fhc-radius-pill) !important;}.landing-page .nav-link[href*="upload-entry"] i,.landing-page .nav-link[href*="upload_file"] i{color:#ffffff !important;}.landing-page .nav-link[href*="upload-entry"]:hover,.landing-page .nav-link[href*="upload_file"]:hover{background:linear-gradient(135deg,var(--fhc-success-600) 0%,var(--fhc-success-700) 100%) !important;color:#ffffff !important;transform:translateY(-1px);box-shadow:0 12px 26px -10px rgba(8,145,178,0.55);}.landing-page.is-guest .fhc-mobile-chrome{display:none !important;}@media (max-width:991.98px){.android-app.landing-page .navbar-toggler{display:block;}.android-app.landing-page #navbarNav.navbar-collapse{margin:0.7rem 0 0;padding:0.9rem 0.9rem 0.85rem;background:transparent;border:0;border-radius:18px;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;transform-origin:top center;transition:opacity .24s ease,transform .24s ease;}.android-app.landing-page #navbarNav.navbar-collapse.collapse:not(.show){display:none !important;opacity:0;transform:translateY(-8px) scale(.99);}.android-app.landing-page #navbarNav.navbar-collapse.show,.android-app.landing-page #navbarNav.navbar-collapse.collapsing{display:block !important;opacity:1;transform:translateY(0) scale(1);}.android-app.landing-page .navbar-nav,.android-app.landing-page .navbar-nav.ms-auto{width:100%;margin-left:0 !important;flex-direction:column;gap:0;align-items:center;}.android-app.landing-page .navbar-nav .nav-item{width:100%;text-align:center;}.android-app.landing-page .navbar-nav .nav-link{padding:0.8rem 1rem !important;margin:0.24rem 0 !important;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:0.55rem;font-weight:620;}.android-app.landing-page .navbar-nav .nav-link i{width:1.05rem;text-align:center;}}@media (max-width:991.98px){.android-app.landing-page.is-authenticated .navbar-toggler{display:block;}}.android-app .fhc-mobile-chrome .bottom-nav,.native-app .fhc-mobile-chrome .bottom-nav{transition:transform .24s ease,opacity .24s ease;}.android-app.mobile-menu-open .fhc-mobile-chrome,.native-app.mobile-menu-open .fhc-mobile-chrome{opacity:0;pointer-events:none;}@media (max-width:991.98px){.android-app,.native-app{padding-top:max(68px,calc(52px+env(safe-area-inset-top,0px))) !important;}.android-app .navbar,.native-app .navbar{padding:7px 0 !important;}.android-app .navbar .container,.native-app .navbar .container{min-height:36px;}.android-app .navbar-brand,.native-app .navbar-brand{min-height:36px;margin-right:8px;gap:8px;}.android-app .navbar-toggler,.native-app .navbar-toggler{padding:0.35rem 0.45rem;margin-right:2px;}.android-app.app-page main.container,.native-app.app-page main.container{margin-top:1.4rem;}.android-app.app-page main.container>h1:first-child,.native-app.app-page main.container>h1:first-child,.android-app.app-page main.container>h2:first-child,.native-app.app-page main.container>h2:first-child{margin-bottom:0.4rem;letter-spacing:-0.02em;}.android-app.app-page main.container>p:first-of-type,.native-app.app-page main.container>p:first-of-type{margin-bottom:1.15rem;color:var(--fhc-muted) !important;max-width:44ch;}.android-app.app-page .card,.native-app.app-page .card,.android-app.app-page .account-card,.native-app.app-page .account-card,.android-app.app-page .stat-card,.native-app.app-page .stat-card,.android-app.app-page .upload-item,.native-app.app-page .upload-item{border-radius:28px !important;}.android-app.app-page .form-control,.native-app.app-page .form-control,.android-app.app-page .form-select,.native-app.app-page .form-select,.android-app.app-page .choices__inner,.native-app.app-page .choices__inner{border-radius:16px !important;}.android-app.app-page .card-body,.native-app.app-page .card-body{padding:1.15rem 1.1rem;}}.landing-page .footer{background:transparent;border-top:0;padding:4rem 0 2rem;}.landing-page .footer-heading{font-size:.85rem;letter-spacing:.06em;color:var(--fhc-ink-500);}.landing-page .footer-links a{color:var(--fhc-muted);}.app-page{background:radial-gradient(1040px 620px at 8% -12%,rgba(37,99,235,.34),transparent 58%),radial-gradient(860px 560px at 92% 12%,rgba(191,219,254,.62),transparent 60%),radial-gradient(860px 520px at 50% 96%,rgba(96,165,250,.26),transparent 66%),linear-gradient(180deg,#f9fbff 0%,#eef4ff 100%);background-size:128% 128%,120% 120%,108% 108%,100% 100%;background-repeat:no-repeat,no-repeat,no-repeat,no-repeat;background-attachment:fixed,fixed,fixed,fixed;animation:fhc-shell-breathe 4s ease-in-out infinite alternate;}.app-page .navbar .container{min-height:44px;}.app-page .navbar-brand img{height:30px;width:30px;border-radius:0;background:transparent;padding:0;box-sizing:border-box;}.app-page .nav-link,.app-page .navbar-brand .brand-text,.app-page .nav-link i{color:var(--fhc-ink-900) !important;}.app-page .nav-link{opacity:1;font-weight:550;}.app-page .navbar-nav.ms-auto .nav-link:not([href*="upload-entry"]):not([href="/upload-entry"]):not([href*="upload_file"]):not([href="/upload_file"]){color:var(--fhc-ink-700) !important;}.app-page .nav-link:hover{background:rgba(15,23,42,.05) !important;}.app-page .navbar-nav.ms-auto .nav-link[data-open-auth="login"]{background:transparent;border:1px solid rgba(15,23,42,.12);}.app-page .nav-link[href*="upload-entry"],.app-page .nav-link[href*="upload_file"]{background:linear-gradient(135deg,var(--fhc-success-500) 0%,var(--fhc-success-600) 48%,var(--fhc-success-700) 100%) !important;color:#ffffff !important;font-weight:700 !important;box-shadow:0 8px 20px -8px rgba(6,182,212,0.5);border-radius:var(--fhc-radius-pill) !important;}.app-page .nav-link[href*="upload-entry"] i,.app-page .nav-link[href*="upload_file"] i{color:#ffffff !important;}.app-page .nav-link[href*="upload-entry"]:hover,.app-page .nav-link[href*="upload_file"]:hover{background:linear-gradient(135deg,var(--fhc-success-600) 0%,var(--fhc-success-700) 100%) !important;color:#ffffff !important;transform:translateY(-1px);box-shadow:0 12px 26px -10px rgba(8,145,178,0.55);}.app-page .nav-link.active::after{background:rgba(15,23,42,.6);}@media (max-width:991.98px){.app-page .navbar-collapse{background:rgba(248,250,252,.98);border:1px solid rgba(15,23,42,.08);box-shadow:0 14px 28px rgba(2,6,23,.08);}.app-page .navbar-collapse .nav-link{color:var(--fhc-ink-900) !important;}}@keyframes fhc-shell-breathe{0%{background-position:4% -8%,94% 8%,46% 92%,0 0;}50%{background-position:13% -16%,82% 20%,58% 80%,0 0;}100%{background-position:-1% -3%,97% 27%,37% 97%,0 0;}}.app-page main.container{margin-top:1.5rem;padding-bottom:1rem;}.app-page .card,.app-page .account-card,.app-page .stat-card,.app-page .upload-item{border-radius:20px !important;border:1px solid rgba(255,255,255,.40) !important;box-shadow:0 20px 60px rgba(15,23,42,0.10),0 8px 24px rgba(37,99,235,0.05),inset 0 1px 0 rgba(255,255,255,.60),inset 0 -1px 0 rgba(255,255,255,.18) !important;background:linear-gradient( 180deg,rgba(255,255,255,0.44) 0%,rgba(255,255,255,0.28) 100% );backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);}.app-page .card-header{background:transparent !important;border-bottom:1px solid rgba(15,23,42,.06) !important;}.app-page .table thead th{background:#f8fbff !important;border-color:#e8eef8 !important;color:var(--fhc-ink-700);}.app-page .table td{border-color:#edf2fa;}.app-page .form-control,.app-page .form-select,.app-page .choices__inner{border-radius:18px !important;border:1px solid rgba(148,163,184,0.22) !important;background:rgba(255,255,255,0.52) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,0.55),0 1px 2px rgba(15,23,42,0.03);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}.app-page .choices__list--dropdown{border-radius:16px !important;border:1px solid rgba(148,163,184,0.28) !important;background:rgba(255,255,255,0.76) !important;backdrop-filter:blur(16px) saturate(145%);-webkit-backdrop-filter:blur(16px) saturate(145%);}.app-page .form-control:focus,.app-page .form-select:focus,.app-page .choices.is-focused .choices__inner{border-color:rgba(37,99,235,.42) !important;background:rgba(255,255,255,.72) !important;box-shadow:0 0 0 4px rgba(37,99,235,.10),inset 0 1px 0 rgba(255,255,255,.60) !important;}.app-page .btn-secondary,.app-page .btn-outline-secondary{background:rgba(255,255,255,.72);border:1px solid rgba(148,163,184,.35);color:var(--fhc-ink-700);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}.app-page .btn-outline-secondary:hover,.app-page .btn-secondary:hover{background:rgba(255,255,255,.88);border-color:rgba(37,99,235,.28);color:#1f3f7a;}.app-page h1{letter-spacing:-0.02em;}.app-page h2,.app-page h3{letter-spacing:-0.01em;}section{padding-block:96px;}.fhc-skeleton{background:linear-gradient(90deg,var(--border-color) 25%,#e2e8f0 50%,var(--border-color) 75%);background-size:200% 100%;animation:fhc-skeleton-shine 1.2s ease-in-out infinite;border-radius:6px;}.fhc-skeleton-line{height:1rem;margin-bottom:0.5rem;}.fhc-skeleton-line--short{width:60%;}.fhc-skeleton-line--title{height:1.5rem;width:40%;margin-bottom:1rem;}.fhc-skeleton-card{height:80px;margin-bottom:1rem;border-radius:12px;}.fhc-skeleton-table-row{height:48px;margin-bottom:8px;border-radius:8px;}@keyframes fhc-skeleton-shine{0%{background-position:200% 0;}100%{background-position:-200% 0;}}@media (prefers-reduced-motion:reduce){.fhc-skeleton{animation:none;background:var(--border-color);}}.flash-messages{margin-top:1rem;}.alert{border-radius:8px;border:none;padding:1rem;margin-bottom:1rem;}.card{border:none;border-radius:var(--radius-xl);box-shadow:0 8px 30px rgba(2,6,23,0.05);transition:transform 0.25s ease,box-shadow 0.25s ease;}.card:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(2,6,23,0.08);}.card-header{background-color:var(--card-background);border-bottom:1px solid var(--border-color);padding:1.5rem;}.card-body{padding:2rem;}.btn-primary{background-color:var(--primary-color);border:none;padding:0.9rem 1.75rem;font-weight:600;border-radius:var(--fhc-radius-pill);transition:transform 0.2s ease,box-shadow 0.2s ease,background-color 0.2s ease;}.btn-primary:hover{background-color:var(--primary-hover);transform:translateY(-1px);box-shadow:0 10px 20px rgba(2,6,23,0.12);}.btn-outline-primary{border-radius:var(--fhc-radius-pill);padding:0.9rem 1.75rem;font-weight:600;border-color:#c7d9ff;color:#285fcb;background:#fff;transition:transform 0.2s ease,box-shadow 0.2s ease,background-color 0.2s ease;}.btn-outline-primary:hover{background:var(--surface-soft);transform:translateY(-1px);box-shadow:0 10px 20px rgba(2,6,23,0.08);}.form-control{border-radius:8px;border:1px solid var(--border-color);padding:0.75rem 1rem;transition:all 0.2s ease;}.form-control:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(37,99,235,0.1);}.closing-cta{margin-top:0;padding:28px 0;background:transparent;border-top:0;}.closing-cta__inner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;min-width:0;box-sizing:border-box;border:1px solid rgba(255,255,255,.42);border-radius:20px;background:linear-gradient( 180deg,rgba(255,255,255,.42) 0%,rgba(255,255,255,.24) 100% );box-shadow:0 12px 34px rgba(15,23,42,.05),inset 0 1px 0 rgba(255,255,255,.6);backdrop-filter:blur(16px) saturate(145%);-webkit-backdrop-filter:blur(16px) saturate(145%);}.closing-cta h3{margin:0 0 6px;font-size:1.25rem;font-weight:700;color:var(--text-color);}.closing-cta p{margin:0;color:var(--secondary-color);font-size:0.95rem;}.closing-cta__actions{display:flex;flex-direction:row;flex-wrap:wrap;gap:10px;flex-shrink:0;align-items:center;}.closing-cta__actions .btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;}@media (max-width:768px){.closing-cta{padding:20px 0 24px;}.closing-cta__inner{flex-direction:column;align-items:stretch;padding:20px 18px;gap:16px;border-radius:var(--fhc-radius-md);}.closing-cta h3{font-size:1.15rem;line-height:1.25;}.closing-cta p{font-size:0.92rem;line-height:1.5;}.closing-cta__actions{width:100%;flex-direction:column;align-items:stretch;gap:12px;}.closing-cta__actions .btn{flex:none !important;width:100% !important;max-width:none !important;margin-bottom:0 !important;padding:0.65rem 1rem;}}.footer{background:transparent;padding:3rem 0 1.5rem 0;margin-top:0;border-top:0;}.footer .container{max-width:1200px;margin:0 auto;}.footer .row{justify-content:center;}.footer-brand img{filter:none;}.footer-tagline{color:var(--secondary-color);font-size:0.9rem;line-height:1.6;margin:0;}.footer-heading{font-weight:700;font-size:0.9rem;color:var(--text-color);margin-bottom:12px;text-transform:uppercase;letter-spacing:0.5px;}.footer-links{list-style:none;padding:0;margin:0;}.footer-links li{margin-bottom:8px;}.footer-links a{color:var(--secondary-color);text-decoration:none;font-size:0.9rem;transition:color 0.2s ease;}.footer-links a:hover{color:var(--primary-color);}.footer-bottom{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e2e8f0;text-align:center;}.footer-copyright{color:var(--secondary-color);font-size:0.875rem;}h1,h2,h3,h4,h5,h6{font-weight:600;color:var(--text-color);}.text-center{text-align:center;}.nav-veil{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(15,23,42,.45);backdrop-filter:blur(3px);z-index:99999;}.nav-veil.show{display:flex;}#fhcToastContainer{position:fixed;top:max(1rem,env(safe-area-inset-top,0px));right:max(1rem,env(safe-area-inset-right,0px));left:auto;z-index:100001;display:flex;flex-direction:column;gap:0.5rem;max-width:min(22rem,calc(100vw - 1rem - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));pointer-events:none;}#fhcToastContainer .fhc-toast{pointer-events:auto;padding:0.75rem 1rem;border-radius:var(--fhc-radius-sm);box-shadow:var(--fhc-shadow-2);font-size:0.9375rem;display:flex;align-items:center;gap:0.75rem;animation:fhc-toast-in .25s ease;border-left:4px solid var(--fhc-success-500);background:#fff;color:var(--fhc-ink-900);}#fhcToastContainer .fhc-toast.fhc-toast-error{border-left-color:var(--fhc-danger-500);}#fhcToastContainer .fhc-toast .fhc-toast-close{flex-shrink:0;width:1.75rem;height:1.75rem;padding:0;border:none;background:transparent;color:var(--fhc-ink-500);cursor:pointer;border-radius:var(--fhc-radius-sm);}@keyframes fhc-toast-in{from{opacity:0;transform:translateX(1rem);}to{opacity:1;transform:translateX(0);}}:root{--fhc-bottom-nav-h:72px;--fhc-fab-gap:10px;}.fhc-mobile-chrome{position:fixed;left:0;right:0;bottom:0;top:auto;height:0;z-index:10000;pointer-events:none;overflow:visible;display:none !important;}.fhc-mobile-chrome .bottom-nav{position:absolute;left:0;right:0;bottom:0;z-index:2;background:#ffffff;border-top:1px solid var(--border-color);box-shadow:0 -4px 18px rgba(2,6,23,.06);padding:8px max(12px,env(safe-area-inset-left,0px)) calc(10px+env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-right,0px));min-height:var(--fhc-bottom-nav-h);pointer-events:auto;}.fhc-mobile-chrome .bottom-nav .nav-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));justify-items:center;align-items:end;width:100%;max-width:100%;gap:2px 4px;}.fhc-mobile-chrome .bottom-nav a{text-decoration:none;color:var(--fhc-ink-700);font-size:.85rem;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 8px;border-radius:var(--fhc-radius-sm);max-width:100%;}.fhc-mobile-chrome .bottom-nav a .icon{font-size:20px;}.fhc-mobile-chrome .bottom-nav a.is-active{color:var(--primary-color);background:#eff6ff;}.fhc-mobile-chrome .bottom-nav a.bottom-nav-upload{position:relative;top:-14px;margin-top:-6px;min-width:0;max-width:100%;padding:10px 10px 9px;border-radius:var(--fhc-radius-pill);border:1px solid rgba(255,255,255,0.35);background:linear-gradient(135deg,var(--fhc-success-500) 0%,var(--fhc-success-700) 100%);color:#fff !important;font-weight:700;box-shadow:0 10px 28px rgba(6,182,212,0.42);z-index:3;}.fhc-mobile-chrome .bottom-nav a.bottom-nav-upload .icon{color:#fff !important;font-size:17px;}.fhc-mobile-chrome .bottom-nav a.bottom-nav-upload span{color:#fff !important;font-weight:700;font-size:0.72rem;line-height:1.05;}.fhc-mobile-chrome .bottom-nav a.bottom-nav-upload.is-active{background:linear-gradient(135deg,var(--fhc-success-600) 0%,#155e75 100%);color:#fff !important;}@media (max-width:991.98px){body.is-authenticated .fhc-mobile-chrome{display:block !important;}body.is-guest .fhc-mobile-chrome{display:none !important;}body.is-guest{padding-bottom:0;}body:not(.native-app) .footer{display:block;padding:1.1rem 0 calc(2rem+env(safe-area-inset-bottom,0px));margin-top:1rem;}body:not(.native-app) .footer .footer-heading{font-size:0.82rem;margin-bottom:6px;}body:not(.native-app) .footer .footer-links li{margin-bottom:4px;}body:not(.native-app) .footer .row{text-align:center;}body:not(.native-app) .footer .footer-bottom{margin-top:1rem;padding-top:1rem;}body:not(.native-app) .closing-cta{display:block;margin:1.35rem 0 0;padding:0 0 8px;}body:not(.native-app) .footer .row.g-4{--bs-gutter-y:1rem;justify-content:flex-start;text-align:left;}body:not(.native-app) .footer .footer-heading{text-align:left;}body:not(.native-app) .footer .footer-links{text-align:left;}body:not(.native-app) .footer .footer-bottom{text-align:left;}body.native-app .footer,body.native-app .closing-cta{display:none !important;}}@media (max-width:991.98px){body.is-authenticated{padding-bottom:calc(14px+env(safe-area-inset-bottom,0px)) !important;}body.is-authenticated main.container{padding-bottom:calc(96px+env(safe-area-inset-bottom,0px)) !important;}html:has(body.is-authenticated){scroll-padding-bottom:calc(96px+env(safe-area-inset-bottom,0px));}}.android-app .fab-upload a,.native-app .fab-upload a{background:linear-gradient(135deg,var(--fhc-success-500) 0%,var(--fhc-success-700) 100%) !important;color:#ffffff !important;box-shadow:0 10px 28px rgba(6,182,212,0.42) !important;}.android-app .fab-upload a:hover,.native-app .fab-upload a:hover{background:linear-gradient(135deg,var(--fhc-success-600) 0%,#155e75 100%) !important;color:#ffffff !important;}.android-app .fab-upload a .icon,.native-app .fab-upload a .icon{color:inherit !important;}.android-app .bottom-nav,.native-app .bottom-nav{padding:10px 14px calc(10px+env(safe-area-inset-bottom));background:linear-gradient( 180deg,rgba(255,255,255,0.94) 0%,rgba(241,246,255,0.9) 55%,rgba(238,242,255,0.92) 100% );border-top:1px solid rgba(147,197,253,0.45);box-shadow:0 -1px 0 rgba(255,255,255,0.75) inset,0 -8px 32px rgba(37,99,235,0.07),0 -24px 48px rgba(15,23,42,0.06);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);}.android-app .bottom-nav .nav-items,.native-app .bottom-nav .nav-items{align-items:center;gap:4px;}.android-app .bottom-nav a,.native-app .bottom-nav a{min-width:70px;gap:3px;padding:7px 10px 8px;border-radius:var(--fhc-radius-md);color:var(--fhc-ink-600);transition:background 0.2s ease,color 0.2s ease,box-shadow 0.2s ease,transform 0.15s ease,border-color 0.2s ease;border:1px solid transparent;background:transparent;}.android-app .bottom-nav a .icon,.native-app .bottom-nav a .icon{color:var(--fhc-ink-500);transition:color 0.2s ease;font-size:19px;}.android-app .bottom-nav a span,.native-app .bottom-nav a span{display:block;line-height:1.08;font-size:0.76rem;font-weight:550;letter-spacing:0.01em;}.android-app .bottom-nav a.is-active:not(.bottom-nav-upload),.native-app .bottom-nav a.is-active:not(.bottom-nav-upload){color:var(--fhc-primary-700);font-weight:600;background:linear-gradient( 180deg,rgba(219,234,254,0.98) 0%,rgba(239,246,255,0.72) 100% );border-color:rgba(37,99,235,0.22);box-shadow:inset 0 1px 0 rgba(255,255,255,0.9),0 6px 18px rgba(37,99,235,0.12),0 2px 6px rgba(37,99,235,0.06);}.android-app .bottom-nav a.is-active:not(.bottom-nav-upload) .icon,.native-app .bottom-nav a.is-active:not(.bottom-nav-upload) .icon{color:var(--fhc-primary-600);}.android-app .bottom-nav a.is-active:not(.bottom-nav-upload) span,.native-app .bottom-nav a.is-active:not(.bottom-nav-upload) span{font-weight:600;color:var(--fhc-primary-700);}.android-app .bottom-nav a.bottom-nav-upload.is-active,.native-app .bottom-nav a.bottom-nav-upload.is-active{color:#fff !important;background:linear-gradient(135deg,var(--fhc-success-600) 0%,#155e75 100%) !important;border-color:rgba(255,255,255,0.35) !important;}.android-app .bottom-nav a:active:not(.is-active),.native-app .bottom-nav a:active:not(.is-active){transform:scale(0.98);background:rgba(37,99,235,0.06);}@media (max-width:767.98px){.stat-list{display:grid;gap:12px;}.stat-card{background:var(--card-background);border:1px solid var(--border-color);border-radius:12px;padding:12px;width:100%;overflow:hidden;}.stat-title{font-weight:600;margin:0 0 6px;word-break:break-word;}.stat-stars{color:#f59e0b;}.stat-stars .text-muted{color:#cbd5e1 !important;}.stat-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px;min-width:0;}.stat-chip{background:#f1f5f9;border:1px solid var(--border-color);border-radius:var(--fhc-radius-sm);padding:8px;text-align:center;min-width:0;}.stat-chip .lbl{display:block;color:var(--fhc-ink-500);font-size:.8rem;}.stat-chip .val{display:block;font-weight:600;color:var(--text-color);}.filter-row{margin-left:0 !important;margin-right:0 !important;--bs-gutter-x:.5rem;}.container:not(main),.card,.card-body{overflow-x:hidden;}}:root{--brand:var(--fhc-primary-600);--brand-500:var(--fhc-primary-500);--surface:linear-gradient(180deg,rgba(255,255,255,.55) 0%,rgba(240,247,255,.42) 100%);--field:rgba(255,255,255,.70);--border:rgba(255,255,255,.75);--text:var(--fhc-ink-900);--muted:var(--fhc-ink-500);--overlay:rgba(15,23,42,.28);}.auth-veil{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:var(--overlay);backdrop-filter:blur(14px) saturate(120%);-webkit-backdrop-filter:blur(14px) saturate(120%);z-index:9999;animation:fadeIn .18s ease-out both;}.auth-veil.show{display:flex;}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.auth-sheet{width:min(92vw,480px);background:var(--surface);border:1px solid rgba(255,255,255,.65);border-radius:var(--fhc-radius-lg);box-shadow:0 30px 80px rgba(15,23,42,.22),0 10px 32px rgba(37,99,235,.12),inset 0 1px 0 rgba(255,255,255,.92),inset 0 0 0 1px rgba(255,255,255,.22);color:var(--text);padding:24px;transform:scale(.98) translateY(8px);animation:pop .22s ease-out forwards;position:relative;max-height:calc(100dvh - 32px);max-height:calc(100svh - 32px);overflow:hidden;display:flex;flex-direction:column;justify-content:flex-start;backdrop-filter:blur(28px) saturate(160%);-webkit-backdrop-filter:blur(28px) saturate(160%);}@keyframes pop{to{transform:scale(1) translateY(0);}}.auth-close{position:absolute;right:14px;top:14px;width:34px;height:34px;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:linear-gradient(180deg,rgba(255,255,255,.75),rgba(240,247,255,.55));color:var(--fhc-muted);font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 4px 10px rgba(15,23,42,.08);backdrop-filter:blur(10px) saturate(130%);-webkit-backdrop-filter:blur(10px) saturate(130%);transition:all .2s ease;}.auth-close:hover{color:var(--fhc-ink-900);background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(240,247,255,.72));box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 6px 14px rgba(15,23,42,.12);}.auth-header{display:flex;gap:12px;align-items:center;margin-bottom:10px;}.auth-logo{width:40px;height:40px;filter:none;}.auth-header h2{margin:0;font-weight:700;font-size:1.2rem;color:var(--fhc-ink-900);}.auth-tabs{display:flex;gap:0;padding:4px;margin:10px 0 18px;background:rgba(255,255,255,.28);border:1px solid rgba(255,255,255,.55);border-radius:var(--fhc-radius-md);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 2px 6px rgba(15,23,42,.04);backdrop-filter:blur(12px) saturate(130%);-webkit-backdrop-filter:blur(12px) saturate(130%);}.auth-tab{flex:1;padding:11px 14px;border-radius:var(--fhc-radius-sm);border:1px solid transparent;background:transparent;color:var(--fhc-ink-500);font-weight:600;transition:all .2s ease;}.auth-tab:hover{color:var(--fhc-ink-700);}.auth-tab.is-active{color:var(--fhc-primary-700);background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(240,247,255,.78));border-color:rgba(255,255,255,.8);box-shadow:inset 0 1px 0 rgba(255,255,255,.95),inset 0 -1px 0 rgba(148,163,184,.12),0 4px 12px rgba(37,99,235,.14);}.auth-panel{display:flex;flex-direction:column;flex:0 0 auto;min-height:auto;overflow:visible;background:transparent;border:0;border-radius:0;padding:0;}.auth-panel.is-active{flex:0 0 auto;}.auth-panel:not(.is-active){display:none;}.auth-scroll{flex:0 0 auto;min-height:auto;overflow:visible;-webkit-overflow-scrolling:touch;padding-bottom:0;background:transparent;border-radius:0;}.auth-scroll form{margin:0;padding-bottom:0;}.auth-actions{flex:0 0 auto;padding-top:10px;padding-bottom:0;background:transparent !important;border:0 !important;box-shadow:none !important;}.auth-label{display:block;font-size:.9rem;color:var(--fhc-ink-700);margin-bottom:12px;}.auth-input{width:100%;margin-top:6px;background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(240,247,255,.56));color:var(--text);border:1px solid rgba(255,255,255,.78);border-radius:var(--fhc-radius-md);padding:.95rem 1rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 -1px 0 rgba(148,163,184,.08),0 2px 6px rgba(15,23,42,.04);backdrop-filter:blur(10px) saturate(130%);-webkit-backdrop-filter:blur(10px) saturate(130%);transition:all .2s ease;}.auth-input::placeholder{color:var(--muted);}.auth-input:focus{outline:none;border-color:rgba(96,165,250,.7);background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(240,247,255,.72));box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 0 0 3px rgba(37,99,235,.14),0 4px 12px rgba(37,99,235,.10);}.auth-error{background:rgba(254,226,226,.78);border:1px solid rgba(239,68,68,.3);color:#991b1b;padding:10px 12px;border-radius:12px;margin-bottom:10px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}.auth-btn{margin-top:0;width:100%;height:50px;border:0;border-radius:var(--fhc-radius-md);color:#fff;font-weight:700;font-size:1rem;letter-spacing:-0.01em;background:linear-gradient(180deg,#4f83f5 0%,#2b5ee8 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 0 -1px 0 rgba(0,0,0,.08),0 10px 24px rgba(37,99,235,.32),0 2px 6px rgba(37,99,235,.20);transition:all .2s ease;}.auth-btn:hover{filter:brightness(1.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 14px 30px rgba(37,99,235,.38),0 3px 8px rgba(37,99,235,.24);}.auth-btn:active{transform:translateY(1px);}.auth-btn-secondary{background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(241,245,249,.92));border:1px solid rgba(148,163,184,.34);color:var(--fhc-ink-900);box-shadow:0 6px 18px rgba(15,23,42,.08);}.auth-pw-wrap{position:relative;}.auth-pw-wrap .auth-input{padding-right:2.75rem;}.pw-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:40px;height:36px;border:0;background:transparent;color:var(--fhc-ink-500);border-radius:var(--fhc-radius-sm);}.pw-toggle:hover{background:rgba(15,23,42,.06);color:var(--fhc-ink-700);}@media (max-width:480px){.auth-sheet{width:min(96vw,420px);padding:18px;border-radius:18px;max-height:calc(100dvh - 20px);max-height:calc(100svh - 20px);}.auth-header h2{font-size:1.05rem;}.auth-logo{width:34px;height:34px;}.auth-tabs{padding:3px;margin:8px 0 14px;}.auth-tab{padding:9px 10px;font-size:.95rem;}.auth-label{font-size:.9rem;}.auth-input{padding:.85rem .95rem;font-size:16px;}.auth-btn{height:46px;font-size:1rem;}}