/* /Pages/Stimatore/RicercaStimatore.razor.rz.scp.css */
/* ---- Page header ---- */
.page-toolbar[b-tj4a1i9bs8] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 0;
    margin-bottom: 8px;
}

.page-toolbar h4[b-tj4a1i9bs8] {
    font-size: 20px;
    font-weight: 600;
    color: rgba(0, 0, 0, 0.85);
    margin: 0;
}

.toolbar-actions[b-tj4a1i9bs8] {
    display: flex;
    gap: 8px;
}

/* ---- Filter panel ---- */
.filter-panel[b-tj4a1i9bs8] {
    background: #fafafa;
    border: 1px solid #e8e8e8;
    border-radius: 4px;
    padding: 16px 24px 8px;
    margin-bottom: 24px;
}

.filter-row[b-tj4a1i9bs8] {
    display: flex;
    align-items: center;
    margin-bottom: 16px;
}

.filter-label[b-tj4a1i9bs8] {
    width: 170px;
    min-width: 170px;
    text-align: right;
    padding-right: 12px;
    color: rgba(0, 0, 0, 0.85);
    white-space: nowrap;
    font-size: 14px;
}

.filter-control[b-tj4a1i9bs8] {
    flex: 1;
}

.filter-actions[b-tj4a1i9bs8] {
    display: flex;
    justify-content: flex-end;
    padding-bottom: 16px;
}
/* /Shared/AppBar.razor.rz.scp.css */
.appbar[b-gj590pteiu] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 100%;
}

.appbar__right[b-gj590pteiu] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.appbar__username[b-gj590pteiu] {
    font-size: 14px;
    color: #595959;
}
/* /Shared/MainLayout.razor.rz.scp.css */
/* App shell two-column layout: fixed sidebar + scrollable content area.
   Mirrors the React AntD Layout (Sider + Content) structure.
   Phase 2: sidebar width and app bar styles will be refined with real components. */

.app-shell[b-ehppysrdoy] {
    display: flex;
    height: 100vh;
    overflow: hidden;
}

/* Sidebar column — width and background owned by SidebarComponent.razor.css.
   overflow:hidden so the sidebar's own transition is not clipped by the shell. */
.app-shell__sidebar[b-ehppysrdoy] {
    flex-shrink: 0;
    overflow: hidden;
}

/* Right column: app bar on top, scrollable content below */
.app-shell__body[b-ehppysrdoy] {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-width: 0;
}

.app-shell__appbar[b-ehppysrdoy] {
    height: 56px;
    flex-shrink: 0;
    background-color: #fff;
    border-bottom: 1px solid #e8e8e8;
    display: flex;
    align-items: center;
    padding: 0 16px;
}

.app-shell__content[b-ehppysrdoy] {
    flex: 1;
    overflow-y: auto;
    padding: 24px;
    background-color: #ffffff;
}
/* /Shared/MenuItemComponent.razor.rz.scp.css */
/* Menu group (Aggregator) — matches AntD SubMenu dark theme styling */
.menu-group[b-ge9vpgxy7i] {
    display: flex;
    flex-direction: column;
}

.menu-group__header[b-ge9vpgxy7i] {
    display: flex;
    align-items: center;
    padding: 0 16px;
    height: 40px;
    background: none;
    border: none;
    cursor: pointer;
    color: rgba(255, 255, 255, 0.65);
    font-size: 14px;
    text-align: left;
    width: 100%;
    transition: color 0.2s, background-color 0.2s;
    gap: 8px;
}

.menu-group__header:hover[b-ge9vpgxy7i] {
    color: #fff;
    background-color: rgba(255, 255, 255, 0.08);
}

.menu-group__title[b-ge9vpgxy7i] {
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 40px;
}

/* AntD-style chevron: up (^) when expanded, down (v) when collapsed */
.menu-group__arrow[b-ge9vpgxy7i] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    color: rgba(255, 255, 255, 0.45);
    font-size: 10px;
    transition: transform 0.3s;
}

