/* Management navigation only; report navigation and role rules stay independent. */
menu.control-panel-menu {
    flex: 0 0 300px;
    width: 300px;
    min-width: 300px;
    min-height: calc(100vh - 76px);
    margin: 76px 0 0;
    padding: 24px 18px;
    background: linear-gradient(110deg, #f8fafb, #f1f4f6);
    border-right: 1px solid #dfe7ec;
}
menu.control-panel-menu + section.w-80:not(.w-100) { width: calc(100% - 300px); }
.settings-menu-title {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0 0 20px;
    padding: 10px 14px;
    color: #304957;
    font-size: 17px;
    font-weight: 700;
    line-height: 24px;
}
.control-panel-menu .nav-menu { margin: 0; min-width: 0; gap: 6px; }
.control-panel-menu .left-nav-item { background: transparent; border: 0; border-left: 0 !important; }
.control-panel-menu .left-nav-item + .menu-section-start {
    margin-top: 12px;
    padding-top: 18px;
    border-top: 1px solid #dce5eb;
}
.control-panel-menu .menu-link {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 48px;
    padding: 12px 14px;
    border: 0;
    border-radius: 0 10px 10px 0;
    background: transparent;
    color: #405763 !important;
    font-size: 14px;
    font-weight: 600;
    line-height: 22px;
    text-decoration: none;
    transition: background-color .15s, color .15s;
}
.control-panel-menu .menu-link:hover { background: #eaf1f5; color: #1a89bc !important; }
.control-panel-menu .menu-link.active { background: #e0f0fa; color: #1a89bc !important; font-weight: 700; }
.control-panel-menu .menu-link.active::before {
    content: "";
    position: absolute;
    left: 0;
    top: 7px;
    bottom: 7px;
    width: 3px;
    border-radius: 2px;
    background: #1e96d8;
}
.control-panel-menu .menu-link:focus-visible { outline: 2px solid #1e96d8; outline-offset: 2px; }
.settings-icon {
    display: inline-block;
    flex: 0 0 19px;
    width: 19px;
    height: 19px;
    background-color: currentColor;
    color: #8196a2;
    -webkit-mask: var(--settings-icon) center / contain no-repeat;
    mask: var(--settings-icon) center / contain no-repeat;
}
.settings-menu-title .settings-icon { color: #587584; }
.menu-link.active .settings-icon, .menu-link:hover .settings-icon { color: #1e96d8; }
.control-panel-menu .menu-link.global-substrates .settings-icon { color: #FC6202; }
.settings-icon-gear { --settings-icon: url('../images/fontawesome/gear.svg'); }
.settings-icon-users { --settings-icon: url('../images/fontawesome/users.svg'); }
.settings-icon-industry { --settings-icon: url('../images/fontawesome/industry.svg'); }
.settings-icon-wheat { --settings-icon: url('../images/fontawesome/wheat-awn.svg'); }
.settings-icon-droplet { --settings-icon: url('../images/fontawesome/droplet.svg'); }
.settings-icon-flask { --settings-icon: url('../images/fontawesome/flask.svg'); }
.settings-icon-key { --settings-icon: url('../images/fontawesome/key.svg'); }
.settings-icon-globe { --settings-icon: url('../images/fontawesome/globe.svg'); }
.settings-project-info { margin: 32px 12px 0; padding-top: 20px; border-top: 1px solid #dce5eb; }
.settings-project-info p { margin-bottom: 18px; color: #718591; font-size: 11px; line-height: 1.65; }
.settings-project-info img { display: block; width: 100%; max-width: 250px; height: auto; }
