/* FindVault Professional App Layer - responsive launcher, mobile dock and polish */
:root{--fv-bg:#020617;--fv-panel:rgba(15,23,42,.88);--fv-panel2:rgba(2,6,23,.78);--fv-line:rgba(148,163,184,.24);--fv-text:#f8fafc;--fv-muted:#94a3b8;--fv-green:#22c55e;--fv-sky:#38bdf8;--fv-yellow:#facc15;--fv-radius:22px;--fv-shadow:0 24px 80px rgba(0,0,0,.34)}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{overflow-x:hidden}img,svg,video,canvas{max-width:100%;height:auto}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}input,select,textarea{max-width:100%}@media(max-width:760px){input,select,textarea{font-size:16px!important}.shell,.page,main{max-width:100%!important}table{display:block;max-width:100%;overflow-x:auto}}
.fv-skip{position:fixed;left:12px;top:-60px;z-index:99999;padding:10px 14px;border-radius:999px;background:#fff;color:#020617;font-weight:900;box-shadow:var(--fv-shadow);transition:.2s}.fv-skip:focus{top:12px}.fv-reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}.fv-reveal.fv-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.fv-reveal{opacity:1!important;transform:none!important}}
.fv-launch-btn{position:fixed;right:18px;bottom:92px;z-index:9990;display:inline-flex;align-items:center;gap:9px;min-height:48px;padding:12px 15px;border-radius:999px;border:1px solid rgba(148,163,184,.32);background:linear-gradient(135deg,rgba(2,6,23,.94),rgba(15,23,42,.90));color:#f8fafc;font:900 13px/1 Inter,system-ui,sans-serif;box-shadow:0 20px 54px rgba(0,0,0,.38);backdrop-filter:blur(18px);cursor:pointer}.fv-launch-btn span:first-child{width:27px;height:27px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,var(--fv-green),var(--fv-sky));color:#04111d}.fv-launch-btn:hover{transform:translateY(-2px);border-color:rgba(56,189,248,.52)}
.fv-launch-panel{position:fixed;inset:auto 18px 148px auto;width:min(430px,calc(100% - 28px));max-height:min(640px,calc(100vh - 190px));z-index:9991;border:1px solid rgba(148,163,184,.26);background:linear-gradient(180deg,rgba(15,23,42,.97),rgba(2,6,23,.97));border-radius:28px;box-shadow:0 32px 120px rgba(0,0,0,.56);backdrop-filter:blur(24px);color:#f8fafc;overflow:hidden;transform:translateY(14px) scale(.985);opacity:0;pointer-events:none;transition:.2s ease}.fv-launch-panel.fv-open{transform:none;opacity:1;pointer-events:auto}.fv-launch-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border-bottom:1px solid rgba(148,163,184,.18)}.fv-launch-title{display:flex;align-items:center;gap:10px}.fv-launch-logo{width:42px;height:42px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--fv-green),var(--fv-sky));color:#02130d;font-weight:950}.fv-launch-title b{display:block;font:950 16px/1.1 Inter,system-ui,sans-serif}.fv-launch-title small{display:block;margin-top:3px;color:#a8b7cb;font:700 12px/1.2 Inter,system-ui,sans-serif}.fv-close{width:38px;height:38px;border-radius:14px;border:1px solid rgba(148,163,184,.24);background:rgba(255,255,255,.06);color:#fff;font-size:22px;cursor:pointer}.fv-search{padding:12px 16px;border-bottom:1px solid rgba(148,163,184,.14)}.fv-search input{width:100%;min-height:44px;border:1px solid rgba(148,163,184,.24);border-radius:15px;background:rgba(2,6,23,.62);color:#fff;padding:11px 13px;outline:none}.fv-search input:focus{border-color:rgba(56,189,248,.66);box-shadow:0 0 0 4px rgba(56,189,248,.12)}.fv-links{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px;max-height:390px;overflow:auto}.fv-link{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;padding:11px;border:1px solid rgba(148,163,184,.16);border-radius:17px;background:rgba(255,255,255,.045);color:#e5e7eb;text-decoration:none}.fv-link:hover,.fv-link.fv-active{border-color:rgba(34,197,94,.38);background:rgba(34,197,94,.09)}.fv-link i{width:34px;height:34px;border-radius:13px;display:grid;place-items:center;background:rgba(34,197,94,.12);font-style:normal}.fv-link b{display:block;font:900 12.5px/1.15 Inter,system-ui,sans-serif}.fv-link span{display:block;margin-top:3px;color:#94a3b8;font:700 11px/1.25 Inter,system-ui,sans-serif}.fv-cta-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px;border-top:1px solid rgba(148,163,184,.14)}.fv-cta-row a{display:flex;justify-content:center;align-items:center;min-height:43px;padding:10px;border-radius:14px;text-decoration:none;font:950 12px/1 Inter,system-ui,sans-serif}.fv-cta-green{background:linear-gradient(135deg,#22c55e,#86efac);color:#03180d}.fv-cta-blue{background:linear-gradient(135deg,#2563eb,#38bdf8);color:#fff}.fv-backdrop{position:fixed;inset:0;z-index:9989;background:rgba(2,6,23,.44);opacity:0;pointer-events:none;transition:.2s}.fv-backdrop.fv-open{opacity:1;pointer-events:auto}
.fv-mobile-dock{position:fixed;left:50%;bottom:12px;z-index:9988;transform:translateX(-50%);width:min(570px,calc(100% - 18px));display:grid;grid-template-columns:repeat(5,1fr);gap:7px;padding:8px;border:1px solid rgba(148,163,184,.24);border-radius:22px;background:rgba(2,6,23,.86);box-shadow:0 18px 54px rgba(0,0,0,.35);backdrop-filter:blur(22px)}.fv-mobile-dock a{min-height:46px;border-radius:16px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;color:#dbeafe;text-decoration:none;font:850 10.5px/1 Inter,system-ui,sans-serif}.fv-mobile-dock a strong{font-size:17px;line-height:1}.fv-mobile-dock a.fv-active,.fv-mobile-dock a:hover{background:linear-gradient(135deg,rgba(34,197,94,.17),rgba(56,189,248,.13));color:#fff}.fv-safe-bottom{padding-bottom:88px!important}
.fv-hub{padding:70px 0}.fv-hub-shell{width:min(1180px,calc(100% - 28px));margin:0 auto}.fv-hub-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:20px}.fv-hub-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1px solid rgba(34,197,94,.24);background:rgba(34,197,94,.08);color:#bbf7d0;font:950 12px Inter,system-ui}.fv-hub h2{margin:12px 0 7px;font-size:clamp(29px,4vw,48px);line-height:1.06;letter-spacing:-.05em}.fv-hub p{margin:0;color:#94a3b8;max-width:730px}.fv-hub-tools{display:flex;gap:8px;flex-wrap:wrap}.fv-hub-tools input,.fv-hub-tools select{min-height:46px;border-radius:15px;border:1px solid rgba(148,163,184,.26);background:rgba(2,6,23,.54);color:#f8fafc;padding:10px 12px;outline:none}.fv-hub-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.fv-hub-card{min-height:122px;padding:15px;border:1px solid rgba(148,163,184,.19);border-radius:22px;background:linear-gradient(180deg,rgba(15,23,42,.72),rgba(2,6,23,.62));color:#f8fafc;text-decoration:none;box-shadow:0 14px 38px rgba(0,0,0,.16);transition:.2s}.fv-hub-card:hover{transform:translateY(-4px);border-color:rgba(34,197,94,.4);box-shadow:0 22px 55px rgba(0,0,0,.26)}.fv-hub-card .ico{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;background:rgba(34,197,94,.12);font-size:22px}.fv-hub-card b{display:block;margin-top:11px;font-size:15px}.fv-hub-card span{display:block;margin-top:5px;color:#94a3b8;font-size:12px;line-height:1.35}.fv-hub-card em{display:inline-flex;margin-top:10px;padding:5px 8px;border-radius:999px;background:rgba(56,189,248,.11);border:1px solid rgba(56,189,248,.18);color:#bae6fd;font-style:normal;font-size:10px;font-weight:950}.fv-hub-card.main em{color:#bbf7d0;background:rgba(34,197,94,.1);border-color:rgba(34,197,94,.18)}.fv-hub-card.admin em{color:#fecaca;background:rgba(248,113,113,.1);border-color:rgba(248,113,113,.18)}
.fv-pro-banner{margin:14px auto;width:min(1180px,calc(100% - 24px));border-radius:26px;border:1px solid rgba(34,197,94,.22);background:linear-gradient(135deg,rgba(34,197,94,.12),rgba(56,189,248,.09));padding:16px;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;color:#f8fafc}.fv-pro-banner b{display:block;font-size:17px}.fv-pro-banner span{display:block;color:#b8c6d9;font-size:13px;margin-top:3px}.fv-pro-banner a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 13px;border-radius:14px;background:linear-gradient(135deg,#22c55e,#86efac);color:#03180d;text-decoration:none;font-weight:950}.fv-screen-reader{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
@media(max-width:980px){.fv-hub-head{display:block}.fv-hub-tools{margin-top:14px}.fv-hub-grid{grid-template-columns:repeat(2,1fr)}.fv-pro-banner{grid-template-columns:1fr}.fv-links{grid-template-columns:1fr 1fr}}@media(max-width:620px){.fv-launch-btn{right:12px;bottom:86px;padding:11px 12px}.fv-launch-btn .txt{display:none}.fv-launch-panel{inset:auto 10px 86px 10px;width:auto;max-height:calc(100vh - 110px);border-radius:23px}.fv-links{grid-template-columns:1fr;max-height:calc(100vh - 315px)}.fv-mobile-dock{bottom:7px;border-radius:18px;gap:4px;padding:6px}.fv-mobile-dock a{min-height:43px;border-radius:13px;font-size:9.5px}.fv-mobile-dock a strong{font-size:15px}.fv-hub{padding:44px 0}.fv-hub-grid{grid-template-columns:1fr}.fv-hub-tools input,.fv-hub-tools select{width:100%}}


/* ---- FindVault universal professional upgrades 2026 ---- */
[data-fv-link="screen"]{transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease} [data-fv-link="screen"]:hover{transform:translateY(-1px)}
a.fv-current-link:not(.fv-link), a[aria-current="page"]:not(.fv-link){font-weight:950!important;color:#ffffff!important;background:linear-gradient(135deg,rgba(34,197,94,.16),rgba(56,189,248,.12))!important;border-color:rgba(34,197,94,.32)!important}
.fv-cat-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.fv-cat-row button{border:1px solid rgba(148,163,184,.20);background:rgba(255,255,255,.045);color:#cbd5e1;border-radius:999px;padding:7px 10px;font:900 11px/1 Inter,system-ui,sans-serif;cursor:pointer}.fv-cat-row button.on,.fv-cat-row button:hover{background:rgba(34,197,94,.14);border-color:rgba(34,197,94,.36);color:#fff}
.fv-screen-ribbon{width:min(1180px,calc(100% - 26px));margin:14px auto 0;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid rgba(148,163,184,.20);border-radius:20px;background:linear-gradient(135deg,rgba(15,23,42,.86),rgba(2,6,23,.74));box-shadow:0 18px 55px rgba(0,0,0,.18);backdrop-filter:blur(18px);color:#f8fafc;position:relative;z-index:65}.fv-ribbon-left{display:flex;align-items:center;gap:9px;min-width:0;flex-wrap:wrap}.fv-ribbon-left a,.fv-ribbon-actions a,.fv-ribbon-actions button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(148,163,184,.18);background:rgba(255,255,255,.05);color:#e5f2ff;text-decoration:none;padding:8px 11px;font:900 12px/1 Inter,system-ui,sans-serif}.fv-ribbon-left span{color:#64748b}.fv-ribbon-left strong{font:950 13px/1 Inter,system-ui,sans-serif;white-space:nowrap}.fv-ribbon-left small{color:#94a3b8;font-weight:750}.fv-ribbon-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.fv-ribbon-actions a:hover,.fv-ribbon-actions button:hover,.fv-ribbon-left a:hover{border-color:rgba(34,197,94,.36);background:rgba(34,197,94,.12);color:#fff}.fv-ribbon-actions button{cursor:pointer;background:linear-gradient(135deg,rgba(34,197,94,.18),rgba(56,189,248,.13))}
.fv-network-badge{position:fixed;left:18px;bottom:94px;z-index:9987;padding:9px 12px;border-radius:999px;border:1px solid rgba(34,197,94,.24);background:rgba(2,6,23,.82);color:#dcfce7;font:950 11px/1 Inter,system-ui,sans-serif;box-shadow:0 16px 42px rgba(0,0,0,.22);backdrop-filter:blur(16px);opacity:.72;transform:translateY(10px);transition:.22s}.fv-network-badge.off{border-color:rgba(251,146,60,.28);color:#fed7aa}.fv-network-badge.show{opacity:1;transform:none}.fv-top-btn{position:fixed;right:18px;bottom:34px;z-index:9986;width:44px;height:44px;border-radius:16px;border:1px solid rgba(148,163,184,.24);background:rgba(15,23,42,.86);color:#fff;font:950 22px/1 Inter,system-ui,sans-serif;box-shadow:0 16px 42px rgba(0,0,0,.24);backdrop-filter:blur(16px);cursor:pointer;opacity:0;pointer-events:none;transform:translateY(12px);transition:.18s}.fv-top-btn.show{opacity:1;pointer-events:auto;transform:none}.fv-top-btn:hover{border-color:rgba(56,189,248,.45);transform:translateY(-2px)}
.fv-launch-panel{isolation:isolate}.fv-links::-webkit-scrollbar{width:9px}.fv-links::-webkit-scrollbar-thumb{background:rgba(148,163,184,.22);border-radius:999px}.fv-link{position:relative;overflow:hidden}.fv-link:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top left,rgba(56,189,248,.16),transparent 45%);opacity:0;transition:.18s}.fv-link:hover:before,.fv-link.fv-active:before{opacity:1}.fv-link>*{position:relative}.fv-safe-bottom{padding-bottom:max(92px,env(safe-area-inset-bottom))!important}
@media(min-width:621px){.fv-mobile-dock{display:none}.fv-safe-bottom{padding-bottom:0!important}.fv-top-btn{bottom:24px}.fv-network-badge{bottom:24px}.fv-launch-btn{bottom:24px}}
@media(max-width:760px){.fv-screen-ribbon{align-items:stretch;flex-direction:column;margin-top:10px;border-radius:18px}.fv-ribbon-actions{display:grid;grid-template-columns:repeat(3,1fr);width:100%}.fv-ribbon-actions a,.fv-ribbon-actions button{padding:9px 8px}.fv-ribbon-left small{display:block;width:100%}.fv-network-badge{left:10px;bottom:72px}.fv-top-btn{right:12px;bottom:143px;width:40px;height:40px}.fv-launch-btn{bottom:86px}}


/* ---- FindVault connected navigation polish ---- */
body.fv-safe-bottom .mobilebar{display:none!important}
.fv-index-hub-note{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.fv-index-hub-note span{display:inline-flex;align-items:center;border:1px solid rgba(148,163,184,.20);background:rgba(255,255,255,.05);border-radius:999px;padding:8px 11px;color:#cbd5e1;font:850 12px/1 Inter,system-ui,sans-serif}
.fv-hub-card:focus-visible,.fv-link:focus-visible,.fv-mobile-dock a:focus-visible,.fv-launch-btn:focus-visible,.fv-ribbon-actions a:focus-visible,.fv-ribbon-actions button:focus-visible{outline:3px solid rgba(56,189,248,.75);outline-offset:3px}
.fv-page-mini-footer{width:min(1180px,calc(100% - 26px));margin:34px auto 110px;padding:18px;border:1px solid rgba(148,163,184,.18);border-radius:24px;background:rgba(15,23,42,.58);color:#94a3b8;display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap}.fv-page-mini-footer a{color:#dbeafe;text-decoration:none;font-weight:850}.fv-page-mini-footer a:hover{color:#fff}
@media(max-width:760px){.fv-page-mini-footer{margin-bottom:105px}.fv-hub-shell{width:calc(100% - 18px)}}