.menu-group__arrow--open[b-ge9vpgxy7i] {
    transform: rotate(180deg); /* caret-alt-down flipped up = ^ expanded */
}

.menu-group__arrow:not(.menu-group__arrow--open)[b-ge9vpgxy7i] {
    transform: rotate(0deg); /* caret-alt-down pointing down = v collapsed */
}

/* Children: same background as sidebar (#001529), no depth band */
.menu-group__children[b-ge9vpgxy7i] {
    background-color: #001529;
}

/* AntD level-1 indent: 48px for leaf items inside a group */
.menu-group__children .menu-item[b-ge9vpgxy7i] {
    padding-left: 48px;
}

/* Nested group headers (sub-sub-menus): 24px indent */
.menu-group__children .menu-group__header[b-ge9vpgxy7i] {
    padding-left: 24px;
}

/* AntD level-2 indent: 72px for items inside nested groups */
.menu-group__children .menu-group__children .menu-item[b-ge9vpgxy7i] {
    padding-left: 72px;
}

/* Menu leaf item (.menu-item) styles are in app.css — NavLink's <a> root
   does not receive Blazor CSS isolation scope attributes so scoped rules
   would not match it. Only the icon size for group headers stays here. */
.menu-group__header .k-svg-icon[b-ge9vpgxy7i] {
    width: 14px;
    height: 14px;
}
/* /Shared/SidebarComponent.razor.rz.scp.css */
/* Sidebar: mirrors AntD dark Sider (#001529 background).
   Brand area uses primary color #00421e (dark green) matching antd-theme.less.
   Collapse transition matches AntD's default 0.2s. */

.sidebar[b-7lpie4x4dj] {
    width: 200px;
    height: 100%;
    background-color: #001529;
    display: flex;
    flex-direction: column;
    transition: width 0.2s ease;
    overflow: hidden;
    position: relative;
}

.sidebar--collapsed[b-7lpie4x4dj] {
    width: 48px;
}

/* Brand row — dark green (#00421e), 64px height, centered logo */
.sidebar__brand[b-7lpie4x4dj] {
    height: 64px;
    background-color: #00421e;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow: hidden;
}

.sidebar__brand-img[b-7lpie4x4dj] {
    height: 35px;
    margin-top: 0;
    object-fit: contain;
    max-width: 90%;
}

/* Nav area — grows to fill available space */
.sidebar__nav[b-7lpie4x4dj] {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding-bottom: 80px; /* leave room for footer + toggle */
}

/* Scrollbar styling to match dark theme */
.sidebar__nav[b-7lpie4x4dj]::-webkit-scrollbar {
    width: 4px;
}
.sidebar__nav[b-7lpie4x4dj]::-webkit-scrollbar-track {
    background: transparent;
}
.sidebar__nav[b-7lpie4x4dj]::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.15);
    border-radius: 2px;
}

/* Footer — absolute bottom, dark separator */
.sidebar__footer[b-7lpie4x4dj] {
    position: absolute;
    bottom: 40px;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    overflow: hidden;
}

.sidebar__footer-icon[b-7lpie4x4dj] {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    filter: brightness(0) invert(0.5);
}

.sidebar__footer-label[b-7lpie4x4dj] {
    color: rgba(255, 255, 255, 0.35);
    font-size: 11px;
    white-space: nowrap;
    overflow: hidden;
}

/* Collapse toggle — fixed at very bottom */
.sidebar__toggle[b-7lpie4x4dj] {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 40px;
    background: rgba(0, 0, 0, 0.2);
    border: none;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    cursor: pointer;
    color: rgba(255, 255, 255, 0.45);
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s, background-color 0.2s;
}

.sidebar__toggle:hover[b-7lpie4x4dj] {
    color: #fff;
    background: rgba(255, 255, 255, 0.06);
}

.sidebar__toggle-icon[b-7lpie4x4dj] {
    line-height: 1;
}
