/* ============================================================
   Horizon Dispatch — Navigation System v2
   Public site + dashboard
   ============================================================ */

:root{
    --nav-height:72px;
    --nav-surface:color-mix(in srgb,var(--hd-bg-elev) 88%,transparent);
    --nav-border:color-mix(in srgb,var(--hd-border-strong) 70%,transparent);
    --nav-shadow:0 18px 50px -28px rgba(0,0,0,.72);
}

/* -------------------- PUBLIC HEADER -------------------- */
.site-nav{
    position:sticky;
    top:0;
    z-index:100;
    border-bottom:0!important;
    background:color-mix(in srgb,var(--hd-bg) 72%,transparent);
    backdrop-filter:blur(18px) saturate(1.15);
    -webkit-backdrop-filter:blur(18px) saturate(1.15);
    transition:background .24s ease,border-color .24s ease,box-shadow .24s ease;
}
.site-nav.is-scrolled{
    background:var(--nav-surface);
    border-color:transparent;
    box-shadow:var(--nav-shadow);
}
.site-nav__inner{
    width:min(1320px,calc(100% - 32px));
    height:var(--nav-height);
    margin:0 auto;
    display:flex;
    align-items:center;
    gap:1rem;
}
.site-nav__brand{
    display:inline-flex;
    align-items:center;
    gap:.72rem;
    min-width:max-content;
    text-decoration:none;
}
.site-nav__brandmark{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:linear-gradient(145deg,var(--hd-surface-2),var(--hd-bg-elev));
    border:1px solid var(--hd-border-strong);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 8px 22px -16px rgba(0,0,0,.8);
}
.site-nav__logo{width:27px;height:27px;object-fit:contain;border-radius:8px;box-shadow:none!important}
.site-nav__brandcopy{display:flex;flex-direction:column;line-height:1.05}
.site-nav__brandcopy strong{font:800 1.03rem/1 var(--hd-font-display);letter-spacing:-.025em;color:var(--hd-text)}
.site-nav__brandcopy strong span{color:var(--hd-brand);-webkit-text-fill-color:initial;background:none}
.site-nav__brandcopy small{margin-top:.28rem;color:var(--hd-text-faint);font-size:.57rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase}

.site-nav__links{
    display:flex;
    align-items:center;
    gap:.18rem;
    margin-left:.6rem;
}
.site-nav__link,.nav-drop>summary{
    position:relative;
    min-height:38px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.42rem;
    padding:.5rem .73rem;
    border-radius:10px;
    color:var(--hd-text-muted);
    font-size:.86rem;
    font-weight:680;
    list-style:none;
    cursor:pointer;
    white-space:nowrap;
    transition:color .18s ease,background .18s ease,transform .18s ease;
}
.site-nav__link:hover,.nav-drop>summary:hover{color:var(--hd-text);background:var(--hd-surface-2)}
.site-nav__link.is-active,.nav-drop.is-active>summary{color:var(--hd-text);background:var(--hd-surface-2)}
.site-nav__link.is-active::after,.nav-drop.is-active>summary::after{
    content:"";
    position:absolute;
    left:28%;
    right:28%;
    bottom:3px;
    height:2px;
    border-radius:999px;
    background:var(--hd-brand);
}
.site-nav__home{width:38px;padding:0}
.site-nav__premium-icon{font-size:.72rem;color:var(--hd-brand)}
.nav-drop>summary::-webkit-details-marker{display:none}
.nav-drop__chevron{font-size:.58rem;opacity:.58;transition:transform .22s cubic-bezier(.2,.75,.25,1)}
.nav-drop[open] .nav-drop__chevron{transform:rotate(180deg)}

