.topbar{background:linear-gradient(135deg,#0a439f,#1768e5);color:#fff;position:sticky;top:0;z-index:50;box-shadow:0 8px 25px rgba(0,0,0,.08)}
.shared-header-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:16px;padding-bottom:16px;flex-wrap:nowrap}
.brand{display:flex;align-items:center;gap:14px;min-width:0;flex:0 0 auto}.brand-badge{width:60px;height:60px;border-radius:18px;background:linear-gradient(135deg,#ffffff,#dbe8ff);display:grid;place-items:center;flex:0 0 60px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(10,67,159,.08)}.brand-logo{width:42px;height:42px;object-fit:contain;display:block;filter:contrast(1.12) saturate(1.05)}.brand h1{margin:0;font-size:28px;line-height:1.1;white-space:nowrap}.brand-subtitle{font-size:12px;opacity:.82;line-height:1.2;margin-top:3px;white-space:nowrap}
.menu{display:flex;gap:8px;flex:1 1 auto;justify-content:center;align-items:center;min-width:0;flex-wrap:nowrap}.menu a{padding:10px 12px;border-radius:999px;font-weight:600;font-size:14px;white-space:nowrap;color:#fff;text-decoration:none}.menu a:hover,.menu a.active{background:rgba(255,255,255,.16);color:#fff}
.profile-wrap{display:flex;align-items:center;gap:8px;flex:0 0 auto;white-space:nowrap;position:relative}.profile{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.14);padding:8px 12px;border-radius:999px;min-width:0;cursor:pointer}.avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#0b48ab;font-weight:800;flex:0 0 40px}.profile-text{min-width:0}.profile strong{display:block;font-size:16px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}.logout{border:none;background:#fff;color:#0b48ab;border-radius:999px;padding:6px 10px;font-weight:700;cursor:pointer;font-size:13px;line-height:1;white-space:nowrap;flex:0 0 auto}.logout:hover{background:#f3f7ff}
.profile-menu{position:absolute;top:calc(100% + 10px);right:0;width:320px;background:#fff;border:1px solid #d9e6fb;border-radius:20px;box-shadow:0 24px 60px rgba(15,52,120,.18);padding:16px;z-index:30;color:#17345f}.profile-menu[hidden],.profile-wrap[hidden]{display:none!important}.profile-menu-head{display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid #d9e6fb}.avatar-lg{width:48px;height:48px;flex:0 0 48px}.profile-menu-identity{display:grid;gap:4px;min-width:0}.profile-menu-identity strong,.profile-menu-identity span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-menu-identity span{font-size:13px;color:#6d83a8}.profile-menu-actions{display:grid;gap:10px;padding-top:14px}.profile-menu-btn{border:none;background:#edf5ff;color:#0d57d0;padding:12px 14px;border-radius:14px;font-weight:700;cursor:pointer;text-align:left}.profile-menu-btn:hover{filter:brightness(.98)}
.modal-overlay{position:fixed;inset:0;background:rgba(11,35,82,.42);display:grid;place-items:center;padding:20px;z-index:100}.modal-overlay[hidden]{display:none!important}.modal{width:min(100%,520px);background:#fff;border-radius:24px;box-shadow:0 30px 80px rgba(11,35,82,.22);border:1px solid #d9e6fb}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:22px 22px 12px}.modal-title-wrap h3{margin:0;font-size:22px}.modal-subtitle{margin:6px 0 0;color:#6d83a8;font-size:14px}.close-btn{border:none;background:#edf5ff;color:#0d57d0;width:38px;height:38px;border-radius:12px;font-size:24px;cursor:pointer}.modal-body{padding:0 22px 22px}.modal-footer{display:flex;justify-content:flex-end;gap:18px;padding-top:20px}.modal-footer .btn{min-width:140px}
[data-auth-state="public"] [data-admin-only],[data-auth-state="public"] .auth-only{display:none!important}[data-auth-state="authenticated"] [data-public-only]{display:none!important}
@media (max-width:991px){.shared-header-inner{flex-wrap:wrap}.menu{order:3;width:100%;justify-content:flex-start;flex-wrap:wrap}.brand-subtitle{white-space:normal}}@media (max-width:575px){.brand h1{font-size:24px}.brand-badge{width:44px;height:44px;flex-basis:44px}.brand-logo{width:26px;height:26px}}
.simple-footer-band{min-height:20px;}
