/* Shared navigation: compact group controls and readable dropdowns. */
.topbar{background:linear-gradient(110deg,#123c4b,#153443);border-bottom:2px solid #b58a63;box-shadow:0 4px 20px #0b25321a}
.topbar-inner{min-height:72px;padding:10px 24px;gap:24px}
.brand{font-size:19px;letter-spacing:-.6px}.brand-sub{font-size:10px;letter-spacing:1.2px;opacity:.85}
.topbar nav.main-navigation{overflow:visible;flex-wrap:wrap;gap:16px;padding-bottom:0}
.nav-dropdown{position:relative}
.nav-dropdown>summary{list-style:none;display:flex;align-items:center;gap:8px;cursor:pointer;color:#dce8ec;border:1px solid transparent;background:transparent;border-radius:9px;padding:12px 16px;min-height:45px;font-size:13px;font-weight:600;white-space:nowrap;user-select:none;transition:background .15s,color .15s,border-color .15s}
.nav-dropdown>summary::-webkit-details-marker{display:none}
.nav-icon{flex-shrink:0;opacity:.8}
.nav-dropdown>summary::after{content:'';width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:-3px 0 0 3px;opacity:.6;transition:transform .15s}
.nav-dropdown[open]>summary::after{transform:rotate(225deg);margin-top:3px}
.nav-dropdown[open]>summary,.nav-dropdown>summary:hover{background:#ffffff12;color:#fff;border-color:#ffffff12}
.nav-dropdown>summary:focus-visible{outline:2px solid #e5bc94;outline-offset:3px}
.nav-dropdown.has-current>summary{background:#ffffff14;color:#fff;border-color:#ffffff20;box-shadow:inset 0 -2px #d2ac87}
.nav-dropdown-panel{position:absolute;top:calc(100% + 10px);left:0;min-width:228px;max-width:calc(100vw - 24px);padding:8px;background:#fff;border:1px solid #e3e9ed;border-radius:13px;box-shadow:0 16px 40px #071e3026,0 3px 8px #071e300a;z-index:1010}
nav.main-navigation .nav-dropdown-panel a,nav.main-navigation .nav-dropdown-panel .password-change-nav,nav.main-navigation .nav-dropdown-panel .logout-form button{display:flex;align-items:center;justify-content:flex-start;gap:8px;width:100%;padding:14px 16px;color:#3c5260;background:transparent;border:0;border-radius:8px;font-size:13px;font-weight:500;min-height:47px;line-height:1.4;text-align:left;transition:background .15s,color .15s}
nav.main-navigation .nav-dropdown-panel a:hover,nav.main-navigation .nav-dropdown-panel a:focus-visible,nav.main-navigation .nav-dropdown-panel .password-change-nav:hover,nav.main-navigation .nav-dropdown-panel .password-change-nav:focus-visible{color:#174f63;background:#f0f5f7;outline:none}
nav.main-navigation .nav-dropdown-panel a[aria-current="page"]{background:#edf4f5;color:#174f63;font-weight:700}
nav.main-navigation .nav-dropdown-panel a[aria-current="page"]::after{content:'';margin-left:auto;width:6px;height:6px;border-radius:50%;background:#3b7e86}
nav.main-navigation>a.nav-load-link{display:flex;gap:8px;min-height:41px;padding:10px 13px;border-radius:9px;border:1px solid #d4b08d40;color:#f0d4b7;background:#bc8b5610;font-size:13px;font-weight:600}
nav.main-navigation>a.nav-load-link:hover{background:#bc8b5626;border-color:#d4b08d70}
.nav-my-page{padding-left:22px;margin-left:12px;border-left:1px solid #ffffff20}
.nav-my-page>summary{padding:6px 12px;gap:12px}
.nav-avatar{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #ffffff35;border-radius:50%;background:linear-gradient(145deg,#477381,#285263);color:#fff;font-size:13px;font-weight:700}
.nav-account-label{display:flex;flex-direction:column;gap:2px;line-height:1.3;font-size:10px;font-weight:400;color:#a9c1cd}
.nav-account-label .nav-account-name{font-size:12px;font-weight:700;color:#f2f6f8;max-width:120px;overflow:hidden;text-overflow:ellipsis}
.nav-item-hint{margin-left:auto;color:#8b9aa3;font-size:10px}
nav.main-navigation .nav-dropdown-panel .logout-form{display:block;margin:5px 0 0;padding-top:5px;border-top:1px solid #edf0f3}
nav.main-navigation .nav-dropdown-panel .logout-form button{color:#b25450}
nav.main-navigation .nav-dropdown-panel .logout-form button:hover,nav.main-navigation .nav-dropdown-panel .logout-form button:focus-visible{background:#fff3f2;color:#a63832;outline:none}
.main-navigation .approval-new-badge{font-size:8px;letter-spacing:.03em;padding:3px 5px}
@media(max-width:1250px){.topbar-inner{gap:12px;padding:10px 16px}.topbar nav.main-navigation{gap:10px}.nav-dropdown>summary{padding:11px 13px;gap:8px}.nav-my-page{padding-left:9px;margin-left:4px}}
@media(max-width:760px){.topbar-inner{flex-wrap:wrap;gap:10px;padding:13px 16px}.topbar nav.main-navigation{gap:10px;border-top:1px solid #ffffff12;padding-top:10px}.nav-dropdown>summary{font-size:12px;padding:11px 13px;min-height:44px}.nav-dropdown-panel{max-height:60vh;overflow-y:auto}.nav-my-page{border:0;margin-left:0;padding-left:0}.nav-account-label .nav-account-name{max-width:90px}nav.main-navigation>a.nav-load-link{font-size:12px;padding:9px}}
@media(prefers-reduced-motion:reduce){.main-navigation *{transition:none!important}}
/* Defined group boundaries with restrained color accents. */
.nav-dropdown{--nav-tint:172,202,215}
.nav-dropdown:has([href*="/projects/"]){--nav-tint:155,200,219}
.nav-dropdown:has([href*="client"]){--nav-tint:170,207,183}
.nav-dropdown:has([href*="claim"]){--nav-tint:210,187,157}
.nav-dropdown:has([href*="uploads/excel"]){--nav-tint:164,191,226}
.nav-dropdown:has([href*="accounts/create"]){--nav-tint:196,181,220}
.nav-dropdown>summary{border:1px solid rgba(var(--nav-tint),.38);background:rgba(var(--nav-tint),.09);box-shadow:0 2px 5px #061b2410}
.nav-dropdown>summary:hover,.nav-dropdown[open]>summary{border-color:rgba(var(--nav-tint),.7);background:rgba(var(--nav-tint),.19)}
.nav-my-page>summary{border-color:#ffffff30;background:#ffffff08}
.brand-profile-link{display:block;flex-shrink:0;border-radius:50%;line-height:0}.brand-profile-photo{width:43px;height:43px;border-radius:50%;object-fit:cover;background:#fff;border:2px solid #ffffff70}.nav-avatar-photo{width:48px;height:48px;flex-shrink:0;object-fit:cover;border-radius:50%;background:#fff;border:1px solid #ffffff60}
nav.main-navigation .nav-profile-edit{position:relative;display:block;flex-shrink:0;width:48px;height:48px;min-height:0;padding:0;border:0;border-radius:50%;background:transparent;overflow:hidden;line-height:1}
.nav-profile-edit .nav-avatar-photo{display:block}
.nav-profile-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;background:rgba(12,31,43,.68);color:#fff;font-size:10px;font-weight:700;line-height:1.4;opacity:0;transition:opacity .15s;pointer-events:none}
.nav-profile-edit:hover .nav-profile-overlay,.nav-profile-edit:focus-visible .nav-profile-overlay{opacity:1}
nav.main-navigation .nav-profile-edit:focus-visible{outline:2px solid #e5bc94;outline-offset:3px}