.nav-drop{position:relative}
.nav-drop__menu{
    position:absolute;
    top:calc(100% + 12px);
    left:0;
    min-width:272px;
    padding:.6rem;
    border:1px solid var(--hd-border-strong);
    border-radius:15px;
    background:color-mix(in srgb,var(--hd-bg-elev) 96%,transparent);
    backdrop-filter:blur(22px);
    -webkit-backdrop-filter:blur(22px);
    box-shadow:0 28px 70px -26px rgba(0,0,0,.88),inset 0 1px 0 rgba(255,255,255,.045);
    transform-origin:top left;
    overflow:hidden;
}
.nav-drop[open]>.nav-drop__menu{animation:navMenuIn .2s cubic-bezier(.16,1,.3,1)}
.nav-drop__menu--wide{width:min(650px,calc(100vw - 40px))}
.nav-drop__menu--resources{width:315px}
.nav-drop__heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:1rem;
    padding:.35rem .4rem .7rem;
    border-bottom:1px solid var(--hd-hairline);
    margin-bottom:.38rem;
}
.nav-drop__heading span{font:750 .76rem/1 var(--hd-font-display);color:var(--hd-text);text-transform:uppercase;letter-spacing:.08em}
.nav-drop__heading small{font-size:.64rem;color:var(--hd-text-faint)}
.nav-drop__grid{display:grid;grid-template-columns:1fr 1fr;gap:.12rem}
.nav-drop__menu a{
    display:flex;
    align-items:center;
    gap:.72rem;
    min-height:48px;
    padding:.58rem .62rem;
    border-radius:10px;
    color:var(--hd-text-muted);
    transition:background .16s ease,color .16s ease,transform .16s ease;
}
.nav-drop__menu a>i{
    width:31px;height:31px;display:grid;place-items:center;flex:0 0 auto;
    border-radius:9px;background:var(--hd-surface-2);border:1px solid var(--hd-border);
    color:var(--hd-brand);font-size:.8rem;
}
.nav-drop__menu a>span{display:flex;flex-direction:column;min-width:0}
.nav-drop__menu a strong{font-size:.79rem;color:var(--hd-text);font-weight:720}
.nav-drop__menu a small{margin-top:.1rem;font-size:.64rem;color:var(--hd-text-faint)}
.nav-drop__menu a:hover{background:var(--hd-surface-2);transform:translateX(2px)}
.nav-drop__menu a.is-active{background:var(--hd-brand-soft);color:var(--hd-brand)}
.nav-drop__footer{display:flex;justify-content:space-between;gap:.4rem;border-top:1px solid var(--hd-hairline);padding:.5rem .35rem 0;margin-top:.35rem}
.nav-drop__footer a{min-height:auto!important;padding:.35rem!important;font-size:.69rem!important;background:none!important}
.nav-drop__footer a>i{width:auto!important;height:auto!important;border:0!important;background:none!important}

.site-nav__actions{margin-left:auto;display:flex;align-items:center;gap:.42rem}
.site-nav__control{
    min-width:38px;height:38px;
    display:inline-flex;align-items:center;justify-content:center;
    border:1px solid var(--hd-border);
    border-radius:10px;
    background:var(--hd-surface);
    color:var(--hd-text-muted);
    transition:background .17s ease,border-color .17s ease,color .17s ease,transform .17s ease;
}
.site-nav__control:hover{background:var(--hd-surface-2);border-color:var(--hd-border-strong);color:var(--hd-text);transform:translateY(-1px)}
.site-nav__iconbtn{width:38px;padding:0}
.site-nav__download{text-decoration:none}
.lang-switch>summary{height:36px;padding:0 .58rem;border:0;background:none;gap:.36rem}
.lang-switch>summary i:last-child{font-size:.52rem;opacity:.55}
.lang-switch ul{
    top:calc(100% + 11px);
    padding:.4rem;
    min-width:185px;
    border-radius:13px;
    background:var(--hd-bg-elev);
    border:1px solid var(--hd-border-strong);
}
.lang-switch ul a{display:flex;justify-content:space-between;gap:1rem;padding:.55rem .65rem}
.lang-switch ul a small{color:var(--hd-text-faint)}

