/* The original nav buttons, permissions and routes power this Dock. */
.portfolio-ocean .shell{display:block;min-height:100svh}
.portfolio-ocean .shell>.content{width:100%;margin:0}
.portfolio-ocean .shell main{max-width:1480px;width:100%;margin:0 auto;padding:30px clamp(20px,4vw,64px) 160px}
.oc-workspace-top{display:flex;align-items:center;gap:24px;min-height:74px;padding:15px clamp(20px,4vw,64px);background:#051c2ac7;border-bottom:1px solid #b6d5e414;backdrop-filter:blur(18px);position:relative;z-index:30}
.portfolio-ocean .oc-workspace-top .brand{display:flex;align-items:center;gap:15px;min-width:0;margin:0;padding:0;border:0;background:transparent;flex:1}
.portfolio-ocean .oc-workspace-top .brand>.kick{display:none}
.portfolio-ocean .oc-workspace-top #brand-name{font-size:16px;color:#eedfc2;font-weight:500;line-height:1.5;margin:0}
.portfolio-ocean .oc-workspace-top #brand-sub{font-size:9px;letter-spacing:.03em;color:#88a9be;margin-top:3px;max-width:340px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.oc-workspace-top .oc-brand-mark{width:28px;height:28px;flex:none;opacity:.8}
.portfolio-ocean .oc-workspace-top #brand-img{width:45px;height:32px;max-height:32px;object-fit:cover;border-radius:6px;margin:0;flex:none}
.oc-top-controls{display:flex;align-items:center}
.oc-brand-copy{min-width:0}
.portfolio-ocean .oc-workspace-top #brand-img[hidden]{display:none!important}
.portfolio-ocean.ocean-transitioning{overflow:hidden}
@media(max-width:550px){.portfolio-ocean .total-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 12px}.portfolio-ocean .total-row>div{min-width:0;padding:0!important;border:0!important}.portfolio-ocean .total-row>div:last-child{grid-column:1/-1;border-top:1px solid #b6d1df22!important;padding-top:12px!important}.portfolio-ocean .total-row b{font-size:clamp(18px,5.5vw,24px)!important;overflow-wrap:anywhere}.portfolio-ocean .total-row>div:last-child b{font-size:20px!important}}
.oc-mobile-logout,.oc-account-hint{display:none}
.oc-more-footer{border-top:1px solid #bdd8e62b;margin-top:12px;padding-top:12px;display:flex;justify-content:flex-end}
.portfolio-ocean .oc-more-footer button{background:#0b2a3fcc;color:#debfb1;border:1px solid #b7cfd43b;border-radius:100px;min-height:44px;padding:9px 20px;font-size:12px}
.portfolio-ocean .oc-workspace-top .acct{display:block!important;margin:0;position:relative;flex:none}
.portfolio-ocean .oc-workspace-top .acct-btn{margin:0;min-height:36px;padding:6px 11px;border-radius:100px;background:#12334990;border:1px solid #a1bfd12b;font-size:11px}
.portfolio-ocean .oc-workspace-top .acct-av{width:24px;height:24px;font-size:10px}
.portfolio-ocean .oc-workspace-top .acct-menu{left:auto;right:0;top:calc(100% + 10px);bottom:auto;width:214px;z-index:100}
.portfolio-ocean .shell header{padding:20px clamp(20px,4vw,64px);background:#0b29406b;box-shadow:none;border-bottom:1px solid #bdd2db17}
.portfolio-ocean .oc-dock{position:fixed;left:50%;right:auto;top:auto;bottom:22px;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 32px);height:auto;min-height:0;display:block;flex:none;padding:9px 12px 7px;background:linear-gradient(150deg,#345a687d,#092739bd);border:1px solid #cfedf035;border-radius:23px;box-shadow:0 15px 45px #000e1f70,inset 0 1px 0 #f3fcff25;backdrop-filter:blur(26px) saturate(1.6);overflow:visible;z-index:60;isolation:isolate}
.oc-dock>.brand,.oc-dock>.side-cat,.oc-dock>.side-foot{display:none!important}
.portfolio-ocean .oc-dock nav{display:flex;flex-direction:row;justify-content:center;align-items:flex-end;gap:3px;overflow:visible;margin:0;padding:0;flex:none}
.oc-dock nav>.navg{display:none!important}
.portfolio-ocean .oc-dock nav button{--dock-proximity:0;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:56px;height:64px;min-height:64px;flex:none;gap:0;margin:0;padding:0;font-size:0;line-height:1;background:none!important;border:0!important;border-radius:14px;color:var(--dock-color);box-shadow:none!important;overflow:visible;transform:none!important}
.portfolio-ocean .oc-dock nav button.oc-dock-secondary{display:none}
.portfolio-ocean .oc-dock nav button.navmore{display:flex}
.portfolio-ocean .oc-dock nav button:before{display:none!important}
.portfolio-ocean .oc-dock nav button .oc-dock-tile{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid #c5dce730;border-radius:13px;background:linear-gradient(145deg,#718d9e44,#0a293e99);box-shadow:0 5px 12px #00112230,inset 0 1px 0 #e5f6fb22;color:var(--dock-color);transform-origin:center bottom;transform:translateY(calc(-10px * var(--dock-proximity))) scale(calc(1 + .36 * var(--dock-proximity)));transition:transform .17s ease-out,background .2s,border-color .2s;position:relative;overflow:hidden;flex:none}
.portfolio-ocean .oc-dock nav button .ic-m{display:none}
.portfolio-ocean .oc-dock nav button .oc-dock-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(150deg,#d4f8ff18,transparent 55%);pointer-events:none}
.portfolio-ocean .oc-dock nav button .ic svg{width:25px;height:25px;display:block}
.portfolio-ocean .oc-dock nav button:hover .oc-dock-tile,.portfolio-ocean .oc-dock nav button:focus-visible .oc-dock-tile{border-color:#dcf1f378;background:linear-gradient(145deg,#98b4c455,#14394fbf)}
.portfolio-ocean .oc-dock nav button:focus-visible{outline:2px solid #c2e2eb;outline-offset:4px}
.portfolio-ocean .oc-dock nav button.dock-active:after{content:"";position:absolute;width:4px;height:4px;background:#e4cca0;border-radius:50%;bottom:0;left:calc(50% - 2px);box-shadow:0 0 8px #e7cfab77}
.portfolio-ocean .oc-dock nav button.dock-active .oc-dock-tile{border-color:#d4bb8659;background:linear-gradient(140deg,#8b91764b,#1b3d4dac)}
.oc-dock-tooltip{position:absolute;bottom:calc(100% + 12px + 8px * var(--dock-proximity));left:50%;transform:translate(-50%,4px);border:1px solid #c4dfeb30;background:#0d293fe8;backdrop-filter:blur(18px);border-radius:9px;box-shadow:0 6px 22px #00112150;color:#e2edf1;padding:7px 11px;white-space:nowrap;font-size:11px;opacity:0;pointer-events:none;transition:opacity .16s,transform .16s}
.oc-dock button:hover .oc-dock-tooltip,.oc-dock button:focus-visible .oc-dock-tooltip{opacity:1;transform:translate(-50%,0)}
.oc-dock-caption,.oc-dock .lb,.oc-dock .lb-m{display:none!important}
.portfolio-ocean .oc-dock .cnt{position:absolute;top:2px;right:3px;margin:0;background:#376077;color:#e4eef3;border:1px solid #aacdd550;border-radius:100px;min-width:13px;font-size:8px;padding:2px 3px;line-height:1;z-index:2;pointer-events:none}
.portfolio-ocean .oc-dock .mcnt{display:none}
.portfolio-ocean.ocean-locked .oc-dock,.portfolio-ocean.ocean-transitioning .oc-dock,.portfolio-ocean:not(.ocean-ready) .oc-dock{visibility:hidden!important;pointer-events:none!important}
.portfolio-ocean #cat-wrap{bottom:112px}
.portfolio-ocean #more-sheet{left:50%;right:auto;bottom:118px;transform:translateX(-50%);width:min(560px,calc(100vw - 32px));max-height:calc(100svh - 150px);overflow-y:auto;border-radius:20px;border:1px solid #b7d5e442;background:linear-gradient(140deg,#1b3f53ed,#072438f2);backdrop-filter:blur(28px);box-shadow:0 20px 65px #000f2170;padding:12px 15px 18px;z-index:80}
.portfolio-ocean #more-mask{background:#03132277;backdrop-filter:blur(3px);z-index:70}
.portfolio-ocean .mtabs:not([hidden]){background:#0a293c90;border-color:#b7d5e427}
.portfolio-ocean.ocean-arriving .shell{animation:ocWorkspaceSurface 1.65s cubic-bezier(.2,.65,.15,1) both}
.portfolio-ocean.ocean-arriving .oc-dock{animation:ocDockSurface 1.55s cubic-bezier(.18,.8,.25,1) both}
.portfolio-ocean.ocean-arriving .oc-dock .oc-dock-tile{animation:ocDockTileSurface 1s ease both;animation-delay:calc(.25s + var(--dock-order) * .045s)}
.oc-water-veil{position:fixed;inset:0;z-index:4;pointer-events:none;overflow:hidden;visibility:hidden}
.oc-water-veil:before{content:"";position:absolute;left:62%;top:25%;width:105vmax;height:105vmax;border-radius:50%;background:radial-gradient(circle,transparent 59%,#bbe8f318 62%,#d8fbff30 63%,transparent 67%);transform:translate(-50%,-50%) scale(.25);opacity:0}
.oc-water-veil:after{content:"";position:absolute;inset:-40%;background:linear-gradient(125deg,transparent 40%,#a6d9ec12 47%,#d7f6fa26 50%,#accfe50b 54%,transparent 63%);opacity:0;transform:translateY(-45%)}
.portfolio-ocean.ocean-arriving .oc-water-veil{visibility:visible}
.portfolio-ocean.ocean-arriving .oc-water-veil:before{animation:ocMoonRipple 1.65s ease-out both}
.portfolio-ocean.ocean-arriving .oc-water-veil:after{animation:ocMoonSweep 1.5s ease-out both}
.portfolio-ocean.ocean-signed-in #ocean-shade{background:linear-gradient(90deg,#03162466,transparent 85%)}
#ocean-shade:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#031628bd,#06263c96);opacity:0;transition:opacity 1.65s ease}
.portfolio-ocean.ocean-signed-in #ocean-shade:after{opacity:1}
@keyframes ocWorkspaceSurface{0%,12%{opacity:0;transform:translateY(28px) scale(.986);filter:blur(11px)}65%{opacity:.85;transform:translateY(6px) scale(.997);filter:blur(2px)}100%{opacity:1;transform:none;filter:none}}
@keyframes ocDockSurface{0%,28%{opacity:0;transform:translate(-50%,45px)}100%{opacity:1;transform:translate(-50%,0)}}
@keyframes ocDockTileSurface{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
@keyframes ocMoonRipple{0%{opacity:0;transform:translate(-50%,-50%) scale(.24)}20%{opacity:.8}100%{opacity:0;transform:translate(-50%,-50%) scale(1.6)}}
@keyframes ocMoonSweep{0%{opacity:0;transform:translateY(-50%)}25%{opacity:.85}100%{opacity:0;transform:translateY(48%)}}
@media(max-width:899px){.oc-workspace-top{min-height:62px;padding:13px 20px;gap:10px}.oc-top-controls{display:none}.portfolio-ocean .oc-workspace-top #brand-name{font-size:14px}.portfolio-ocean .oc-workspace-top #brand-sub{max-width:230px;font-size:8px}.portfolio-ocean .shell header{padding:16px 20px}.portfolio-ocean .shell main{padding:20px 18px 135px}.portfolio-ocean .oc-dock{width:min(420px,calc(100vw - 28px));bottom:calc(12px + env(safe-area-inset-bottom));padding:6px 8px 7px;border-radius:22px}.portfolio-ocean .oc-dock nav{gap:0;justify-content:space-around}.portfolio-ocean .oc-dock nav button{flex:1;width:auto;height:62px;min-height:62px;gap:4px;font-size:0}.portfolio-ocean .oc-dock nav button.sec,.portfolio-ocean .oc-dock nav button.mhide{display:none}.portfolio-ocean .oc-dock nav button .oc-dock-tile{width:33px;height:33px;border-radius:10px;transform:none!important;transition:background .2s}.portfolio-ocean .oc-dock nav button .ic svg{width:21px;height:21px}.portfolio-ocean .oc-dock nav button .ic-d{display:none}.portfolio-ocean .oc-dock nav button .ic-m{display:flex}.portfolio-ocean .oc-dock .oc-dock-caption{display:block!important;font-size:9px;color:#adc7d8;line-height:1.2}.portfolio-ocean .oc-dock button.dock-active .oc-dock-caption{color:#eddbbc}.oc-dock-tooltip{display:none}.portfolio-ocean .oc-dock nav button.dock-active:after{bottom:-3px;width:3px;height:3px}.portfolio-ocean .oc-dock .dcnt{display:none}.portfolio-ocean .oc-dock .mcnt{display:inline-block}.portfolio-ocean .oc-dock .cnt{right:calc(50% - 26px);top:1px}.portfolio-ocean #more-sheet{bottom:calc(100px + env(safe-area-inset-bottom));width:calc(100vw - 28px)}.portfolio-ocean #cat-wrap{bottom:110px}}
@media(max-width:550px){.oc-workspace-top{padding:12px 17px}.oc-workspace-top .oc-brand-mark{width:24px;height:24px}.portfolio-ocean .oc-workspace-top .brand{gap:10px}.portfolio-ocean .oc-workspace-top #brand-sub{max-width:185px;font-size:7px}.portfolio-ocean .oc-workspace-top .acct-nm{display:none}.portfolio-ocean .oc-workspace-top .acct-btn{padding:5px 8px}.portfolio-ocean .shell header{padding:15px 17px}.portfolio-ocean .shell main{padding-left:16px;padding-right:16px}.portfolio-ocean .oc-workspace-top #brand-img{display:none}}
@media(prefers-reduced-motion:reduce){.portfolio-ocean.ocean-arriving .shell,.portfolio-ocean.ocean-arriving .oc-dock,.portfolio-ocean.ocean-arriving .oc-dock .oc-dock-tile{animation:none}.oc-water-veil{display:none}.portfolio-ocean .oc-dock nav button .oc-dock-tile{transform:none!important;transition:none}#ocean-shade:after{transition:none}}
@media(max-width:899px){.portfolio-ocean .oc-mobile-logout{display:block;min-height:44px;min-width:44px;padding:7px 10px;font-size:11px;border-radius:100px;background:#193b4c88;border:1px solid #c9d8dc33;color:#d5d9cb;flex:none}.oc-account-hint{display:inline;font-size:10px}.portfolio-ocean .oc-workspace-top .acct-btn{min-height:44px}.portfolio-ocean .oc-workspace-top #brand-name{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portfolio-ocean .oc-workspace-top #brand-sub{max-width:100%}.portfolio-ocean .oc-workspace-top .acct-nm{display:none}}
