/* Shared shell additions: profile, notifications, mobile menu support and desktop footer. */
.odin-v2-notification-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.8rem 1rem;border-bottom:1px solid var(--odin-line)}
.odin-v2-notification-add{width:30px;height:30px;border:0;background:transparent;color:var(--odin-accent-1,var(--odin-info));display:grid;place-items:center;border-radius:50%}
.odin-v2-notification-add:hover{background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 12%,transparent)}
.odin-v2-notification-filters{display:flex;gap:.35rem;padding:.55rem .75rem;border-bottom:1px solid var(--odin-line);overflow-x:auto;scrollbar-width:none}
.odin-v2-notification-filters::-webkit-scrollbar{display:none}.odin-v2-notification-filters button{border:1px solid transparent;background:transparent;color:#71889a;padding:.32rem .55rem;border-radius:999px;font-size:.66rem;font-weight:800;white-space:nowrap}.odin-v2-notification-filters button.active{color:var(--odin-accent-1,var(--odin-info));border-color:var(--odin-accent-1,var(--odin-info));background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 10%,transparent)}
.odin-v2-notification-list{display:flex;flex-direction:column}
.odin-v2-notification-item{display:flex!important;align-items:flex-start!important;gap:.8rem!important;padding:.8rem 1rem!important;border:0!important;border-bottom:1px solid color-mix(in srgb,var(--odin-line) 78%,transparent)!important;background:transparent!important;color:inherit!important;text-decoration:none!important;white-space:normal!important}
.odin-v2-notification-item:last-child{border-bottom:0!important}
.odin-v2-notification-item:hover,.odin-v2-notification-item:focus{background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 7%,transparent)!important;color:inherit!important}
.odin-v2-notification-item>i{width:22px!important;min-width:22px!important;margin-top:.15rem!important;color:var(--odin-accent-1,var(--odin-info))!important;text-align:center!important;font-size:.96rem!important;line-height:1.2!important}
.odin-v2-notification-item>span{display:flex!important;flex-direction:column!important;gap:.12rem!important;min-width:0!important;flex:1 1 auto!important}
.odin-v2-notification-item strong{font-size:.78rem!important;font-weight:800!important;line-height:1.25!important;color:#dcecf5!important}
.odin-v2-notification-item small{font-size:.68rem!important;line-height:1.35!important;color:#7c94a7!important;white-space:normal!important}
.odin-v2-notification-item[hidden]{display:none!important}.odin-v2-notifications-all{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;border-top:1px solid var(--odin-line);color:var(--odin-accent-1,var(--odin-info));text-decoration:none;font-size:.76rem;font-weight:800}.odin-v2-notification-count{position:absolute;top:1px;right:0;min-width:17px;height:17px;padding:0 4px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:#ff5f6d;color:#fff;border:2px solid rgba(7,17,31,.98);font-size:.56rem;font-weight:900;line-height:1}
.odin-v2-user-achievement{border:1px solid color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 72%,transparent);background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 11%,transparent);color:var(--odin-accent-1,var(--odin-info));display:inline-flex;align-items:center;gap:.4rem;padding:.26rem .52rem;border-radius:999px;font-size:.62rem;font-weight:900;letter-spacing:.055em;line-height:1;text-transform:uppercase}
.odin-v2-profile-panel[hidden]{display:none!important}.odin-v2-profile-panel.is-active{display:block}.odin-v2-profile-subhead{display:flex;align-items:center;gap:.7rem;padding:.8rem 1rem;border-bottom:1px solid #21384c;text-align:left}.odin-v2-profile-subhead>button{width:34px;height:34px;flex:0 0 auto;border:0;border-radius:50%;display:grid;place-items:center;background:transparent;color:#91a8b9}.odin-v2-profile-subhead>button:hover{background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 12%,transparent);color:var(--odin-accent-1,var(--odin-info))}.odin-v2-profile-subhead>div{display:flex;flex-direction:column;gap:.08rem}.odin-v2-profile-subhead strong{color:#edf8ff;font-size:.86rem}.odin-v2-profile-subhead small{color:#748c9e;font-size:.64rem}.odin-v2-profile-options{padding:.35rem 1rem .9rem;display:grid;gap:.15rem;text-align:left}.odin-v2-profile-options fieldset{min-width:0;margin:0;padding:.65rem 0;border:0;border-bottom:1px solid #1c3143}.odin-v2-profile-options fieldset:last-child{border-bottom:0;padding-bottom:0}.odin-v2-profile-options legend{float:none;width:auto;margin:0 0 .5rem;padding:0;color:#91a8b9;font-size:.66rem;font-weight:800;letter-spacing:.045em;text-transform:uppercase}.odin-v2-accent-options{display:flex;flex-wrap:wrap;gap:.55rem}.odin-v2-accent-options button{width:27px;height:27px;padding:0;border:2px solid transparent;border-radius:50%;background:var(--choice-color);box-shadow:0 0 0 1px #294054}.odin-v2-accent-options button.is-active{border-color:#fff;box-shadow:0 0 0 2px var(--choice-color)}.odin-v2-choice-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.odin-v2-choice-row button,.odin-v2-role-options button{border:1px solid #294054;border-radius:6px;background:#0c1c2a;color:#9bb0bf;font-size:.72rem;font-weight:750}.odin-v2-choice-row button{min-height:38px}.odin-v2-choice-row button i{margin-right:.3rem}.odin-v2-choice-row button.is-active,.odin-v2-role-options button.is-active{border-color:var(--odin-accent-1,var(--odin-info));background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 10%,#0c1c2a);color:var(--odin-accent-1,var(--odin-info))}.odin-v2-role-options{display:grid;gap:.38rem}.odin-v2-role-options button{min-height:37px;padding:.45rem .6rem;display:grid;grid-template-columns:20px 1fr 16px;align-items:center;gap:.45rem;text-align:left}.odin-v2-role-options button>i:last-child{display:none;font-size:.62rem}.odin-v2-role-options button.is-active>i:last-child{display:inline}.odin-v2-help-content{padding:.9rem 1rem 1rem;display:grid;gap:.9rem;text-align:left}.odin-v2-help-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem}.odin-v2-help-actions a{min-width:0;padding:.65rem .3rem;border:1px solid #294054;border-radius:6px;background:#0c1c2a;color:#9bb0bf;text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:.35rem;font-size:.63rem;font-weight:750}.odin-v2-help-actions a i{font-size:1rem;color:var(--odin-accent-1,var(--odin-info))}
.odin-v2-desktop-profile-menu .odin-v2-logout,.odin-v2-mobile-profile-menu .odin-v2-logout{color:#ff5f6d!important}
@media(min-width:992px){
.odin-v2-desktop-brand{display:none!important}.odin-v2-desktop-topbar-left .odin-v2-search-wrap{flex:1 1 auto!important;max-width:none!important}.odin-v2-profile-switcher{position:static!important}.odin-v2-profile-switch-btn{border:0!important;background:transparent!important;box-shadow:none!important;color:#8fa6b8!important;width:42px!important;height:42px!important;padding:0!important;display:grid!important;place-items:center!important}.odin-v2-profile-switch-btn:hover,.odin-v2-profile-switch-btn[aria-expanded="true"]{color:var(--odin-accent-1,var(--odin-info))!important}.odin-v2-profile-switch-menu.show{display:block!important;position:fixed!important;top:var(--odin-v2-topbar,72px)!important;right:7.35rem!important;left:auto!important;transform:none!important;margin:0!important;width:270px!important;padding:0!important;border-top:0!important;border-radius:0 0 var(--odin-v2-radius,8px) var(--odin-v2-radius,8px)!important;background:#0a1724!important;border-color:#21384c!important}.odin-v2-profile-switch-head{display:flex;flex-direction:column;gap:.18rem;padding:.8rem 1rem;border-bottom:1px solid #21384c}.odin-v2-profile-switch-head strong{font-size:.82rem;color:#edf8ff}.odin-v2-profile-switch-head small{font-size:.64rem;color:#71899b}.odin-v2-profile-switch-menu .dropdown-item{display:grid!important;grid-template-columns:22px 1fr 18px!important;align-items:center!important;gap:.65rem!important;padding:.68rem 1rem!important;color:#cfe0ea!important;font-size:.8rem!important}.odin-v2-profile-switch-menu .dropdown-item>i:first-child{color:#7892a5;text-align:center}.odin-v2-profile-switch-menu .dropdown-item:hover{background:#10263a!important;color:#fff!important}.odin-v2-profile-switch-menu .dropdown-item.active{background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 9%,transparent)!important;color:var(--odin-accent-1,var(--odin-info))!important}.odin-v2-profile-check{color:var(--odin-accent-1,var(--odin-info))!important;font-size:.68rem}
.odin-v2-desktop-profile-dropdown>.dropdown-menu.show{display:block!important;position:fixed!important;top:var(--odin-v2-topbar,72px)!important;right:1rem!important;left:auto!important;transform:none!important;margin:0!important;width:320px!important;max-width:calc(100vw - 2rem)!important;border-radius:0 0 var(--odin-v2-radius,8px) var(--odin-v2-radius,8px)!important}.odin-v2-desktop-profile-menu{background:#0a1724;border:1px solid #21384c;border-top:0;text-align:right!important}.odin-v2-desktop-dropdown-user{padding:.85rem 1rem .8rem;border-bottom:1px solid #21384c;display:flex;flex-direction:column;align-items:flex-end!important;gap:.28rem;text-align:right!important}.odin-v2-desktop-dropdown-user>strong{font-size:.92rem;color:#edf8ff;text-align:right!important;width:100%}.odin-v2-desktop-dropdown-user .odin-v2-user-qualification{font-size:.67rem;font-weight:700;letter-spacing:.035em;color:#8299aa;text-transform:uppercase;text-align:right!important;width:100%}.odin-v2-desktop-dropdown-user .odin-v2-user-achievement{align-self:flex-end!important}.odin-v2-desktop-profile-menu .dropdown-item{padding:.65rem 1rem;font-size:.82rem;color:#cfe0ea;text-align:right!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:.55rem!important}.odin-v2-desktop-profile-menu .dropdown-item i{order:2!important;margin-left:0!important;margin-right:0!important;width:1.1rem!important;text-align:center!important}.odin-v2-desktop-avatar-btn{border:0!important;background:transparent!important;padding:0!important;box-shadow:none!important}.odin-v2-desktop-avatar-btn::after{display:none!important}
.odin-v2-desktop-notification-dropdown>.dropdown-menu.show{display:block!important;position:fixed!important;top:var(--odin-v2-topbar,72px)!important;right:4.6rem!important;left:auto!important;transform:none!important;margin:0!important;width:380px!important;max-width:calc(100vw - 2rem)!important;border-radius:0 0 var(--odin-v2-radius,8px) var(--odin-v2-radius,8px)!important}.odin-v2-notification-panel{background:#0a1724;border:1px solid #21384c;border-top:0}.odin-v2-main-footer{min-height:54px;padding:.8rem 1.35rem;border-top:1px solid var(--odin-line);align-items:center;justify-content:space-between;gap:1rem;color:#6e8495;font-size:.68rem}.odin-v2-main-footer-credit{display:flex;align-items:center;gap:.28rem}.odin-v2-main-footer-credit i{color:var(--odin-accent-1,var(--odin-info));font-size:.72rem}.odin-v2-main-footer-credit strong{font-weight:700;color:#8ca1b0}}
@media(max-width:991.98px){.odin-v2-notification-panel{width:100vw!important;max-width:100vw!important}.odin-v2-notification-filters{padding:.6rem 1rem}.odin-v2-notification-head{padding:.8rem 1rem}}
[data-bs-theme="light"] .odin-v2-notification-count{border-color:#fff}[data-bs-theme="light"] .odin-v2-notification-filters button{color:#6f8292}[data-bs-theme="light"] .odin-v2-desktop-profile-menu,[data-bs-theme="light"] .odin-v2-notification-panel,[data-bs-theme="light"] .odin-v2-profile-switch-menu.show{background:#fff!important;border-color:#d8e3ea!important;color:#1e3140}[data-bs-theme="light"] .odin-v2-notification-item strong{color:#213542!important}[data-bs-theme="light"] .odin-v2-notification-item small{color:#718396!important}[data-bs-theme="light"] .odin-v2-notification-item:hover,[data-bs-theme="light"] .odin-v2-notification-item:focus{background:#eef6f9!important}[data-bs-theme="light"] .odin-v2-desktop-dropdown-user{border-color:#dce6ed}[data-bs-theme="light"] .odin-v2-desktop-dropdown-user>strong,[data-bs-theme="light"] .odin-v2-profile-switch-head strong{color:#172433!important}[data-bs-theme="light"] .odin-v2-desktop-dropdown-user .odin-v2-user-qualification,[data-bs-theme="light"] .odin-v2-profile-switch-head small{color:#718495!important}[data-bs-theme="light"] .odin-v2-desktop-profile-menu .dropdown-item,[data-bs-theme="light"] .odin-v2-profile-switch-menu .dropdown-item{color:#314858!important}[data-bs-theme="light"] .odin-v2-choice-row button,[data-bs-theme="light"] .odin-v2-role-options button,[data-bs-theme="light"] .odin-v2-help-actions a{background:#f7fafc;border-color:#d8e3ea;color:#64798a}


/* Global achievement preview used by desktop and mobile profile menus. */
.odin-v2-user-achievement{cursor:pointer;transition:border-color .18s ease,background-color .18s ease,transform .18s ease}
.odin-v2-user-achievement:hover,.odin-v2-user-achievement:focus-visible{background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 18%,transparent);border-color:var(--odin-accent-1,var(--odin-info));transform:translateY(-1px)}
.odin-achievement-alert.swal2-popup{width:min(440px,calc(100vw - 2rem));padding:1.55rem;border:1px solid #29465b;border-radius:var(--odin-v2-radius,8px);background:#0a1724;color:#dcecf5}
.odin-achievement-alert .swal2-title{padding:0 2rem;color:#edf8ff;font-size:1.18rem;font-weight:850}
.odin-achievement-alert .swal2-html-container{margin:.8rem 0 0;color:#91a8b9}
.odin-achievement-alert-body{display:flex;flex-direction:column;align-items:center;gap:.75rem}
.odin-achievement-alert-icon{width:72px;height:72px;border:1px solid color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 72%,transparent);border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 12%,transparent);color:var(--odin-accent-1,var(--odin-info));font-size:1.8rem}
.odin-achievement-alert-eyebrow{color:var(--odin-accent-1,var(--odin-info));font-size:.66rem;font-weight:900;letter-spacing:.085em;text-transform:uppercase}
.odin-achievement-alert-body p{margin:0;max-width:34ch;color:#b9ccd8;font-size:.86rem;line-height:1.55}
.odin-achievement-alert-meta{width:100%;padding:.72rem .85rem;border:1px solid #21384c;border-radius:var(--odin-v2-radius,8px);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.55rem;background:#0c1c2a;color:#8ca4b5;font-size:.76rem;text-align:left}
.odin-achievement-alert-meta i{color:var(--odin-accent-1,var(--odin-info))}
.odin-achievement-alert-meta strong{color:#edf8ff}
.odin-achievement-alert-body small{color:#71899b;font-size:.68rem}
.odin-achievement-alert-confirm{min-width:130px;border:1px solid var(--odin-accent-1,var(--odin-info));border-radius:var(--odin-v2-radius,8px);background:var(--odin-accent-1,var(--odin-info));color:#06131d;font-weight:850}
.odin-achievement-alert-confirm:hover,.odin-achievement-alert-confirm:focus{filter:brightness(1.08);color:#06131d}
.odin-achievement-alert-close{color:#7892a5!important}
[data-bs-theme="light"] .odin-achievement-alert.swal2-popup{border-color:#d8e3ea;background:#fff;color:#213542}
[data-bs-theme="light"] .odin-achievement-alert .swal2-title,[data-bs-theme="light"] .odin-achievement-alert-meta strong{color:#172433}
[data-bs-theme="light"] .odin-achievement-alert-body p{color:#526b7c}
[data-bs-theme="light"] .odin-achievement-alert-meta{border-color:#d8e3ea;background:#f7fafc;color:#64798a}
[data-bs-theme="light"] .odin-achievement-alert-body small{color:#718495}