.site-nav__cta{height:38px;border-radius:10px;padding:0 .85rem}
.site-account{position:relative}
.site-account>summary{
    height:42px;
    display:flex;align-items:center;gap:.55rem;
    padding:.3rem .48rem .3rem .34rem;
    border-radius:12px;
    border:1px solid var(--hd-border);
    background:var(--hd-surface);
    cursor:pointer;list-style:none;
    transition:background .18s ease,border-color .18s ease;
}
.site-account>summary::-webkit-details-marker{display:none}
.site-account>summary:hover,.site-account[open]>summary{background:var(--hd-surface-2);border-color:var(--hd-border-strong)}
.site-account>summary img{width:31px;height:31px;border-radius:9px;object-fit:cover;flex-shrink:0;max-width:none}
.site-account__copy{display:flex;flex-direction:column;min-width:88px;line-height:1.05}
.site-account__copy strong{max-width:115px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--hd-text);font-size:.75rem}
.site-account__copy small{margin-top:.18rem;color:var(--hd-text-faint);font-size:.6rem}
.site-account>summary>i{font-size:.55rem;color:var(--hd-text-faint);transition:transform .2s ease}
.site-account[open]>summary>i{transform:rotate(180deg)}
.site-account__menu{
    position:absolute;right:0;top:calc(100% + 10px);z-index:120;
    width:230px;padding:.48rem;border:1px solid var(--hd-border-strong);border-radius:14px;
    background:var(--hd-bg-elev);box-shadow:0 28px 70px -25px rgba(0,0,0,.88);
    animation:navMenuIn .2s cubic-bezier(.16,1,.3,1);
}
.site-account__head{display:flex;flex-direction:column;padding:.55rem .62rem .7rem;border-bottom:1px solid var(--hd-hairline);margin-bottom:.32rem}
.site-account__head span{font-size:.62rem;color:var(--hd-text-faint);text-transform:uppercase;letter-spacing:.08em}
.site-account__head strong{font-size:.78rem;margin-top:.18rem}
.site-account__menu a{display:flex;align-items:center;gap:.65rem;padding:.58rem .65rem;border-radius:9px;font-size:.78rem;color:var(--hd-text-muted)}
.site-account__menu a:hover{background:var(--hd-surface-2);color:var(--hd-text)}
.site-account__menu a i{width:18px;text-align:center;color:var(--hd-text-faint)}
.site-account__menu .site-account__logout:hover{color:var(--hd-danger);background:color-mix(in srgb,var(--hd-danger) 8%,transparent)}

.site-nav__burger{
    width:42px;height:42px;display:none;flex-direction:column;align-items:center;justify-content:center;gap:4px;
    border:1px solid var(--hd-border);border-radius:11px;background:var(--hd-surface);padding:0;cursor:pointer;
}
.site-nav__burger span{width:17px;height:1.5px;background:var(--hd-text);border-radius:10px;transition:transform .22s ease,opacity .18s ease}
.site-nav__burger[aria-expanded="true"] span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
.site-nav__burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.site-nav__burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}
.site-nav__progress{position:absolute;left:0;right:0;bottom:0;height:1px;overflow:hidden;background:transparent;pointer-events:none}
.site-nav__progress span{display:block;width:100%;height:100%;background:var(--hd-brand);transform:scaleX(0);transform-origin:left center}

/* Drawer */
.site-scrim{
    position:fixed;inset:0;z-index:108;background:rgba(2,4,8,.58);backdrop-filter:blur(4px);
    opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s ease;
}
.site-scrim.open{opacity:1;visibility:visible;display:block}
.site-drawer{
    position:fixed;top:0;right:0;bottom:0;z-index:109;width:min(380px,94vw);
    padding:1rem;display:flex;flex-direction:column;gap:.85rem;
    background:var(--hd-bg-elev);border-left:1px solid var(--hd-border-strong);
    box-shadow:-28px 0 70px -30px rgba(0,0,0,.85);
    transform:translateX(104%);transition:transform .3s cubic-bezier(.16,1,.3,1);overflow-y:auto;
}
.site-drawer.open{transform:translateX(0)}
.site-drawer__head{display:flex;align-items:center;justify-content:space-between;padding-bottom:.9rem;border-bottom:1px solid var(--hd-hairline)}
.site-drawer__close{width:38px;height:38px;border:1px solid var(--hd-border);border-radius:10px;background:var(--hd-surface);color:var(--hd-text);cursor:pointer}
.site-drawer__quick{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem}
.site-drawer__quick a,.site-drawer__quick button{
    min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.42rem;
    min-height:68px;border:1px solid var(--hd-border);border-radius:11px;background:var(--hd-surface);color:var(--hd-text-muted);font:inherit;font-size:.68rem;cursor:pointer;
}
.site-drawer__quick i{color:var(--hd-brand)}
.site-drawer__nav{display:flex;flex-direction:column;gap:.75rem}
.site-drawer__group{display:flex;flex-direction:column;gap:.12rem}
.site-drawer__label{padding:.2rem .62rem .35rem;font-size:.62rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--hd-text-faint)}
.site-drawer__nav a{display:flex;align-items:center;gap:.75rem;padding:.66rem .68rem;border-radius:10px;color:var(--hd-text-muted);font-size:.84rem;font-weight:650}
.site-drawer__nav a i{width:20px;text-align:center;color:var(--hd-text-faint)}
.site-drawer__nav a:hover{background:var(--hd-surface-2);color:var(--hd-text)}
.site-drawer__nav a.is-active{background:var(--hd-brand-soft);color:var(--hd-brand)}
.site-drawer__nav a.is-active i{color:var(--hd-brand)}
.site-drawer__foot{margin-top:auto;padding-top:.8rem;border-top:1px solid var(--hd-hairline)}
.site-drawer__foot .hd-btn{width:100%;justify-content:center;border-radius:11px}

/* -------------------- DASHBOARD -------------------- */
.hd-brand-row--v2{
    display:flex!important;align-items:center;gap:.68rem;padding:.45rem!important;margin:.2rem .35rem .8rem!important;
    color:inherit!important;text-decoration:none!important;border-radius:13px;
}
.hd-brand-row__mark{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:var(--hd-surface-2);border:1px solid var(--hd-border-strong);flex:0 0 auto}
.hd-brand-row__mark .hd-brand-logo{width:26px;height:26px}
.hd-brand-row__copy{display:flex;flex-direction:column;min-width:0;line-height:1.05;flex:1}
.hd-brand-row__copy strong{font:780 .88rem/1 var(--hd-font-display);white-space:nowrap}
.hd-brand-row__copy small{margin-top:.24rem;color:var(--hd-text-faint);font-size:.55rem;text-transform:uppercase;letter-spacing:.08em}
.hd-brand-row__status,.hd-topbar__pulse{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--hd-success);box-shadow:0 0 0 4px color-mix(in srgb,var(--hd-success) 10%,transparent)}
.hd-sidebar{border-right-color:var(--hd-border)!important;background:color-mix(in srgb,var(--hd-bg-elev) 97%,transparent)!important}
.hd-nav>a,.hd-nav__mv-item{
    position:relative;border:1px solid transparent;
    transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease!important;
}
.hd-nav>a:hover,.hd-nav__mv-item:hover{transform:translateX(2px);border-color:var(--hd-hairline)}
.hd-nav>a.active,.hd-nav__mv-item.active{
    background:var(--hd-brand-soft)!important;border-color:color-mix(in srgb,var(--hd-brand) 18%,transparent)!important;color:var(--hd-text)!important;
}
.hd-nav>a.active::before,.hd-nav__mv-item.active::before{
    content:"";position:absolute;left:-1px;top:22%;bottom:22%;width:2px;border-radius:999px;background:var(--hd-brand);
}

.hd-topbar--v2{
    min-height:72px!important;
    display:flex!important;align-items:center!important;justify-content:space-between!important;
    padding:.7rem 1.15rem!important;
    position:sticky!important;top:0!important;z-index:70!important;
    background:color-mix(in srgb,var(--hd-bg) 78%,transparent)!important;
    backdrop-filter:blur(18px) saturate(1.12);-webkit-backdrop-filter:blur(18px) saturate(1.12);
    border-bottom:1px solid transparent!important;
    transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.hd-topbar--v2.is-scrolled{background:color-mix(in srgb,var(--hd-bg-elev) 92%,transparent)!important;border-color:var(--hd-border)!important;box-shadow:0 14px 42px -30px rgba(0,0,0,.85)}
.hd-topbar__left,.hd-topbar__actions{display:flex;align-items:center;gap:.55rem}
.hd-topbar__context{display:flex;flex-direction:column;min-width:0}
.hd-topbar__context h1{font-size:clamp(1rem,2vw,1.25rem)!important;margin:.1rem 0 0!important;line-height:1.12;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hd-topbar__eyebrow{display:flex;align-items:center;gap:.42rem;color:var(--hd-text-faint);font-size:.59rem;font-weight:800;text-transform:uppercase;letter-spacing:.095em}
.hd-topbar__menu{
    width:39px;height:39px;display:none;flex-direction:column;align-items:center;justify-content:center;gap:4px;
    border:1px solid var(--hd-border)!important;border-radius:10px!important;background:var(--hd-surface)!important;padding:0!important
}
.hd-topbar__menu span{width:16px;height:1.5px;background:var(--hd-text);border-radius:9px}
.hd-top-action{
    width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--hd-border);border-radius:10px;background:var(--hd-surface);color:var(--hd-text-muted);cursor:pointer;
    transition:background .17s ease,color .17s ease,border-color .17s ease,transform .17s ease;
}
.hd-top-action:hover{background:var(--hd-surface-2);color:var(--hd-text);border-color:var(--hd-border-strong);transform:translateY(-1px)}
.hd-top-action.is-on{color:var(--hd-brand)}
.hd-user-menu{position:relative}
.hd-user-menu>summary{
    min-height:42px;display:flex;align-items:center;gap:.55rem;padding:.3rem .5rem .3rem .34rem;
    border:1px solid var(--hd-border);border-radius:11px;background:var(--hd-surface);cursor:pointer;list-style:none;
}
.hd-user-menu>summary::-webkit-details-marker{display:none}
.hd-user-menu>summary:hover,.hd-user-menu[open]>summary{background:var(--hd-surface-2);border-color:var(--hd-border-strong)}
.hd-user-menu .hd-user__avatar{width:31px;height:31px;border-radius:9px}
.hd-user-menu__copy{display:flex;flex-direction:column;min-width:95px;line-height:1.06}
.hd-user-menu__copy strong{font-size:.75rem;max-width:125px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hd-user-menu__copy small{margin-top:.16rem;font-size:.59rem;color:var(--hd-text-faint);max-width:125px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hd-user-menu>summary>i{font-size:.55rem;color:var(--hd-text-faint);transition:transform .2s ease}
.hd-user-menu[open]>summary>i{transform:rotate(180deg)}
.hd-user-menu__panel{
    position:absolute;right:0;top:calc(100% + 9px);width:225px;padding:.45rem;border:1px solid var(--hd-border-strong);
    border-radius:13px;background:var(--hd-bg-elev);box-shadow:0 28px 70px -26px rgba(0,0,0,.85);animation:navMenuIn .2s cubic-bezier(.16,1,.3,1);
}
.hd-user-menu__head{display:flex;flex-direction:column;padding:.5rem .62rem .65rem;border-bottom:1px solid var(--hd-hairline);margin-bottom:.3rem}
.hd-user-menu__head span{font-size:.7rem;font-weight:750}.hd-user-menu__head small{margin-top:.15rem;color:var(--hd-text-faint);font-size:.62rem}
.hd-user-menu__panel a{display:flex;align-items:center;gap:.62rem;padding:.56rem .62rem;border-radius:9px;color:var(--hd-text-muted);font-size:.77rem}
.hd-user-menu__panel a i{width:18px;text-align:center;color:var(--hd-text-faint)}
.hd-user-menu__panel a:hover{background:var(--hd-surface-2);color:var(--hd-text)}
.hd-user-menu__panel .hd-user-menu__logout:hover{color:var(--hd-danger);background:color-mix(in srgb,var(--hd-danger) 8%,transparent)}

@keyframes navMenuIn{from{opacity:0;transform:translateY(-6px) scale(.985)}to{opacity:1;transform:none}}

@media(max-width:1120px){
    .site-nav__links{display:none!important}
    .site-nav__burger{display:flex}
    .site-nav__inner{width:min(100% - 22px,1320px)}
}
@media(max-width:760px){
    :root{--nav-height:64px}
    .site-nav__brandcopy small{display:none}
    .site-nav__actions>.lang-switch,.site-nav__actions>.site-nav__download{display:none}
    .site-account__copy{display:none}
    .site-account>summary{padding:.3rem}
    .site-account>summary>i{display:none}
    .hd-topbar__menu{display:flex}
    .hd-user-menu__copy{display:none}
    .hd-user-menu>summary{padding:.28rem}
    .hd-user-menu>summary>i{display:none}
}
@media(max-width:480px){
    .site-nav__brandcopy strong{font-size:.92rem}
    .site-nav__brandmark{width:34px;height:34px}
    .site-nav__cta span{display:none}
    .site-nav__cta{width:38px;padding:0}
    .hd-topbar--v2{padding:.6rem .75rem!important}
    .hd-topbar__eyebrow{display:none}
}


/* Horizon single separator fix — avoid legacy + progress double lines */
.site-nav,
.site-nav.is-scrolled{
    border-bottom:0!important;
    border-bottom-color:transparent!important;
}
.site-nav::after{
    border:0!important;
}
.site-nav__progress{
    bottom:0!important;
    height:1px!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
}
.site-nav__progress span{
    height:1px!important;
    box-shadow:none!important;
}
