/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-u4iinzd7no] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-u4iinzd7no] {
    flex: 1;
}

.sidebar[b-u4iinzd7no] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-u4iinzd7no] {
    background-color: var(--bg-secondary);
    border-bottom: 1px solid var(--border-color);
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
    gap: 1rem;
}

    .top-row[b-u4iinzd7no]  a, .top-row[b-u4iinzd7no]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
        color: var(--text-primary);
    }

    .top-row[b-u4iinzd7no]  a:hover, .top-row[b-u4iinzd7no]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-u4iinzd7no]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

/* Theme toggle button */
.theme-toggle[b-u4iinzd7no] {
    background: none;
    border: 1px solid var(--border-medium);
    border-radius: 6px;
    cursor: pointer;
    padding: 0.4rem 0.8rem;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 2.5rem;
    width: 2.5rem;
}

    .theme-toggle:hover[b-u4iinzd7no] {
        background-color: var(--hover-bg);
        border-color: var(--accent-primary);
    }

.theme-icon[b-u4iinzd7no] {
    font-size: 1.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* User section (email + logout) */
.user-section[b-u4iinzd7no] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.user-info[b-u4iinzd7no] {
    color: var(--text-primary);
    font-size: 0.9rem;
    font-weight: 500;
}

.btn-logout[b-u4iinzd7no] {
    background-color: var(--accent-primary);
    color: white;
    border: none;
    border-radius: 6px;
    padding: 0.5rem 1rem;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
}

    .btn-logout:hover:not(:disabled)[b-u4iinzd7no] {
        background-color: var(--accent-hover);
        transform: translateY(-1px);
    }

    .btn-logout:active:not(:disabled)[b-u4iinzd7no] {
        transform: translateY(0);
    }

    .btn-logout:disabled[b-u4iinzd7no] {
        opacity: 0.6;
        cursor: not-allowed;
    }

.btn-login[b-u4iinzd7no] {
    background-color: var(--accent-primary);
    color: white;
    border: none;
    border-radius: 6px;
    padding: 0.5rem 1rem;
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
    white-space: nowrap;
}

    .btn-login:hover[b-u4iinzd7no] {
        background-color: var(--accent-hover);
        transform: translateY(-1px);
        text-decoration: none;
    }

    .btn-login:active[b-u4iinzd7no] {
        transform: translateY(0);
    }

@media (max-width: 640.98px) {
    .top-row[b-u4iinzd7no] {
        justify-content: space-between;
    }

    .top-row[b-u4iinzd7no]  a, .top-row[b-u4iinzd7no]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-u4iinzd7no] {
        flex-direction: row;
    }

    .sidebar[b-u4iinzd7no] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
        transition: width 0.3s ease;
    }

    .sidebar.collapsed[b-u4iinzd7no] {
        width: 70px;
    }

    .top-row[b-u4iinzd7no] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-u4iinzd7no]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-u4iinzd7no], article[b-u4iinzd7no] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-u4iinzd7no] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-u4iinzd7no] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-03m7rxxos8] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

.navbar-toggler:checked[b-03m7rxxos8] {
    background-color: rgba(255, 255, 255, 0.5);
}

.top-row[b-03m7rxxos8] {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
    position: relative;
    display: flex;
    align-items: center;
    transition: all 0.3s ease;
}

.navbar-brand[b-03m7rxxos8] {
    font-size: 1.1rem;
    transition: opacity 0.3s ease;
    margin-left: 0.75rem;
}

/* Nav header container */
.nav-header[b-03m7rxxos8] {
    display: flex;
    align-items: center;
    width: 100%;
}

/* Collapse toggle button */
.collapse-toggle[b-03m7rxxos8] {
    background: none;
    border: none;
    color: white;
    cursor: pointer;
    padding: 0;
    transition: background-color 0.2s;
    border-radius: 4px;
    display: none;
    width: 3rem;
    height: 3rem;
    position: relative;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .collapse-toggle:hover[b-03m7rxxos8] {
        background-color: rgba(255, 255, 255, 0.1);
    }

/* Hamburger icon - 3 horizontal lines */
.hamburger-icon[b-03m7rxxos8] {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 20px;
    height: 16px;
    margin: auto;
}

    .hamburger-icon span[b-03m7rxxos8] {
        display: block;
        height: 2px;
        width: 100%;
        background-color: white;
        border-radius: 2px;
    }

.bi[b-03m7rxxos8] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
    flex-shrink: 0;
    transition: margin 0.3s ease;
}

.bi-house-door-fill-nav-menu[b-03m7rxxos8] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-03m7rxxos8] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-03m7rxxos8] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.bi-gear-fill-nav-menu[b-03m7rxxos8] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-gear-fill' viewBox='0 0 16 16'%3E%3Cpath d='M9.405 1.05c-.413-1.4-2.397-1.4-2.81 0l-.1.34a1.464 1.464 0 0 1-2.105.872l-.31-.17c-1.283-.698-2.686.705-1.987 1.987l.169.311c.446.82.023 1.841-.872 2.105l-.34.1c-1.4.413-1.4 2.397 0 2.81l.34.1a1.464 1.464 0 0 1 .872 2.105l-.17.31c-.698 1.283.705 2.686 1.987 1.987l.311-.169a1.464 1.464 0 0 1 2.105.872l.1.34c.413 1.4 2.397 1.4 2.81 0l.1-.34a1.464 1.464 0 0 1 2.105-.872l.31.17c1.283.698 2.686-.705 1.987-1.987l-.169-.311a1.464 1.464 0 0 1 .872-2.105l.34-.1c1.4-.413 1.4-2.397 0-2.81l-.34-.1a1.464 1.464 0 0 1-.872-2.105l.17-.31c.698-1.283-.705-2.686-1.987-1.987l-.311.169a1.464 1.464 0 0 1-2.105-.872l-.1-.34zM8 10.93a2.929 2.929 0 1 1 0-5.86 2.929 2.929 0 0 1 0 5.858z'/%3E%3C/svg%3E");
}

/* Custom SVG icons */
.bi-bar-chart-fill-nav-menu[b-03m7rxxos8] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M1 11a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-3zm5-4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V7zm5-5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V2z'/%3E%3C/svg%3E");
}

.bi-tags-fill-nav-menu[b-03m7rxxos8] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M2 2a1 1 0 0 1 1-1h4.586a1 1 0 0 1 .707.293l7 7a1 1 0 0 1 0 1.414l-4.586 4.586a1 1 0 0 1-1.414 0l-7-7A1 1 0 0 1 2 6.586V2zm3.5 4a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z'/%3E%3Cpath d='M1.293 7.793A1 1 0 0 1 1 7.086V2a1 1 0 0 0-1 1v4.586a1 1 0 0 0 .293.707l7 7a1 1 0 0 0 1.414 0l.043-.043-7.457-7.457z'/%3E%3C/svg%3E");
}

.bi-link-45deg-nav-menu[b-03m7rxxos8] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M4.715 6.542 3.343 7.914a3 3 0 1 0 4.243 4.243l1.828-1.829A3 3 0 0 0 8.586 5.5L8 6.086a1.002 1.002 0 0 0-.154.199 2 2 0 0 1 .861 3.337L6.88 11.45a2 2 0 1 1-2.83-2.83l.793-.792a4.018 4.018 0 0 1-.128-1.287z'/%3E%3Cpath d='M6.586 4.672A3 3 0 0 0 7.414 9.5l.775-.776a2 2 0 0 1-.896-3.346L9.12 3.55a2 2 0 1 1 2.83 2.83l-.793.792c.112.42.155.855.128 1.287l1.372-1.372a3 3 0 1 0-4.243-4.243L6.586 4.672z'/%3E%3C/svg%3E");
}

.bi-box-arrow-in-right-nav-menu[b-03m7rxxos8] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M6 3.5a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 0-1 0v2A1.5 1.5 0 0 0 6.5 14h8a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 2h-8A1.5 1.5 0 0 0 5 3.5v2a.5.5 0 0 0 1 0v-2z'/%3E%3Cpath fill-rule='evenodd' d='M11.854 8.354a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H1.5a.5.5 0 0 0 0 1h8.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3z'/%3E%3C/svg%3E");
}

.bi-people-fill-nav-menu[b-03m7rxxos8] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M7 14s-1 0-1-1 1-4 5-4 5 3 5 4-1 1-1 1H7zm4-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6z'/%3E%3Cpath fill-rule='evenodd' d='M5.216 14A2.238 2.238 0 0 1 5 13c0-1.355.68-2.75 1.936-3.72A6.325 6.325 0 0 0 5 9c-4 0-5 3-5 4s1 1 1 1h4.216z'/%3E%3Cpath d='M4.5 8a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5z'/%3E%3C/svg%3E");
}

.bi-wallet2-nav-menu[b-03m7rxxos8] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M12.136.326A1.5 1.5 0 0 1 14 1.78V3h.5A1.5 1.5 0 0 1 16 4.5v9a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 13.5v-9a1.5 1.5 0 0 1 1.432-1.499L12.136.326zM5.562 3H13V1.78a.5.5 0 0 0-.621-.484L5.562 3zM1.5 4a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h13a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-13z'/%3E%3C/svg%3E");
}

.nav-icon[b-03m7rxxos8] {
    display: inline-block;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    fill: white;
    flex-shrink: 0;
    transition: margin 0.3s ease;
}

.nav-item[b-03m7rxxos8] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-03m7rxxos8] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-03m7rxxos8] {
        padding-bottom: 1rem;
    }

    .nav-item[b-03m7rxxos8]  .nav-link {
        color: #d7d7d7;
        background: none;
        border: none;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
        transition: all 0.3s ease;
    }

.nav-text[b-03m7rxxos8] {
    transition: opacity 0.3s ease;
}

.nav-item[b-03m7rxxos8]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-03m7rxxos8]  .nav-link:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

.nav-scrollable[b-03m7rxxos8] {
    display: none;
    transition: all 0.3s ease;
}

.navbar-toggler:checked ~ .nav-scrollable[b-03m7rxxos8] {
    display: block;
}

@media (min-width: 641px) {
    .navbar-toggler[b-03m7rxxos8] {
        display: none;
    }

    .collapse-toggle[b-03m7rxxos8] {
        display: block;
    }

    .nav-scrollable[b-03m7rxxos8] {
        /* Never collapse the sidebar for wide screens */
        display: block;

        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
        overflow-x: hidden;
    }

    /* Collapsed state styles - desktop only */
    .nav-scrollable.collapsed .nav-item[b-03m7rxxos8] {
        padding: 0;
    }

    .nav-scrollable.collapsed .nav-link[b-03m7rxxos8] {
        justify-content: center;
        padding: 0 !important;
        width: 100%;
    }

    .nav-scrollable.collapsed .bi[b-03m7rxxos8] {
        margin-right: 0;
    }

    .nav-scrollable.collapsed .nav-icon[b-03m7rxxos8] {
        margin-right: 0;
    }

    .nav-scrollable.collapsed .nav-text[b-03m7rxxos8] {
        display: none;
    }

    .top-row.collapsed .navbar-brand[b-03m7rxxos8] {
        display: none;
    }

    .top-row.collapsed .container-fluid[b-03m7rxxos8] {
        padding: 0;
    }

    .top-row.collapsed .nav-header[b-03m7rxxos8] {
        justify-content: center;
    }

    .top-row.collapsed .collapse-toggle[b-03m7rxxos8] {
        width: 100%;
    }
}

/* User section at bottom of nav */
.nav-user-section[b-03m7rxxos8] {
    margin-top: auto;
    padding-top: 1rem;
}

.nav-divider[b-03m7rxxos8] {
    height: 1px;
    background-color: rgba(255, 255, 255, 0.2);
    margin: 0 1rem 1rem 1rem;
}

.nav-user-info[b-03m7rxxos8] {
    display: flex;
    align-items: center;
    padding: 0.75rem 1rem;
    color: white;
    gap: 0.75rem;
    background-color: rgba(255, 255, 255, 0.05);
    margin: 0 0.75rem;
    border-radius: 6px;
}

.user-avatar[b-03m7rxxos8] {
    font-size: 1.5rem;
    flex-shrink: 0;
}

.user-details[b-03m7rxxos8] {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.user-name[b-03m7rxxos8] {
    font-size: 0.9rem;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.user-role[b-03m7rxxos8] {
    font-size: 0.75rem;
    margin-top: 0.2rem;
}

.badge-admin[b-03m7rxxos8] {
    background-color: #ff6b6b;
    color: white;
    padding: 0.15rem 0.5rem;
    border-radius: 4px;
    font-weight: 600;
    display: inline-block;
}

.badge-user[b-03m7rxxos8] {
    background-color: #4ecdc4;
    color: white;
    padding: 0.15rem 0.5rem;
    border-radius: 4px;
    font-weight: 600;
    display: inline-block;
}

/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-v6jv3h1mzm],
.components-reconnect-repeated-attempt-visible[b-v6jv3h1mzm],
.components-reconnect-failed-visible[b-v6jv3h1mzm],
.components-pause-visible[b-v6jv3h1mzm],
.components-resume-failed-visible[b-v6jv3h1mzm],
.components-rejoining-animation[b-v6jv3h1mzm] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-v6jv3h1mzm],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-v6jv3h1mzm],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-v6jv3h1mzm],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-v6jv3h1mzm],
#components-reconnect-modal.components-reconnect-retrying[b-v6jv3h1mzm],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-v6jv3h1mzm],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-v6jv3h1mzm],
#components-reconnect-modal.components-reconnect-failed[b-v6jv3h1mzm],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-v6jv3h1mzm] {
    display: block;
}


#components-reconnect-modal[b-v6jv3h1mzm] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-v6jv3h1mzm 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-v6jv3h1mzm 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-v6jv3h1mzm 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-v6jv3h1mzm]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-v6jv3h1mzm 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-v6jv3h1mzm {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-v6jv3h1mzm {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-v6jv3h1mzm {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-v6jv3h1mzm] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-v6jv3h1mzm] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-v6jv3h1mzm] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-v6jv3h1mzm] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-v6jv3h1mzm] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-v6jv3h1mzm] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-v6jv3h1mzm] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-v6jv3h1mzm 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-v6jv3h1mzm] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-v6jv3h1mzm {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/AcceptInvite.razor.rz.scp.css */
/* Reuse login page styles */
.login-page[b-8hvnqwnjpl] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--bg-secondary);
    padding: 2rem 1rem;
}

.login-container[b-8hvnqwnjpl] {
    background-color: var(--bg-primary);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 3rem 2.5rem;
    max-width: 450px;
    width: 100%;
    box-shadow: 0 4px 12px var(--shadow-color);
}

.login-header[b-8hvnqwnjpl] {
    text-align: center;
    margin-bottom: 2rem;
}

.login-header h1[b-8hvnqwnjpl] {
    font-size: 2rem;
    margin-bottom: 0.5rem;
    color: var(--text-primary);
}

.login-header .subtitle[b-8hvnqwnjpl] {
    font-size: 1rem;
    color: var(--text-secondary);
    margin: 0;
}

.login-form[b-8hvnqwnjpl] {
    margin-bottom: 1.5rem;
}

.form-group[b-8hvnqwnjpl] {
    margin-bottom: 1.5rem;
}

.form-group label[b-8hvnqwnjpl] {
    display: block;
    font-weight: 600;
    margin-bottom: 0.5rem;
    color: var(--text-primary);
    font-size: 0.9rem;
}

.form-input[b-8hvnqwnjpl] {
    width: 100%;
    padding: 0.75rem;
    font-size: 1rem;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    background-color: var(--bg-primary);
    color: var(--text-primary);
    transition: border-color 0.2s ease;
    box-sizing: border-box;
}

.form-input:focus[b-8hvnqwnjpl] {
    outline: none;
    border-color: var(--accent-primary);
    box-shadow: 0 0 0 3px rgba(33, 128, 141, 0.1);
}

.form-input:disabled[b-8hvnqwnjpl] {
    opacity: 0.6;
    cursor: not-allowed;
}

.form-input[b-8hvnqwnjpl]::placeholder {
    color: var(--text-tertiary);
}

.form-hint[b-8hvnqwnjpl] {
    display: block;
    margin-top: 0.5rem;
    font-size: 0.85rem;
    color: var(--text-secondary);
}

.btn-primary[b-8hvnqwnjpl] {
    background-color: var(--accent-primary);
    color: white;
    border: none;
    padding: 0.875rem 1.5rem;
    font-size: 1rem;
    font-weight: 600;
    border-radius: 6px;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.1s ease;
    display: inline-block;
    text-decoration: none;
    text-align: center;
}

.btn-primary:hover:not(:disabled)[b-8hvnqwnjpl] {
    background-color: var(--accent-hover);
    transform: translateY(-1px);
}

.btn-primary:active:not(:disabled)[b-8hvnqwnjpl] {
    transform: translateY(0);
}

.btn-primary:disabled[b-8hvnqwnjpl] {
    opacity: 0.6;
    cursor: not-allowed;
}

.btn-full[b-8hvnqwnjpl] {
    width: 100%;
    box-sizing: border-box;
}

.alert[b-8hvnqwnjpl] {
    padding: 1rem;
    border-radius: 6px;
    margin-bottom: 1.5rem;
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.alert-icon[b-8hvnqwnjpl] {
    font-size: 1.25rem;
    flex-shrink: 0;
}

.alert-error[b-8hvnqwnjpl] {
    background-color: var(--error-bg);
    color: var(--error-text);
    border: 1px solid var(--error-text);
}

.alert-success[b-8hvnqwnjpl] {
    background-color: var(--success-bg);
    color: var(--success-text);
    border: 1px solid var(--success-text);
}

.alert-info[b-8hvnqwnjpl] {
    background-color: #e7f3ff;
    color: #0056b3;
    border: 1px solid #0056b3;
}

[data-theme="dark"] .alert-info[b-8hvnqwnjpl] {
    background-color: #1a2a3a;
    color: #5da8ff;
    border: 1px solid #5da8ff;
}

.info-box[b-8hvnqwnjpl] {
    background-color: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 6px;
    padding: 1rem;
    margin-bottom: 1.5rem;
    text-align: center;
}

.login-footer[b-8hvnqwnjpl] {
    text-align: center;
    padding-top: 1rem;
    border-top: 1px solid var(--border-light);
}

.link-secondary[b-8hvnqwnjpl] {
    color: var(--accent-primary);
    text-decoration: none;
    font-size: 0.9rem;
    transition: color 0.2s ease;
}

.link-secondary:hover[b-8hvnqwnjpl] {
    color: var(--accent-hover);
    text-decoration: underline;
}

@media (max-width: 768px) {
    .login-container[b-8hvnqwnjpl] {
        padding: 2rem 1.5rem;
    }

    .login-header h1[b-8hvnqwnjpl] {
        font-size: 1.75rem;
    }
}
/* /Components/Pages/Admin/AdminBudgetCategories.razor.rz.scp.css */
/* ===== Admin Budget Categories Page ===== */

.admin-budcat-page[b-156rccqhgp] {
    max-width: 900px;
    margin: 0 auto;
    padding: 2rem;
}

/* Header */
.page-header[b-156rccqhgp] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--border-color);
}

.page-header h1[b-156rccqhgp] {
    margin: 0 0 0.25rem 0;
    font-size: 26px;
    font-weight: 600;
    color: var(--text-primary);
}

.page-header .subtitle[b-156rccqhgp] {
    margin: 0;
    color: var(--text-secondary);
    font-size: 14px;
}

/* Primary button */
.btn-primary[b-156rccqhgp] {
    padding: 0.6rem 1.25rem;
    background-color: var(--accent-primary);
    color: white;
    border: none;
    border-radius: 6px;
    font-size: 0.9rem;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
    transition: background-color 0.2s;
}

.btn-primary:hover:not(:disabled)[b-156rccqhgp] {
    background-color: var(--accent-hover);
}

.btn-primary:disabled[b-156rccqhgp] {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Alerts */
.alert[b-156rccqhgp] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
    border-radius: 6px;
    margin-bottom: 1.25rem;
    font-size: 0.9rem;
}

.alert-success[b-156rccqhgp] {
    background-color: var(--success-bg);
    color: var(--success-text);
    border: 1px solid var(--success-text);
}

.alert-error[b-156rccqhgp] {
    background-color: var(--error-bg);
    color: var(--error-text);
    border: 1px solid var(--error-text);
}

.alert-close[b-156rccqhgp] {
    margin-left: auto;
    background: none;
    border: none;
    cursor: pointer;
    color: inherit;
    font-size: 1rem;
    padding: 0 0.25rem;
    opacity: 0.7;
}

.alert-close:hover[b-156rccqhgp] { opacity: 1; }

/* Loading */
.loading-container[b-156rccqhgp] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    padding: 3rem;
    color: var(--text-secondary);
}

.spinner[b-156rccqhgp] {
    width: 32px;
    height: 32px;
    border: 3px solid var(--border-color);
    border-top-color: var(--accent-primary);
    border-radius: 50%;
    animation: spin-b-156rccqhgp 0.7s linear infinite;
}

@keyframes spin-b-156rccqhgp { to { transform: rotate(360deg); } }

/* ===== Panel (category sections) ===== */
.panel[b-156rccqhgp] {
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 10px;
    padding: 20px 20px 8px 20px;
    margin-bottom: 1.5rem;
}

.panel-header[b-156rccqhgp] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

.panel-header .title[b-156rccqhgp] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    font-size: 15px;
    color: var(--text-primary);
}

.btn-add[b-156rccqhgp] {
    background: #2dd4bf;
    color: #06231f;
    border: none;
    border-radius: 6px;
    padding: 7px 16px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: filter 0.15s;
}

.btn-add:hover[b-156rccqhgp] { filter: brightness(1.08); }

.empty-state[b-156rccqhgp] {
    padding: 1rem 0 1.25rem 0;
    color: var(--text-secondary);
    font-style: italic;
    font-size: 0.9rem;
    margin: 0;
}

/* ===== Modals ===== */
.modal-overlay[b-156rccqhgp] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.modal-content[b-156rccqhgp] {
    background-color: var(--bg-primary);
    border: 1px solid var(--border-color);
    border-radius: 10px;
    width: 100%;
    max-width: 480px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
    display: flex;
    flex-direction: column;
}

.modal-confirm[b-156rccqhgp] {
    max-width: 420px;
}

.modal-header[b-156rccqhgp] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--border-color);
}

.modal-header h3[b-156rccqhgp] {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
}

.modal-close[b-156rccqhgp] {
    background: none;
    border: none;
    font-size: 1rem;
    cursor: pointer;
    color: var(--text-secondary);
    padding: 0.2rem 0.4rem;
    border-radius: 4px;
    transition: color 0.15s;
}

.modal-close:hover[b-156rccqhgp] { color: var(--text-primary); }
.modal-close:disabled[b-156rccqhgp] { opacity: 0.4; cursor: not-allowed; }

.modal-body[b-156rccqhgp] {
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.modal-body p[b-156rccqhgp] {
    margin: 0;
    font-size: 0.9rem;
    color: var(--text-primary);
}

.modal-warning[b-156rccqhgp] {
    color: var(--text-secondary) !important;
    font-size: 0.82rem !important;
    font-style: italic;
}

.modal-footer[b-156rccqhgp] {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    border-top: 1px solid var(--border-color);
}

.form-group[b-156rccqhgp] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.form-group label[b-156rccqhgp] {
    font-size: 0.85rem;
    color: var(--text-secondary);
    font-weight: 500;
}

.required[b-156rccqhgp] {
    color: var(--error-text, #c0392b);
}

.form-input[b-156rccqhgp] {
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--border-medium);
    border-radius: 6px;
    background-color: var(--bg-primary);
    color: var(--text-primary);
    font-size: 0.9rem;
    outline: none;
    transition: border-color 0.2s;
    width: 100%;
    box-sizing: border-box;
}

.form-input:focus[b-156rccqhgp] {
    border-color: var(--accent-primary);
}

.btn-cancel-modal[b-156rccqhgp] {
    padding: 0.5rem 1rem;
    background: none;
    border: 1px solid var(--border-medium);
    border-radius: 6px;
    color: var(--text-secondary);
    font-size: 0.9rem;
    cursor: pointer;
    transition: background-color 0.15s;
}

.btn-cancel-modal:hover:not(:disabled)[b-156rccqhgp] {
    background-color: var(--bg-secondary);
}

.btn-cancel-modal:disabled[b-156rccqhgp] {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-danger-modal[b-156rccqhgp] {
    padding: 0.5rem 1rem;
    background-color: var(--error-text, #c0392b);
    color: white;
    border: none;
    border-radius: 6px;
    font-size: 0.9rem;
    cursor: pointer;
    transition: opacity 0.15s;
}

.btn-danger-modal:hover:not(:disabled)[b-156rccqhgp] {
    opacity: 0.88;
}

.btn-danger-modal:disabled[b-156rccqhgp] {
    opacity: 0.5;
    cursor: not-allowed;
}
/* /Components/Pages/Admin/AdminUsers.razor.rz.scp.css */
/* ===== Admin Users Page ===== */

.admin-users-page[b-41szb0s1rb] {
    max-width: 1100px;
    margin: 0 auto;
    padding: 2rem;
}

/* Header */
.page-header[b-41szb0s1rb] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid var(--border-color);
}

.page-header h1[b-41szb0s1rb] {
    margin: 0 0 0.25rem 0;
    color: var(--text-primary);
}

.page-header .subtitle[b-41szb0s1rb] {
    margin: 0;
    color: var(--text-secondary);
    font-size: 0.95rem;
}

/* Primary button */
.btn-primary[b-41szb0s1rb] {
    padding: 0.6rem 1.25rem;
    background-color: var(--accent-primary);
    color: white;
    border: none;
    border-radius: 6px;
    font-size: 0.9rem;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
    transition: background-color 0.2s;
}

.btn-primary:hover:not(:disabled)[b-41szb0s1rb] {
    background-color: var(--accent-hover);
}

.btn-primary:disabled[b-41szb0s1rb] {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Alerts */
.alert[b-41szb0s1rb] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
    border-radius: 6px;
    margin-bottom: 1.25rem;
    font-size: 0.9rem;
}

.alert-success[b-41szb0s1rb] {
    background-color: var(--success-bg);
    color: var(--success-text);
    border: 1px solid var(--success-text);
}

.alert-error[b-41szb0s1rb] {
    background-color: var(--error-bg);
    color: var(--error-text);
    border: 1px solid var(--error-text);
}

.alert-close[b-41szb0s1rb] {
    margin-left: auto;
    background: none;
    border: none;
    cursor: pointer;
    color: inherit;
    font-size: 1rem;
    padding: 0 0.25rem;
    opacity: 0.7;
}

.alert-close:hover[b-41szb0s1rb] {
    opacity: 1;
}

/* Create form card */
.create-form-card[b-41szb0s1rb] {
    background-color: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
}

.create-form-card h3[b-41szb0s1rb] {
    margin: 0 0 1rem 0;
    font-size: 1rem;
    color: var(--text-primary);
}

.form-row[b-41szb0s1rb] {
    display: flex;
    gap: 1rem;
    align-items: flex-end;
    flex-wrap: wrap;
}

.form-group[b-41szb0s1rb] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    flex: 1;
    min-width: 180px;
}

.form-group label[b-41szb0s1rb] {
    font-size: 0.85rem;
    color: var(--text-secondary);
    font-weight: 500;
}

.form-input[b-41szb0s1rb] {
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--border-medium);
    border-radius: 6px;
    background-color: var(--bg-primary);
    color: var(--text-primary);
    font-size: 0.9rem;
    outline: none;
    transition: border-color 0.2s;
}

.form-input:focus[b-41szb0s1rb] {
    border-color: var(--accent-primary);
}

.form-input:disabled[b-41szb0s1rb] {
    opacity: 0.6;
    cursor: not-allowed;
}

.form-actions[b-41szb0s1rb] {
    flex: 0 0 auto;
}

/* Loading / empty */
.loading-container[b-41szb0s1rb] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    padding: 3rem;
    color: var(--text-secondary);
}

.empty-state[b-41szb0s1rb] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 3rem;
    color: var(--text-secondary);
}

.icon-large[b-41szb0s1rb] {
    font-size: 3rem;
}

/* Spinner */
.spinner[b-41szb0s1rb] {
    width: 32px;
    height: 32px;
    border: 3px solid var(--border-color);
    border-top-color: var(--accent-primary);
    border-radius: 50%;
    animation: spin-b-41szb0s1rb 0.8s linear infinite;
}

.spinner-small[b-41szb0s1rb] {
    font-size: 1.1rem;
}

@keyframes spin-b-41szb0s1rb {
    to { transform: rotate(360deg); }
}

/* Table */
.table-wrapper[b-41szb0s1rb] {
    overflow-x: auto;
    border-radius: 8px;
    border: 1px solid var(--border-color);
}

.users-table[b-41szb0s1rb] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
}

.users-table thead[b-41szb0s1rb] {
    background-color: var(--bg-secondary);
}

.users-table th[b-41szb0s1rb] {
    padding: 0.75rem 1rem;
    text-align: left;
    font-weight: 600;
    color: var(--text-secondary);
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 2px solid var(--border-color);
    white-space: nowrap;
}

.users-table td[b-41szb0s1rb] {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--border-light);
    color: var(--text-primary);
    vertical-align: middle;
}

.users-table tbody tr:last-child td[b-41szb0s1rb] {
    border-bottom: none;
}

.users-table tbody tr:hover[b-41szb0s1rb] {
    background-color: var(--hover-bg);
}

.row-local-admin[b-41szb0s1rb] {
    background-color: var(--bg-tertiary);
}

/* Cell types */
.cell-email[b-41szb0s1rb] {
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.cell-date[b-41szb0s1rb] {
    color: var(--text-secondary);
    font-size: 0.85rem;
    white-space: nowrap;
}

.cell-actions[b-41szb0s1rb] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
    white-space: nowrap;
}

/* Status badges */
.status-badge[b-41szb0s1rb] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.25rem 0.6rem;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 600;
    white-space: nowrap;
}

.status-active[b-41szb0s1rb] {
    background-color: var(--success-bg);
    color: var(--success-text);
}

.status-pending[b-41szb0s1rb] {
    background-color: #fff8e1;
    color: #856404;
}

[data-theme="dark"] .status-pending[b-41szb0s1rb] {
    background-color: #3a2e00;
    color: #ffc107;
}

.status-disabled[b-41szb0s1rb] {
    background-color: var(--error-bg);
    color: var(--error-text);
}

/* Local admin badge */
.badge-local-admin[b-41szb0s1rb] {
    font-size: 0.72rem;
    background-color: var(--bg-tertiary);
    border: 1px solid var(--border-medium);
    color: var(--text-secondary);
    padding: 0.15rem 0.4rem;
    border-radius: 4px;
}

/* Role selector */
.role-select[b-41szb0s1rb] {
    padding: 0.3rem 0.5rem;
    border: 1px solid var(--border-medium);
    border-radius: 5px;
    background-color: var(--bg-primary);
    color: var(--text-primary);
    font-size: 0.85rem;
    cursor: pointer;
}

.role-select:disabled[b-41szb0s1rb] {
    opacity: 0.6;
    cursor: not-allowed;
}

.role-fixed[b-41szb0s1rb] {
    font-size: 0.85rem;
    color: var(--text-secondary);
    font-style: italic;
}

/* Action buttons */
.btn-action[b-41szb0s1rb] {
    padding: 0.3rem 0.65rem;
    border: 1px solid transparent;
    border-radius: 5px;
    font-size: 0.8rem;
    font-weight: 500;
    cursor: pointer;
    transition: opacity 0.15s;
    white-space: nowrap;
}

.btn-action:hover[b-41szb0s1rb] {
    opacity: 0.85;
}

.btn-invite[b-41szb0s1rb] {
    background-color: var(--bg-secondary);
    border-color: var(--accent-primary);
    color: var(--accent-primary);
}

.btn-enable[b-41szb0s1rb] {
    background-color: var(--success-bg);
    border-color: var(--success-text);
    color: var(--success-text);
}

.btn-disable[b-41szb0s1rb] {
    background-color: var(--bg-secondary);
    border-color: var(--border-medium);
    color: var(--text-secondary);
}

.btn-danger[b-41szb0s1rb] {
    background-color: var(--error-bg);
    border-color: var(--error-text);
    color: var(--error-text);
}

.btn-cancel[b-41szb0s1rb] {
    background-color: var(--bg-secondary);
    border-color: var(--border-medium);
    color: var(--text-secondary);
}

/* Inline delete confirmation */
.confirm-delete[b-41szb0s1rb] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.82rem;
    color: var(--error-text);
    font-weight: 500;
}
/* /Components/Pages/Bilan.razor.rz.scp.css */
/* ── Page layout ──────────────────────────────────────────────────────────── */

/* Bar chart icon for page title */
.bi-bar-chart-fill-bilan[b-1e10dcygxh] {
    display: inline-block;
    width: 1.2rem;
    height: 1.2rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M1 11a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-3zm5-4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V7zm5-5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V2z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
}

.bilan-page[b-1e10dcygxh] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    padding: 1.25rem;
    height: 100%;
    overflow-y: auto;
}

.bilan-header[b-1e10dcygxh] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.bilan-title[b-1e10dcygxh] {
    font-size: 1.3rem;
    font-weight: 600;
    color: var(--text-primary);
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
}

.bilan-toolbar[b-1e10dcygxh] {
    display: flex;
    align-items: flex-end;
    gap: 0.75rem;
    flex-wrap: wrap;
}

/* ── Buttons ──────────────────────────────────────────────────────────────── */
.btn-export[b-1e10dcygxh],
.btn-print[b-1e10dcygxh] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 0.75rem;
    font-size: 0.82rem;
    border-radius: 4px;
    border: 1px solid var(--border-color);
    cursor: pointer;
    background: var(--bg-secondary);
    color: var(--text-primary);
    transition: background 0.15s;
}

    .btn-export:hover[b-1e10dcygxh] { background: #1a7f3c22; color: #1a7f3c; border-color: #1a7f3c; }
    .btn-print:hover[b-1e10dcygxh]  { background: #0066cc22; color: #0066cc; border-color: #0066cc; }

/* ── Status ───────────────────────────────────────────────────────────────── */
.bilan-loading[b-1e10dcygxh] { color: var(--text-secondary); font-style: italic; }
.bilan-error[b-1e10dcygxh]   { color: #e05252; background: #e0525215; padding: 0.5rem 1rem; border-radius: 4px; }
.bilan-debug[b-1e10dcygxh]   { font-size: 0.78rem; color: var(--text-secondary); background: var(--bg-secondary); padding: 0.3rem 0.75rem; border-radius: 4px; border-left: 3px solid var(--accent-primary); }

/* ── Period label ─────────────────────────────────────────────────────────── */
.bilan-period-label[b-1e10dcygxh] {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--accent-primary);
    margin-bottom: 0.25rem;
}

/* ── Tables ───────────────────────────────────────────────────────────────── */
.bilan-tables[b-1e10dcygxh] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.bilan-table[b-1e10dcygxh] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
    color: var(--text-primary);
}

/* Header */
.group-header[b-1e10dcygxh] {
    padding: 0.5rem 0.75rem;
    font-size: 1rem;
    font-weight: 700;
    text-align: left;
    border-bottom: 2px solid currentColor;
}

.expense-header[b-1e10dcygxh] { color: #c0392b; }
.income-header[b-1e10dcygxh]  { color: #1a7f3c; }
.amount-header[b-1e10dcygxh]  { text-align: right; padding: 0.5rem 0.75rem; color: var(--text-secondary); font-size: 0.8rem; }

/* Group row */
.group-row td[b-1e10dcygxh] {
    padding: 0.6rem 0.75rem 0.2rem;
    font-weight: 600;
    font-size: 0.82rem;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-top: 1px solid var(--border-color);
}

/* Line row */
.line-row td[b-1e10dcygxh] {
    padding: 0.3rem 0.5rem;
}

.line-indent[b-1e10dcygxh] { width: 1.5rem; }

.line-label[b-1e10dcygxh]  { color: var(--text-primary); }

.line-amount[b-1e10dcygxh] {
    text-align: right;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    padding-right: 0.75rem;
}

    .line-amount.negative[b-1e10dcygxh] { color: #c0392b; }

.zero-row td[b-1e10dcygxh] { opacity: 0.4; }

/* Subtotal */
.subtotal-row td[b-1e10dcygxh] {
    padding: 0.35rem 0.75rem;
    font-weight: 600;
    border-top: 1px dashed var(--border-color);
    background: var(--hover-bg);
}

.subtotal-label[b-1e10dcygxh]  { }
.subtotal-amount[b-1e10dcygxh] { text-align: right; font-variant-numeric: tabular-nums; }

/* Total footer */
.total-row td[b-1e10dcygxh] {
    padding: 0.5rem 0.75rem;
    font-weight: 700;
    font-size: 0.95rem;
    border-top: 2px solid var(--border-color);
}

.total-label[b-1e10dcygxh]  { }
.total-amount[b-1e10dcygxh] { text-align: right; font-variant-numeric: tabular-nums; }

/* Résultat */
.resultat-row[b-1e10dcygxh] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 1rem;
    border-radius: 6px;
    font-size: 1rem;
    font-weight: 700;
    background: var(--bg-secondary);
    border: 2px solid var(--border-color);
}

    .resultat-row.positive[b-1e10dcygxh] { border-color: #1a7f3c; color: #1a7f3c; background: #1a7f3c0d; }
    .resultat-row.negative[b-1e10dcygxh] { border-color: #c0392b; color: #c0392b; background: #c0392b0d; }

/* ── Print styles ─────────────────────────────────────────────────────────── */
@@media print {
    .bilan-toolbar[b-1e10dcygxh] { display: none !important; }
    .bilan-page[b-1e10dcygxh]    { padding: 0; overflow: visible; }
    .bilan-table[b-1e10dcygxh]   { page-break-inside: avoid; }
    .resultat-row[b-1e10dcygxh]  { page-break-inside: avoid; }

    .bilan-period-label[b-1e10dcygxh] {
        font-size: 1rem;
        text-align: center;
    }

    .expense-header[b-1e10dcygxh] { color: #000; }
    .income-header[b-1e10dcygxh]  { color: #000; }
    .zero-row[b-1e10dcygxh]       { display: none; }
}
/* /Components/Pages/Budget.razor.rz.scp.css */
/* ===== PAGE ===== */
.budget-page[b-6dac90576r] {
    padding: 1rem 1.5rem;
    max-width: 960px;
    margin: 0 auto;
}

/* ===== HEADER ===== */
.budget-header[b-6dac90576r] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 1.25rem;
}

.budget-title[b-6dac90576r] {
    font-size: 1.4rem;
    font-weight: 700;
    margin: 0;
    color: var(--text-primary);
}

.budget-toolbar[b-6dac90576r] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.btn-export[b-6dac90576r] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.3rem 0.75rem;
    font-size: 0.82rem;
    border: 1px solid var(--border-color);
    border-radius: 4px;
    cursor: pointer;
    background: var(--bg-secondary);
    color: var(--text-primary);
    transition: background 0.15s;
}
.btn-export:hover[b-6dac90576r] { background: var(--hover-bg); }

/* ===== STATES ===== */
.budget-loading[b-6dac90576r], .budget-placeholder[b-6dac90576r], .budget-error[b-6dac90576r] {
    text-align: center;
    padding: 2rem;
    font-size: 0.9rem;
    color: var(--text-secondary);
}
.budget-error[b-6dac90576r] { color: #dc2626; }

/* ===== CONTENT ===== */
.budget-content[b-6dac90576r] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

/* ===== SECTION ===== */
.budget-section[b-6dac90576r] { }

.budget-section-title[b-6dac90576r] {
    font-size: 1rem;
    font-weight: 700;
    margin: 0 0 0.5rem;
    padding: 0.3rem 0.6rem;
    border-radius: 4px;
}
.expense-title[b-6dac90576r] { background: #fee2e2; color: #991b1b; }
.income-title[b-6dac90576r]  { background: #d1fae5; color: #065f46; }

/* ===== TABLE ===== */
.budget-table[b-6dac90576r] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}

.budget-table thead tr th[b-6dac90576r] {
    background: var(--bg-secondary);
    border-bottom: 2px solid var(--border-color);
    padding: 0.4rem 0.6rem;
    text-align: left;
    font-size: 0.78rem;
    text-transform: uppercase;
    color: var(--text-secondary);
}

.col-cat[b-6dac90576r]    { width: 75%; }
.col-amount[b-6dac90576r] { width: 25%; text-align: right; }

.budget-table tbody tr[b-6dac90576r] {
    border-bottom: 1px solid var(--border-color);
    transition: background 0.1s;
}
.budget-table tbody tr:hover[b-6dac90576r] { background: var(--hover-bg); }

/* Depth-based styling */
.cat-row-root    td[b-6dac90576r] { font-weight: 700; font-size: 0.9rem; padding: 0.45rem 0.6rem; background: var(--bg-secondary); }
.cat-row-depth-1 td[b-6dac90576r] { font-weight: 600; padding: 0.4rem 0.6rem; }
.cat-row-depth-2 td[b-6dac90576r] { padding: 0.35rem 0.6rem; }
.cat-row-depth-3 td[b-6dac90576r] { padding: 0.3rem 0.6rem; color: var(--text-secondary); }
.cat-row-depth-4 td[b-6dac90576r] { padding: 0.25rem 0.6rem; color: var(--text-muted, #aaa); font-size: 0.82rem; }

.cat-indent[b-6dac90576r] {
    color: var(--text-muted, #aaa);
    font-family: monospace;
    margin-right: 2px;
}

.amount-cell[b-6dac90576r] {
    text-align: right;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.expense-color[b-6dac90576r] { color: #dc2626; }
.income-color[b-6dac90576r]  { color: #16a34a; }

/* ===== FOOTER ROWS ===== */
.budget-table tfoot td[b-6dac90576r] {
    font-weight: 700;
    padding: 0.5rem 0.6rem;
    border-top: 2px solid var(--border-color);
    font-size: 0.9rem;
}

.total-row td[b-6dac90576r] { background: var(--bg-secondary); }

/* ===== RESULT ===== */
.budget-result .budget-table .result-row td[b-6dac90576r] {
    font-size: 1rem;
    font-weight: 700;
    padding: 0.6rem 0.75rem;
}

.result-positive td[b-6dac90576r] { background: #d1fae5; color: #065f46; }
.result-negative td[b-6dac90576r] { background: #fee2e2; color: #991b1b; }

/* ===== PRINT ===== */
@media print {
    .budget-toolbar[b-6dac90576r] { display: none; }
    .budget-page[b-6dac90576r]    { max-width: 100%; padding: 0; }
    .budget-table tbody tr:hover[b-6dac90576r] { background: none; }
}
/* /Components/Pages/BudgetCategorisation.razor.rz.scp.css */
/* ===== PAGE LAYOUT ===== */
.budcat-layout[b-7l3vw449nq] {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 1rem;
    height: calc(100vh - 80px);
    padding: 1rem;
}

/* ===== PANELS ===== */
.budcat-panel[b-7l3vw449nq] {
    border: 1px solid var(--border-color);
    border-radius: 6px;
    background: var(--bg-tertiary);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.budcat-panel-header[b-7l3vw449nq] {
    background: var(--bg-secondary);
    border-bottom: 2px solid var(--accent-primary);
    padding: 0.65rem 0.75rem;
    flex-shrink: 0;
}

    .budcat-panel-header h3[b-7l3vw449nq] {
        margin: 0 0 0.5rem 0;
        font-size: 0.95rem;
        color: var(--text-primary);
    }

.budcat-panel-body[b-7l3vw449nq] {
    flex: 1;
    overflow-y: auto;
    padding: 0.5rem;
}

/* ===== LEFT — controls ===== */
.header-controls[b-7l3vw449nq] {
    display: flex;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.search-input[b-7l3vw449nq] {
    flex: 1;
    min-width: 120px;
    padding: 0.3rem 0.5rem;
    font-size: 0.82rem;
    background: var(--bg-primary);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
    border-radius: 4px;
}

.filter-select[b-7l3vw449nq] {
    padding: 0.3rem 0.4rem;
    font-size: 0.82rem;
    background: var(--bg-primary);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
    border-radius: 4px;
    cursor: pointer;
}

/* ===== Status dots ===== */
.budget-status-dot[b-7l3vw449nq] {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
    margin-right: 4px;
}

.budget-status-allocated[b-7l3vw449nq] { background: #22c55e; }
.budget-status-partial[b-7l3vw449nq]   { background: #f59e0b; }
.budget-status-none[b-7l3vw449nq]      { background: #d1d5db; }

/* ===== Operation rows ===== */
.op-row[b-7l3vw449nq] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.4rem 0.5rem;
    border-radius: 4px;
    cursor: pointer;
    border-bottom: 1px solid var(--border-color);
    transition: background 0.15s;
}

    .op-row:hover[b-7l3vw449nq]  { background: var(--hover-bg); }
    .op-row.selected[b-7l3vw449nq] { background: var(--accent-primary); color: white; }

.op-row-main[b-7l3vw449nq] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex: 1;
    min-width: 0;
}

.op-row-meta[b-7l3vw449nq] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}

.op-date[b-7l3vw449nq]  { font-size: 0.72rem; color: var(--text-secondary); white-space: nowrap; }
.op-label[b-7l3vw449nq] { font-size: 0.82rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.op-amount[b-7l3vw449nq] { font-size: 0.85rem; font-weight: 600; white-space: nowrap; }
.op-amount.expense[b-7l3vw449nq] { color: #e74c3c; }
.op-amount.income[b-7l3vw449nq]  { color: #27ae60; }

.op-row.selected .op-date[b-7l3vw449nq],
.op-row.selected .op-amount.expense[b-7l3vw449nq],
.op-row.selected .op-amount.income[b-7l3vw449nq] { color: rgba(255,255,255,0.8); }

.op-cat-badge[b-7l3vw449nq] { font-size: 0.75rem; }
.op-cat-badge.has-detail[b-7l3vw449nq] { color: var(--accent-primary); }
.op-cat-badge.none[b-7l3vw449nq]       { color: var(--text-muted, #aaa); }

/* ===== RIGHT — empty state ===== */
.empty-panel[b-7l3vw449nq] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    gap: 0.5rem;
    color: var(--text-secondary);
}

.empty-panel-icon[b-7l3vw449nq] { font-size: 2rem; }

.empty-state[b-7l3vw449nq] {
    text-align: center;
    color: var(--text-secondary);
    padding: 1rem;
    font-size: 0.85rem;
}

/* ===== Operation summary header (right panel) ===== */
.op-summary[b-7l3vw449nq] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.op-summary-date[b-7l3vw449nq]   { font-size: 0.78rem; color: var(--text-secondary); }
.op-summary-label[b-7l3vw449nq]  { font-size: 0.9rem; font-weight: 500; flex: 1; }
.op-summary-amount[b-7l3vw449nq] { font-size: 0.95rem; font-weight: 700; }
.op-summary-amount.expense[b-7l3vw449nq] { color: #e74c3c; }
.op-summary-amount.income[b-7l3vw449nq]  { color: #27ae60; }

/* ===== Section titles ===== */
.section-title[b-7l3vw449nq] {
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--text-secondary);
    margin: 0.6rem 0 0.4rem;
}

.section-title-spaced[b-7l3vw449nq] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* ===== Allocation balance ===== */
.allocation-balance[b-7l3vw449nq] {
    font-size: 0.78rem;
    font-weight: 600;
    padding: 0.15rem 0.4rem;
    border-radius: 4px;
}
.allocation-balance.balanced[b-7l3vw449nq] { background: #d1fae5; color: #065f46; }
.allocation-balance.over[b-7l3vw449nq]     { background: #fee2e2; color: #991b1b; }
.allocation-balance.under[b-7l3vw449nq]    { background: #fef9c3; color: #713f12; }

/* ===== Allocation rows ===== */
.alloc-row[b-7l3vw449nq] {
    border-bottom: 1px solid var(--border-color);
    padding: 0.35rem 0;
}

.alloc-read[b-7l3vw449nq] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.alloc-cat[b-7l3vw449nq]    { font-size: 0.85rem; flex: 1; }
.alloc-amount[b-7l3vw449nq] { font-size: 0.85rem; font-weight: 600; white-space: nowrap; }
.alloc-amount.expense[b-7l3vw449nq] { color: #e74c3c; }
.alloc-amount.income[b-7l3vw449nq]  { color: #27ae60; }
.alloc-note[b-7l3vw449nq]   { font-size: 0.75rem; color: var(--text-secondary); font-style: italic; flex: 1; }

.btn-alloc-edit[b-7l3vw449nq],
.btn-alloc-delete[b-7l3vw449nq],
.btn-alloc-save[b-7l3vw449nq],
.btn-alloc-cancel[b-7l3vw449nq] {
    padding: 0.2rem 0.45rem;
    font-size: 0.8rem;
    border: 1px solid var(--border-color);
    border-radius: 3px;
    cursor: pointer;
    background: var(--bg-secondary);
    color: var(--text-primary);
    transition: background 0.15s;
}

.btn-alloc-edit:hover[b-7l3vw449nq]   { background: var(--hover-bg); }
.btn-alloc-save[b-7l3vw449nq]         { border-color: #22c55e; color: #15803d; }
.btn-alloc-save:hover[b-7l3vw449nq]   { background: #dcfce7; }
.btn-alloc-cancel[b-7l3vw449nq]       { border-color: #d1d5db; }
.btn-alloc-delete[b-7l3vw449nq]       { border-color: #fca5a5; color: #dc2626; }
.btn-alloc-delete:hover[b-7l3vw449nq] { background: #fee2e2; }

.alloc-edit[b-7l3vw449nq] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.alloc-amount-input[b-7l3vw449nq] {
    width: 90px;
    padding: 0.25rem 0.4rem;
    font-size: 0.82rem;
    border: 1px solid var(--border-color);
    border-radius: 4px;
    background: var(--bg-primary);
    color: var(--text-primary);
}

.alloc-note-input[b-7l3vw449nq] {
    flex: 1;
    min-width: 80px;
    padding: 0.25rem 0.4rem;
    font-size: 0.82rem;
    border: 1px solid var(--border-color);
    border-radius: 4px;
    background: var(--bg-primary);
    color: var(--text-primary);
}

/* ===== Add row ===== */
.alloc-add[b-7l3vw449nq] {
    margin-top: 0.75rem;
    padding-top: 0.5rem;
    border-top: 1px dashed var(--border-color);
}

/* ===== Feedback ===== */
.cat-feedback[b-7l3vw449nq] {
    padding: 0.5rem 0.75rem;
    font-size: 0.82rem;
    border-radius: 4px;
    margin: 0.5rem;
    flex-shrink: 0;
}

.cat-feedback.success[b-7l3vw449nq] { background: #d1fae5; color: #065f46; }
.cat-feedback.error[b-7l3vw449nq]   { background: #fee2e2; color: #991b1b; }
/* /Components/Pages/Categorisation.razor.rz.scp.css */
/* ===== PAGE LAYOUT ===== */
.categorisation-layout[b-otcyjxm9tm] {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 1rem;
    height: calc(100vh - 80px);
    padding: 1rem;
}

/* ===== PANELS ===== */
.cat-panel[b-otcyjxm9tm] {
    border: 1px solid var(--border-color);
    border-radius: 6px;
    background: var(--bg-tertiary);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.cat-panel-header[b-otcyjxm9tm] {
    background: var(--bg-secondary);
    border-bottom: 2px solid var(--accent-primary);
    padding: 0.65rem 0.75rem;
    flex-shrink: 0;
}

    .cat-panel-header h3[b-otcyjxm9tm] {
        margin: 0 0 0.5rem 0;
        font-size: 0.95rem;
        color: var(--text-primary);
    }

.cat-panel-body[b-otcyjxm9tm] {
    flex: 1;
    overflow-y: auto;
    padding: 0.5rem;
}

/* ===== LEFT — controls ===== */
.header-controls[b-otcyjxm9tm] {
    display: flex;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.search-input[b-otcyjxm9tm] {
    flex: 1;
    min-width: 120px;
    padding: 0.3rem 0.5rem;
    font-size: 0.82rem;
    background: var(--bg-primary);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
    border-radius: 4px;
}

.filter-select[b-otcyjxm9tm] {
    padding: 0.3rem 0.4rem;
    font-size: 0.82rem;
    background: var(--bg-primary);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
    border-radius: 4px;
    cursor: pointer;
}

/* ===== LEFT — operation rows ===== */
.op-row[b-otcyjxm9tm] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.4rem 0.5rem;
    border-radius: 4px;
    cursor: pointer;
    border-bottom: 1px solid var(--border-color);
    transition: background 0.15s;
}

    .op-row:hover[b-otcyjxm9tm] {
        background: var(--hover-bg);
    }

    .op-row.selected[b-otcyjxm9tm] {
        background: var(--accent-primary);
        color: white;
    }

.op-row-main[b-otcyjxm9tm] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    flex: 1;
    min-width: 0;
}

.op-date[b-otcyjxm9tm] {
    font-size: 0.72rem;
    color: var(--text-secondary);
}

.op-row.selected .op-date[b-otcyjxm9tm] {
    color: rgba(255,255,255,0.75);
}

.op-label[b-otcyjxm9tm] {
    font-size: 0.82rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.op-row-meta[b-otcyjxm9tm] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-shrink: 0;
}

.op-amount[b-otcyjxm9tm] {
    font-size: 0.82rem;
    font-weight: 600;
}

.op-amount.expense[b-otcyjxm9tm], .alloc-amount.expense[b-otcyjxm9tm] { color: #e53935; }
.op-amount.income[b-otcyjxm9tm],  .alloc-amount.income[b-otcyjxm9tm]  { color: #43a047; }
.op-row.selected .op-amount[b-otcyjxm9tm] { color: white; }

.op-cat-badge[b-otcyjxm9tm] {
    font-size: 0.72rem;
    padding: 0.1rem 0.35rem;
    border-radius: 10px;
    font-weight: 600;
}

    .op-cat-badge.has-detail[b-otcyjxm9tm] { background: #1976d2; color: white; }
    .op-cat-badge.has-quick[b-otcyjxm9tm]  { background: #f57c00; color: white; }
    .op-cat-badge.none[b-otcyjxm9tm]       { background: var(--bg-secondary); color: var(--text-secondary); }

/* ===== RIGHT — empty state ===== */
.empty-panel[b-otcyjxm9tm] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: var(--text-secondary);
    gap: 0.5rem;
}

.empty-panel-icon[b-otcyjxm9tm] {
    font-size: 2rem;
}

/* ===== RIGHT — op summary ===== */
.op-summary[b-otcyjxm9tm] {
    display: flex;
    align-items: baseline;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.op-summary-date[b-otcyjxm9tm] {
    font-size: 0.78rem;
    color: var(--text-secondary);
}

.op-summary-label[b-otcyjxm9tm] {
    font-size: 0.88rem;
    font-weight: 600;
    flex: 1;
}

.op-summary-amount[b-otcyjxm9tm] {
    font-size: 0.95rem;
    font-weight: 700;
}

/* ===== RIGHT — section titles ===== */
.section-title[b-otcyjxm9tm] {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--text-secondary);
    letter-spacing: 0.04em;
    margin: 0.75rem 0 0.35rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.section-title-spaced[b-otcyjxm9tm] {
    margin-top: 1.25rem;
}

/* ===== RIGHT — quick tag row ===== */
.quick-tag-row[b-otcyjxm9tm] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.btn-save-tag[b-otcyjxm9tm] {
    flex-shrink: 0;
    padding: 0.3rem 0.6rem;
    font-size: 0.82rem;
    background: var(--accent-primary);
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.2s;
}

    .btn-save-tag:hover:not(:disabled)[b-otcyjxm9tm] { background: var(--accent-hover); }
    .btn-save-tag:disabled[b-otcyjxm9tm] { opacity: 0.35; cursor: not-allowed; }

/* ===== RIGHT — allocation balance ===== */
.allocation-balance[b-otcyjxm9tm] {
    font-size: 0.78rem;
    font-weight: 600;
    padding: 0.15rem 0.4rem;
    border-radius: 4px;
}

    .allocation-balance.balanced[b-otcyjxm9tm] { background: #e8f5e9; color: #2e7d32; }
    .allocation-balance.over[b-otcyjxm9tm]     { background: #ffebee; color: #c62828; }
    .allocation-balance.under[b-otcyjxm9tm]    { background: #fff8e1; color: #e65100; }

/* ===== RIGHT — allocation rows ===== */
.alloc-row[b-otcyjxm9tm] {
    border-bottom: 1px solid var(--border-color);
    padding: 0.35rem 0;
}

.alloc-read[b-otcyjxm9tm] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.alloc-cat[b-otcyjxm9tm] {
    flex: 1;
    font-size: 0.83rem;
}

.alloc-amount[b-otcyjxm9tm] {
    font-size: 0.83rem;
    font-weight: 600;
    white-space: nowrap;
}

.alloc-note[b-otcyjxm9tm] {
    font-size: 0.78rem;
    color: var(--text-secondary);
    font-style: italic;
    flex: 1;
}

.alloc-edit[b-otcyjxm9tm] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.alloc-amount-input[b-otcyjxm9tm] {
    width: 90px;
    padding: 0.3rem 0.4rem;
    font-size: 0.82rem;
    background: var(--bg-primary);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
    border-radius: 4px;
}

.alloc-note-input[b-otcyjxm9tm] {
    flex: 1;
    min-width: 80px;
    padding: 0.3rem 0.4rem;
    font-size: 0.82rem;
    background: var(--bg-primary);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
    border-radius: 4px;
}

.btn-alloc-save[b-otcyjxm9tm] {
    padding: 0.3rem 0.6rem;
    font-size: 0.8rem;
    background: var(--accent-primary);
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    white-space: nowrap;
}

    .btn-alloc-save:disabled[b-otcyjxm9tm] { opacity: 0.4; cursor: not-allowed; }

.btn-alloc-cancel[b-otcyjxm9tm] {
    padding: 0.3rem 0.5rem;
    font-size: 0.8rem;
    background: var(--bg-secondary);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
    border-radius: 4px;
    cursor: pointer;
}

.btn-alloc-edit[b-otcyjxm9tm], .btn-alloc-delete[b-otcyjxm9tm] {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 0.85rem;
    padding: 0.1rem 0.25rem;
    border-radius: 3px;
    opacity: 0.6;
    transition: opacity 0.15s;
}

    .btn-alloc-edit:hover[b-otcyjxm9tm], .btn-alloc-delete:hover[b-otcyjxm9tm] { opacity: 1; }

/* ===== RIGHT — add section ===== */
.alloc-add[b-otcyjxm9tm] {
    margin-top: 0.5rem;
}

/* ===== FEEDBACK ===== */
.cat-feedback[b-otcyjxm9tm] {
    padding: 0.5rem 0.75rem;
    font-size: 0.82rem;
    font-weight: 500;
    border-top: 1px solid var(--border-color);
    flex-shrink: 0;
}

    .cat-feedback.success[b-otcyjxm9tm] { background: var(--success-bg, #e8f5e9); color: #2e7d32; }
    .cat-feedback.error[b-otcyjxm9tm]   { background: var(--warning-bg, #fff3e0); color: #c62828; }

/* ===== EMPTY STATE ===== */
.empty-state[b-otcyjxm9tm] {
    text-align: center;
    color: var(--text-secondary);
    font-size: 0.85rem;
    padding: 1rem;
}
/* /Components/Pages/DBViewer.razor.rz.scp.css */
/* DBViewer Page Styles */

.dbviewer-page[b-p1xspm00lp] {
    padding: 2rem;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    overflow-x: hidden; /* Prevent horizontal page scrolling */
    overflow-y: auto;   /* Allow vertical scrolling */
}

/* Header */
.dbviewer-header[b-p1xspm00lp] {
    margin-bottom: 2rem;
    border-bottom: 2px solid var(--border-color);
    padding-bottom: 1rem;
}

.dbviewer-header h1[b-p1xspm00lp] {
    margin: 0 0 0.5rem 0;
    color: var(--text-primary);
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.dbviewer-header .db-icon[b-p1xspm00lp] {
    width: 2rem;
    height: 2rem;
    fill: var(--accent-primary);
    flex-shrink: 0;
}

.dbviewer-header .subtitle[b-p1xspm00lp] {
    margin: 0;
    color: var(--text-secondary);
    font-size: 1rem;
}

/* Loading States */
.loading-container[b-p1xspm00lp] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem 2rem;
    gap: 1rem;
}

.spinner[b-p1xspm00lp] {
    width: 50px;
    height: 50px;
    border: 4px solid var(--border-color);
    border-top-color: var(--accent-primary);
    border-radius: 50%;
    animation: spin-b-p1xspm00lp 1s linear infinite;
}

@keyframes spin-b-p1xspm00lp {
    to { transform: rotate(360deg); }
}

/* Error Message */
.error-message[b-p1xspm00lp] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.5rem;
    background-color: var(--error-bg, #ffebee);
    border: 2px solid var(--error-border, #f44336);
    border-radius: 8px;
    color: var(--error-text, #c62828);
    margin-bottom: 2rem;
}

.error-message .icon[b-p1xspm00lp] {
    font-size: 1.5rem;
}

/* Empty State */
.empty-state[b-p1xspm00lp] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem 2rem;
    color: var(--text-secondary);
    gap: 1rem;
}

.empty-state .icon-large[b-p1xspm00lp] {
    font-size: 4rem;
}

.empty-state p[b-p1xspm00lp] {
    margin: 0;
    font-size: 1.1rem;
}

/* Table Tabs */
.table-tabs[b-p1xspm00lp] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-bottom: 2rem;
    padding: 1rem;
    background-color: var(--bg-secondary);
    border-radius: 8px;
    border: 1px solid var(--border-color);
}

.tab[b-p1xspm00lp] {
    padding: 0.75rem 1.5rem;
    background-color: var(--bg-primary);
    border: 1px solid var(--border-color);
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s;
    font-size: 0.95rem;
    font-weight: 500;
    color: var(--text-primary);
}

.tab:hover[b-p1xspm00lp] {
    background-color: var(--bg-hover, #e3f2fd);
    border-color: var(--accent-primary);
    transform: translateY(-2px);
}

.tab.active[b-p1xspm00lp] {
    background-color: var(--accent-primary);
    color: white;
    border-color: var(--accent-primary);
}

/* Table Content */
.table-content[b-p1xspm00lp] {
    background-color: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 2rem;
}

.table-info[b-p1xspm00lp] {
    margin-bottom: 1.5rem;
}

.table-info h2[b-p1xspm00lp] {
    margin: 0 0 0.5rem 0;
    color: var(--text-primary);
}

.table-info .row-count[b-p1xspm00lp] {
    margin: 0;
    color: var(--text-secondary);
    font-size: 0.95rem;
}

.row-count .warning[b-p1xspm00lp] {
    color: var(--warning-text, #e65100);
    font-weight: 500;
    margin-left: 0.5rem;
}

/* Data Table */
.table-wrapper[b-p1xspm00lp] {
    overflow-x: auto;   /* Horizontal scroll for wide tables */
    overflow-y: auto;   /* Vertical scroll for tall tables */
    max-height: calc(100vh - 400px); /* Limit height to prevent excessive vertical scrolling */
    border-radius: 6px;
    border: 1px solid var(--border-color);
}

.data-table[b-p1xspm00lp] {
    width: 100%;
    border-collapse: collapse;
    background-color: var(--bg-primary);
    font-size: 0.9rem;
}

.data-table thead[b-p1xspm00lp] {
    background-color: var(--bg-secondary);
    position: sticky;
    top: 0;
    z-index: 10;
}

.data-table th[b-p1xspm00lp] {
    padding: 1rem;
    text-align: left;
    border-bottom: 2px solid var(--border-color);
    border-right: 1px solid var(--border-color);
    font-weight: 600;
}

.data-table th:last-child[b-p1xspm00lp] {
    border-right: none;
}

.column-header[b-p1xspm00lp] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.column-name[b-p1xspm00lp] {
    color: var(--text-primary);
    font-size: 0.95rem;
}

.column-type[b-p1xspm00lp] {
    color: var(--text-secondary);
    font-size: 0.85rem;
    font-weight: 400;
}

.data-table td[b-p1xspm00lp] {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--border-color);
    border-right: 1px solid var(--border-color);
    color: var(--text-primary);
}

.data-table td:last-child[b-p1xspm00lp] {
    border-right: none;
}

/* Alternating row colors for better readability */
.data-table tbody tr:nth-child(odd)[b-p1xspm00lp] {
    background-color: var(--bg-primary);
}

.data-table tbody tr:nth-child(even)[b-p1xspm00lp] {
    background-color: var(--bg-secondary, rgba(0, 0, 0, 0.02));
}

/* Hover state - uses theme-aware variable for both light and dark modes */
.data-table tbody tr:hover[b-p1xspm00lp] {
    background-color: var(--hover-bg) !important;
    cursor: pointer;
}

/* Selected row state - persists on click */
.data-table tbody tr.selected[b-p1xspm00lp] {
    background-color: var(--selected-bg) !important;
    border-left: 3px solid var(--accent-primary);
}

.data-table tbody tr.selected:hover[b-p1xspm00lp] {
    background-color: var(--hover-bg) !important;
}

.data-table tbody tr:last-child td[b-p1xspm00lp] {
    border-bottom: none;
}

.null-value[b-p1xspm00lp] {
    color: var(--text-muted, #9e9e9e);
    font-style: italic;
}

/* Responsive Design */
@media (max-width: 768px) {
    .dbviewer-page[b-p1xspm00lp] {
        padding: 1rem;
    }

    .table-tabs[b-p1xspm00lp] {
        padding: 0.5rem;
    }

    .tab[b-p1xspm00lp] {
        padding: 0.5rem 1rem;
        font-size: 0.85rem;
    }

    .table-content[b-p1xspm00lp] {
        padding: 1rem;
    }

    .data-table[b-p1xspm00lp] {
        font-size: 0.8rem;
    }

    .data-table th[b-p1xspm00lp],
    .data-table td[b-p1xspm00lp] {
        padding: 0.5rem;
    }
}
/* /Components/Pages/ForgotPassword.razor.rz.scp.css */
/* Reuse login page styles */
.login-page[b-nzdpa71h9o] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--bg-secondary);
    padding: 2rem 1rem;
}

.login-container[b-nzdpa71h9o] {
    background-color: var(--bg-primary);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 3rem 2.5rem;
    max-width: 450px;
    width: 100%;
    box-shadow: 0 4px 12px var(--shadow-color);
}

.login-header[b-nzdpa71h9o] {
    text-align: center;
    margin-bottom: 2rem;
}

.login-header h1[b-nzdpa71h9o] {
    font-size: 2rem;
    margin-bottom: 0.5rem;
    color: var(--text-primary);
}

.login-header .subtitle[b-nzdpa71h9o] {
    font-size: 1rem;
    color: var(--text-secondary);
    margin: 0;
}

.login-form[b-nzdpa71h9o] {
    margin-bottom: 1.5rem;
}

.form-group[b-nzdpa71h9o] {
    margin-bottom: 1.5rem;
}

.form-group label[b-nzdpa71h9o] {
    display: block;
    font-weight: 600;
    margin-bottom: 0.5rem;
    color: var(--text-primary);
    font-size: 0.9rem;
}

.form-input[b-nzdpa71h9o] {
    width: 100%;
    padding: 0.75rem;
    font-size: 1rem;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    background-color: var(--bg-primary);
    color: var(--text-primary);
    transition: border-color 0.2s ease;
    box-sizing: border-box;
}

.form-input:focus[b-nzdpa71h9o] {
    outline: none;
    border-color: var(--accent-primary);
    box-shadow: 0 0 0 3px rgba(33, 128, 141, 0.1);
}

.form-input:disabled[b-nzdpa71h9o] {
    opacity: 0.6;
    cursor: not-allowed;
}

.form-input[b-nzdpa71h9o]::placeholder {
    color: var(--text-tertiary);
}

.form-hint[b-nzdpa71h9o] {
    display: block;
    margin-top: 0.5rem;
    font-size: 0.85rem;
    color: var(--text-secondary);
}

.btn-primary[b-nzdpa71h9o] {
    background-color: var(--accent-primary);
    color: white;
    border: none;
    padding: 0.875rem 1.5rem;
    font-size: 1rem;
    font-weight: 600;
    border-radius: 6px;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.1s ease;
}

.btn-primary:hover:not(:disabled)[b-nzdpa71h9o] {
    background-color: var(--accent-hover);
    transform: translateY(-1px);
}

.btn-primary:active:not(:disabled)[b-nzdpa71h9o] {
    transform: translateY(0);
}

.btn-primary:disabled[b-nzdpa71h9o] {
    opacity: 0.6;
    cursor: not-allowed;
}

.btn-full[b-nzdpa71h9o] {
    width: 100%;
}

.alert[b-nzdpa71h9o] {
    padding: 1rem;
    border-radius: 6px;
    margin-bottom: 1.5rem;
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.alert-icon[b-nzdpa71h9o] {
    font-size: 1.25rem;
    flex-shrink: 0;
}

.alert-error[b-nzdpa71h9o] {
    background-color: var(--error-bg);
    color: var(--error-text);
    border: 1px solid var(--error-text);
}

.alert-success[b-nzdpa71h9o] {
    background-color: var(--success-bg);
    color: var(--success-text);
    border: 1px solid var(--success-text);
}

.login-footer[b-nzdpa71h9o] {
    text-align: center;
    padding-top: 1rem;
    border-top: 1px solid var(--border-light);
}

.link-secondary[b-nzdpa71h9o] {
    color: var(--accent-primary);
    text-decoration: none;
    font-size: 0.9rem;
    transition: color 0.2s ease;
}

.link-secondary:hover[b-nzdpa71h9o] {
    color: var(--accent-hover);
    text-decoration: underline;
}

@media (max-width: 768px) {
    .login-container[b-nzdpa71h9o] {
        padding: 2rem 1.5rem;
    }

    .login-header h1[b-nzdpa71h9o] {
        font-size: 1.75rem;
    }
}
/* /Components/Pages/Login.razor.rz.scp.css */
/* Login Page Layout */
.login-page[b-4yroe6ns74] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--bg-secondary);
    padding: 2rem 1rem;
}

.login-container[b-4yroe6ns74] {
    background-color: var(--bg-primary);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 3rem 2.5rem;
    max-width: 450px;
    width: 100%;
    box-shadow: 0 4px 12px var(--shadow-color);
}

.login-header[b-4yroe6ns74] {
    text-align: center;
    margin-bottom: 2rem;
}

.login-header h1[b-4yroe6ns74] {
    font-size: 2rem;
    margin-bottom: 0.5rem;
    color: var(--text-primary);
}

.login-header .subtitle[b-4yroe6ns74] {
    font-size: 1rem;
    color: var(--text-secondary);
    margin: 0;
}

/* Form Styles */
.login-form[b-4yroe6ns74] {
    margin-bottom: 1.5rem;
}

.form-group[b-4yroe6ns74] {
    margin-bottom: 1.5rem;
}

.form-group label[b-4yroe6ns74] {
    display: block;
    font-weight: 600;
    margin-bottom: 0.5rem;
    color: var(--text-primary);
    font-size: 0.9rem;
}

.form-input[b-4yroe6ns74] {
    width: 100%;
    padding: 0.75rem;
    font-size: 1rem;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    background-color: var(--bg-primary);
    color: var(--text-primary);
    transition: border-color 0.2s ease;
    box-sizing: border-box;
}

.form-input:focus[b-4yroe6ns74] {
    outline: none;
    border-color: var(--accent-primary);
    box-shadow: 0 0 0 3px rgba(33, 128, 141, 0.1);
}

.form-input:disabled[b-4yroe6ns74] {
    opacity: 0.6;
    cursor: not-allowed;
}

.form-input[b-4yroe6ns74]::placeholder {
    color: var(--text-tertiary);
}

/* Button Styles */
.btn-primary[b-4yroe6ns74] {
    background-color: var(--accent-primary);
    color: white;
    border: none;
    padding: 0.875rem 1.5rem;
    font-size: 1rem;
    font-weight: 600;
    border-radius: 6px;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.1s ease;
}

.btn-primary:hover:not(:disabled)[b-4yroe6ns74] {
    background-color: var(--accent-hover);
    transform: translateY(-1px);
}

.btn-primary:active:not(:disabled)[b-4yroe6ns74] {
    transform: translateY(0);
}

.btn-primary:disabled[b-4yroe6ns74] {
    opacity: 0.6;
    cursor: not-allowed;
}

.btn-full[b-4yroe6ns74] {
    width: 100%;
}

/* Alert Styles */
.alert[b-4yroe6ns74] {
    padding: 1rem;
    border-radius: 6px;
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.alert-icon[b-4yroe6ns74] {
    font-size: 1.25rem;
}

.alert-error[b-4yroe6ns74] {
    background-color: var(--error-bg);
    color: var(--error-text);
    border: 1px solid var(--error-text);
}

.alert-success[b-4yroe6ns74] {
    background-color: var(--success-bg);
    color: var(--success-text);
    border: 1px solid var(--success-text);
}

/* Footer Links */
.login-footer[b-4yroe6ns74] {
    text-align: center;
    padding-top: 1rem;
    border-top: 1px solid var(--border-light);
}

.link-secondary[b-4yroe6ns74] {
    color: var(--accent-primary);
    text-decoration: none;
    font-size: 0.9rem;
    transition: color 0.2s ease;
}

.link-secondary:hover[b-4yroe6ns74] {
    color: var(--accent-hover);
    text-decoration: underline;
}

/* Responsive */
@media (max-width: 768px) {
    .login-container[b-4yroe6ns74] {
        padding: 2rem 1.5rem;
    }

    .login-header h1[b-4yroe6ns74] {
        font-size: 1.75rem;
    }
}
/* /Components/Pages/Matching.razor.rz.scp.css */
/* ===== MATCHING PAGE LAYOUT ===== */
.matching-layout[b-ikqyruyf0i] {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1rem;
    height: calc(100vh - 180px);
    padding: 1rem;
}

/* ===== COLUMN STRUCTURE ===== */
.column[b-ikqyruyf0i] {
    border: 1px solid var(--border-color);
    border-radius: 6px;
    background: var(--bg-tertiary);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.column-header[b-ikqyruyf0i] {
    background: var(--bg-secondary);
    border-bottom: 2px solid var(--accent-primary);
    padding: 0.75rem;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 3.6rem;
}

    .column-header h3[b-ikqyruyf0i] {
        margin: 0;
        font-size: 1rem;
        font-weight: 600;
        color: var(--text-primary);
    }

/* ===== HEADER BUTTONS ===== */
.header-buttons[b-ikqyruyf0i] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

/* ===== ICON BUTTONS (REFRESH, DRIVE, ETC.) ===== */
.btn-icon[b-ikqyruyf0i] {
    background: none;
    border: none;
    color: var(--text-primary);
    cursor: pointer;
    padding: 0.25rem;
    border-radius: 4px;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    flex-shrink: 0;
}

    .btn-icon:hover:not(:disabled)[b-ikqyruyf0i] {
        background: var(--hover-bg);
        transform: scale(1.1);
        color: var(--accent-primary);
    }

    .btn-icon:active:not(:disabled)[b-ikqyruyf0i] {
        transform: scale(0.95);
    }

    .btn-icon:disabled[b-ikqyruyf0i] {
        opacity: 0.3;
        cursor: not-allowed;
    }

/* Bootstrap arrow-clockwise icon */
.bi-arrow-clockwise[b-ikqyruyf0i] {
    display: inline-block;
    width: 1.25rem;
    height: 1.25rem;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2z'/%3E%3Cpath d='M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466'/%3E%3C/svg%3E") no-repeat center;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2z'/%3E%3Cpath d='M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466'/%3E%3C/svg%3E") no-repeat center;
    -webkit-mask-size: cover;
    mask-size: cover;
}

/* Font Awesome Google Drive icon */
.bi-google-drive[b-ikqyruyf0i] {
    display: inline-block;
    width: 1.25rem;
    height: 1.25rem;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M339 314.9L175.4 32h161.2l163.6 282.9H339zm-137.5 23.6L120.9 480h310.5L512 338.5H201.5zM154.1 67.4L0 338.5 80.6 480 237 208.8 154.1 67.4z'/%3E%3C/svg%3E") no-repeat center;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M339 314.9L175.4 32h161.2l163.6 282.9H339zm-137.5 23.6L120.9 480h310.5L512 338.5H201.5zM154.1 67.4L0 338.5 80.6 480 237 208.8 154.1 67.4z'/%3E%3C/svg%3E") no-repeat center;
    -webkit-mask-size: cover;
    mask-size: cover;
}

/* Spinning animation when refreshing */
.bi-arrow-clockwise.spinning[b-ikqyruyf0i] {
    animation: spin-b-ikqyruyf0i 1s linear infinite;
}

@keyframes spin-b-ikqyruyf0i {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

/* ===== COLUMN CONTENT ===== */
.column-content[b-ikqyruyf0i] {
    flex: 1;
    overflow-y: auto;
    padding: 0.75rem;
}

/* ===== LIST ITEMS ===== */
.list-item[b-ikqyruyf0i] {
    padding: 0.5rem;
    border-bottom: 1px solid var(--border-light);
    cursor: pointer;
    border-radius: 4px;
    position: relative;
}

    .list-item:hover[b-ikqyruyf0i] {
        background: var(--hover-bg);
    }

    .list-item.selected[b-ikqyruyf0i] {
        background: var(--selected-bg);
        border-left: 3px solid var(--accent-primary);
        padding-bottom: 2.5rem;
    }

.item-date[b-ikqyruyf0i] {
    font-size: 0.75rem;
    color: var(--text-secondary);
}

.item-label[b-ikqyruyf0i] {
    font-weight: 500;
    font-size: 0.9rem;
    color: var(--text-primary);
}

.item-amount[b-ikqyruyf0i] {
    font-weight: bold;
}

.item-status[b-ikqyruyf0i] {
    font-size: 0.75rem;
    color: var(--text-tertiary);
}

/* ===== BUDGET CATEGORY BADGE ===== */
.item-category[b-ikqyruyf0i] {
    font-size: 0.75rem;
    font-weight: 500;
    margin-top: 0.15rem;
}

.item-category--set[b-ikqyruyf0i] {
    color: #2e7d32;
}

.item-category--unset[b-ikqyruyf0i] {
    color: #c62828;
}

/* ===== INLINE PREVIEW BUTTON ===== */
.btn-preview-inline[b-ikqyruyf0i] {
    position: absolute;
    bottom: 0.5rem;
    right: 0.5rem;
    background: var(--accent-primary);
    color: white;
    border: none;
    padding: 0.4rem 0.8rem;
    border-radius: 4px;
    font-size: 0.85rem;
    cursor: pointer;
    transition: background 0.2s;
}

    .btn-preview-inline:hover[b-ikqyruyf0i] {
        background: var(--accent-hover);
    }

/* ===== AMOUNT COLORS ===== */
.expense[b-ikqyruyf0i] {
    color: var(--expense-color);
}

.income[b-ikqyruyf0i] {
    color: var(--income-color);
}

/* ===== EMPTY STATE ===== */
.empty-state[b-ikqyruyf0i] {
    color: var(--text-light);
    font-style: italic;
    padding: 1rem;
    text-align: center;
}

/* ===== SELECTED FOLDER/FILE INFO ===== */
.selected-folder-info[b-ikqyruyf0i] {
    padding: 0.6rem 0.75rem;
    background: var(--bg-secondary);
    border-bottom: 1px solid var(--border-color);
    font-size: 0.85rem;
    color: var(--text-secondary);
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

    .selected-folder-info small[b-ikqyruyf0i] {
        flex: 1;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .selected-folder-info .btn-preview-inline[b-ikqyruyf0i] {
        position: static;
        padding: 0.3rem 0.6rem;
        font-size: 0.75rem;
        flex-shrink: 0;
    }

/* ===== ACTION BAR ===== */
.action-bar[b-ikqyruyf0i] {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--bg-primary);
    border-top: 2px solid var(--accent-primary);
    padding: 0.75rem 1rem;
    display: flex;
    gap: 1rem;
    align-items: flex-end;
    flex-wrap: wrap;
}

/* On desktop, align with NavMenu (250px wide) */
@media (min-width: 641px) {
    .action-bar[b-ikqyruyf0i] {
        margin-left: var(--sidebar-width, 250px);
        transition: margin-left 0.3s ease;
    }
}

.action-bar.disabled[b-ikqyruyf0i] {
    opacity: 0.5;
}

.action-field[b-ikqyruyf0i] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

    .action-field label[b-ikqyruyf0i] {
        font-size: 0.75rem;
        color: var(--text-secondary);
    }

.action-placeholder[b-ikqyruyf0i] {
    font-size: 0.78rem;
    color: var(--text-secondary);
    font-style: italic;
}

.category-picker-row[b-ikqyruyf0i] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    min-width: 220px;
}

.btn-save-category[b-ikqyruyf0i] {
    flex-shrink: 0;
    padding: 0.3rem 0.55rem;
    font-size: 0.8rem;
    background: var(--accent-primary);
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.2s;
}

    .btn-save-category:hover:not(:disabled)[b-ikqyruyf0i] {
        background: var(--accent-hover);
    }

    .btn-save-category:disabled[b-ikqyruyf0i] {
        opacity: 0.35;
        cursor: not-allowed;
    }

.action-buttons[b-ikqyruyf0i] {
    display: flex;
    gap: 0.5rem;
    margin-left: auto;
}

/* ===== SUBMIT BUTTON ===== */
.btn-submit[b-ikqyruyf0i] {
    background: var(--accent-primary);
    color: white;
    border: none;
    padding: 0.5rem 1rem;
    border-radius: 4px;
    cursor: pointer;
}

    .btn-submit:hover[b-ikqyruyf0i] {
        background: var(--accent-hover);
    }

    .btn-submit:disabled[b-ikqyruyf0i] {
        opacity: 0.4;
        cursor: not-allowed;
    }

/* ===== FEEDBACK MESSAGES ===== */
.feedback[b-ikqyruyf0i] {
    padding: 0.5rem 1rem;
    border-radius: 4px;
    font-weight: 500;
}

    .feedback.success[b-ikqyruyf0i] {
        background: var(--success-bg);
        color: var(--success-text);
    }

    .feedback.error[b-ikqyruyf0i] {
        background: var(--error-bg);
        color: var(--error-text);
    }

.feedback-bar[b-ikqyruyf0i] {
    position: fixed;
    bottom: 90px;
    left: 50%;
    transform: translateX(-50%);
    padding: 0.6rem 1.5rem;
    border-radius: 6px;
    font-weight: 600;
    font-size: 0.95rem;
    z-index: 1000;
    box-shadow: 0 2px 8px var(--shadow-color);
    animation: fadeIn-b-ikqyruyf0i 0.2s ease-in;
}

    .feedback-bar.success[b-ikqyruyf0i] {
        background: var(--success-bg);
        color: var(--success-text);
        border: 1px solid var(--success-text);
    }

    .feedback-bar.error[b-ikqyruyf0i] {
        background: var(--error-bg);
        color: var(--error-text);
        border: 1px solid var(--error-text);
    }

/* ===== CHECKBOX IN ACTION BAR ===== */
.checkbox-label-inline[b-ikqyruyf0i] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    color: #666;
    cursor: pointer;
    user-select: none;
}

    .checkbox-label-inline input[type="checkbox"][b-ikqyruyf0i] {
        cursor: pointer;
        width: 16px;
        height: 16px;
        accent-color: #21808d;
    }

    .checkbox-label-inline:hover[b-ikqyruyf0i] {
        color: #21808d;
    }

/* ===== ANIMATIONS ===== */
@keyframes fadeIn-b-ikqyruyf0i {
    from {
        opacity: 0;
        transform: translateX(-50%) translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateX(-50%) translateY(0);
    }
}

/* ===== FOLDER TREE VIEW ===== */
.folder-tree[b-ikqyruyf0i] {
    padding: 0.5rem 0;
}

.folder-tree-item[b-ikqyruyf0i] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem;
    cursor: pointer;
    border-radius: 4px;
    transition: background-color 0.2s;
    position: relative;
}

    .folder-tree-item:hover[b-ikqyruyf0i] {
        background-color: var(--hover-bg);
    }

    .folder-tree-item.selected[b-ikqyruyf0i] {
        background-color: var(--selected-bg);
        border-left: 3px solid var(--accent-primary);
    }

.folder-toggle[b-ikqyruyf0i] {
    font-size: 0.7rem;
    color: var(--text-secondary);
    cursor: pointer;
    padding: 0.25rem;
    user-select: none;
    width: 1rem;
    text-align: center;
    transition: transform 0.2s;
}

    .folder-toggle:hover[b-ikqyruyf0i] {
        color: var(--accent-primary);
    }

.folder-toggle-spacer[b-ikqyruyf0i] {
    width: 1rem;
    flex-shrink: 0;
}

.folder-icon[b-ikqyruyf0i] {
    font-size: 1.2rem;
    flex-shrink: 0;
}

.folder-name[b-ikqyruyf0i] {
    font-size: 0.9rem;
    color: var(--text-primary);
    font-weight: 500;
    flex: 1;
}

.folder-type-badge[b-ikqyruyf0i] {
    font-size: 0.7rem;
    padding: 0.15rem 0.4rem;
    border-radius: 3px;
    font-weight: 600;
    text-transform: uppercase;
}

    .folder-type-badge.expenses[b-ikqyruyf0i] {
        background-color: var(--error-bg);
        color: var(--expense-color);
    }

    .folder-type-badge.income[b-ikqyruyf0i] {
        background-color: var(--success-bg);
        color: var(--income-color);
    }

    .folder-type-badge.archive[b-ikqyruyf0i] {
        background-color: var(--bg-secondary);
        color: var(--text-tertiary);
    }

.folder-tree-children[b-ikqyruyf0i] {
    margin-left: 1.5rem;
    border-left: 1px solid var(--border-color);
    padding-left: 0.5rem;
}

.selected-folder-info[b-ikqyruyf0i] {
    margin-top: 0.5rem;
    padding: 0.5rem;
    background-color: var(--bg-tertiary);
    border-radius: 4px;
    border-left: 3px solid var(--accent-primary);
}

    .selected-folder-info small[b-ikqyruyf0i] {
        font-size: 0.75rem;
        color: var(--text-secondary);
        font-weight: 500;
    }

/* ===== MATCHES PANEL ===== */
.matches-panel[b-ikqyruyf0i] {
    border-top: 1px solid var(--border-color);
    padding: 0.5rem;
    background: var(--bg-secondary);
    flex-shrink: 0;
}

.matches-panel-header[b-ikqyruyf0i] {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--text-muted);
    margin-bottom: 0.4rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.matches-empty[b-ikqyruyf0i] {
    font-size: 0.8rem;
    color: var(--text-muted);
    padding: 0.2rem 0;
}

.match-row[b-ikqyruyf0i] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.3rem 0.4rem;
    border-radius: 4px;
    font-size: 0.82rem;
    background: var(--bg-tertiary);
    margin-bottom: 0.25rem;
}

.match-info[b-ikqyruyf0i] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    flex: 1;
    min-width: 0;
}

.match-filename[b-ikqyruyf0i] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 0.8rem;
}

.match-amount[b-ikqyruyf0i] {
    font-weight: 600;
}

.match-drive[b-ikqyruyf0i] { font-size: 0.72rem; }
.drive-done[b-ikqyruyf0i]       { color: var(--color-success, green); }
.drive-failed[b-ikqyruyf0i]     { color: var(--color-danger,  red); }
.drive-pending[b-ikqyruyf0i]    { color: var(--color-warning, orange); }
.drive-reverted[b-ikqyruyf0i]   { color: var(--color-success, green); }
.drive-revertfailed[b-ikqyruyf0i] { color: var(--color-danger, red); }

.btn-delete-match[b-ikqyruyf0i] {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1rem;
    padding: 0.1rem 0.3rem;
    border-radius: 4px;
    flex-shrink: 0;
    opacity: 0.55;
    transition: opacity 0.15s;
}

.btn-delete-match:hover[b-ikqyruyf0i] { opacity: 1; }

.match-confirm-delete[b-ikqyruyf0i] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.78rem;
    flex-shrink: 0;
}

.btn-confirm-delete[b-ikqyruyf0i] {
    background: var(--color-danger, #c0392b);
    color: white;
    border: none;
    border-radius: 4px;
    padding: 0.15rem 0.5rem;
    cursor: pointer;
    font-size: 0.78rem;
}

.btn-cancel-delete[b-ikqyruyf0i] {
    background: var(--bg-tertiary);
    border: 1px solid var(--border-color);
    border-radius: 4px;
    padding: 0.15rem 0.5rem;
    cursor: pointer;
    font-size: 0.78rem;
}
/* /Components/Pages/ResetPassword.razor.rz.scp.css */
/* Reuse login page styles */
.login-page[b-ji3nd0knvk] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--bg-secondary);
    padding: 2rem 1rem;
}

.login-container[b-ji3nd0knvk] {
    background-color: var(--bg-primary);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 3rem 2.5rem;
    max-width: 450px;
    width: 100%;
    box-shadow: 0 4px 12px var(--shadow-color);
}

.login-header[b-ji3nd0knvk] {
    text-align: center;
    margin-bottom: 2rem;
}

.login-header h1[b-ji3nd0knvk] {
    font-size: 2rem;
    margin-bottom: 0.5rem;
    color: var(--text-primary);
}

.login-header .subtitle[b-ji3nd0knvk] {
    font-size: 1rem;
    color: var(--text-secondary);
    margin: 0;
}

.login-form[b-ji3nd0knvk] {
    margin-bottom: 1.5rem;
}

.form-group[b-ji3nd0knvk] {
    margin-bottom: 1.5rem;
}

.form-group label[b-ji3nd0knvk] {
    display: block;
    font-weight: 600;
    margin-bottom: 0.5rem;
    color: var(--text-primary);
    font-size: 0.9rem;
}

.form-input[b-ji3nd0knvk] {
    width: 100%;
    padding: 0.75rem;
    font-size: 1rem;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    background-color: var(--bg-primary);
    color: var(--text-primary);
    transition: border-color 0.2s ease;
    box-sizing: border-box;
}

.form-input:focus[b-ji3nd0knvk] {
    outline: none;
    border-color: var(--accent-primary);
    box-shadow: 0 0 0 3px rgba(33, 128, 141, 0.1);
}

.form-input:disabled[b-ji3nd0knvk] {
    opacity: 0.6;
    cursor: not-allowed;
}

.form-input[b-ji3nd0knvk]::placeholder {
    color: var(--text-tertiary);
}

.form-hint[b-ji3nd0knvk] {
    display: block;
    margin-top: 0.5rem;
    font-size: 0.85rem;
    color: var(--text-secondary);
}

.btn-primary[b-ji3nd0knvk] {
    background-color: var(--accent-primary);
    color: white;
    border: none;
    padding: 0.875rem 1.5rem;
    font-size: 1rem;
    font-weight: 600;
    border-radius: 6px;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.1s ease;
    display: inline-block;
    text-decoration: none;
    text-align: center;
}

.btn-primary:hover:not(:disabled)[b-ji3nd0knvk] {
    background-color: var(--accent-hover);
    transform: translateY(-1px);
}

.btn-primary:active:not(:disabled)[b-ji3nd0knvk] {
    transform: translateY(0);
}

.btn-primary:disabled[b-ji3nd0knvk] {
    opacity: 0.6;
    cursor: not-allowed;
}

.btn-full[b-ji3nd0knvk] {
    width: 100%;
    box-sizing: border-box;
}

.alert[b-ji3nd0knvk] {
    padding: 1rem;
    border-radius: 6px;
    margin-bottom: 1.5rem;
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.alert-icon[b-ji3nd0knvk] {
    font-size: 1.25rem;
    flex-shrink: 0;
}

.alert-error[b-ji3nd0knvk] {
    background-color: var(--error-bg);
    color: var(--error-text);
    border: 1px solid var(--error-text);
}

.alert-success[b-ji3nd0knvk] {
    background-color: var(--success-bg);
    color: var(--success-text);
    border: 1px solid var(--success-text);
}

.alert-info[b-ji3nd0knvk] {
    background-color: #e7f3ff;
    color: #0056b3;
    border: 1px solid #0056b3;
}

[data-theme="dark"] .alert-info[b-ji3nd0knvk] {
    background-color: #1a2a3a;
    color: #5da8ff;
    border: 1px solid #5da8ff;
}

.info-box[b-ji3nd0knvk] {
    background-color: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 6px;
    padding: 1rem;
    margin-bottom: 1.5rem;
    text-align: center;
}

.login-footer[b-ji3nd0knvk] {
    text-align: center;
    padding-top: 1rem;
    border-top: 1px solid var(--border-light);
}

.link-secondary[b-ji3nd0knvk] {
    color: var(--accent-primary);
    text-decoration: none;
    font-size: 0.9rem;
    transition: color 0.2s ease;
}

.link-secondary:hover[b-ji3nd0knvk] {
    color: var(--accent-hover);
    text-decoration: underline;
}

@media (max-width: 768px) {
    .login-container[b-ji3nd0knvk] {
        padding: 2rem 1.5rem;
    }

    .login-header h1[b-ji3nd0knvk] {
        font-size: 1.75rem;
    }
}
/* /Components/Pages/Settings.razor.rz.scp.css */
/* Settings Page Styles */

.settings-page[b-tlemog3sdj] {
    max-width: 900px;
    margin: 0 auto;
    padding: 2rem;
}

/* Header */
.settings-header[b-tlemog3sdj] {
    margin-bottom: 2rem;
    border-bottom: 2px solid var(--border-color);
    padding-bottom: 1rem;
}

.settings-header h1[b-tlemog3sdj] {
    margin: 0 0 0.5rem 0;
    color: var(--text-primary);
}

.settings-header .subtitle[b-tlemog3sdj] {
    margin: 0;
    color: var(--text-secondary);
    font-size: 1rem;
}

/* Status Card */
.status-card[b-tlemog3sdj] {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    padding: 1.5rem;
    border-radius: 8px;
    margin-bottom: 2rem;
    border: 2px solid;
}

.status-card.configured[b-tlemog3sdj] {
    background-color: var(--success-bg, #e8f5e9);
    border-color: var(--success-border, #4caf50);
    color: var(--success-text, #2e7d32);
}

.status-card.not-configured[b-tlemog3sdj] {
    background-color: var(--warning-bg, #fff3e0);
    border-color: var(--warning-border, #ff9800);
    color: var(--warning-text, #e65100);
}

.status-icon .icon-large[b-tlemog3sdj] {
    font-size: 3rem;
}

.status-content[b-tlemog3sdj] {
    flex: 1;
}

.status-content h3[b-tlemog3sdj] {
    margin: 0 0 0.5rem 0;
    font-size: 1.25rem;
}

.status-content p[b-tlemog3sdj] {
    margin: 0;
    font-size: 0.95rem;
}

.btn-test[b-tlemog3sdj] {
    padding: 0.75rem 1.5rem;
    background-color: var(--accent-primary);
    color: white;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 500;
    transition: all 0.2s;
}

.btn-test:hover:not(:disabled)[b-tlemog3sdj] {
    background-color: var(--accent-secondary);
    transform: translateY(-2px);
}

.btn-test:disabled[b-tlemog3sdj] {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Settings Form Container */
.settings-form-container[b-tlemog3sdj] {
    background-color: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 2rem;
    margin-bottom: 2rem;
}

.settings-form-container h2[b-tlemog3sdj] {
    margin: 0 0 0.5rem 0;
    color: var(--text-primary);
}

.form-description[b-tlemog3sdj] {
    margin: 0 0 1.5rem 0;
    color: var(--text-secondary);
}

.help-link[b-tlemog3sdj] {
    color: var(--accent-primary);
    text-decoration: none;
}

.help-link:hover[b-tlemog3sdj] {
    text-decoration: underline;
}

/* Form Styles */
.settings-form[b-tlemog3sdj] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.form-group[b-tlemog3sdj] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.form-group label[b-tlemog3sdj] {
    font-weight: 600;
    color: var(--text-primary);
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.required[b-tlemog3sdj] {
    color: var(--error-color, #d32f2f);
}

.form-input[b-tlemog3sdj] {
    padding: 0.75rem;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    font-size: 1rem;
    background-color: var(--bg-primary);
    color: var(--text-primary);
    transition: border-color 0.2s;
    font-family: 'Courier New', monospace;
}

.form-input:focus[b-tlemog3sdj] {
    outline: none;
    border-color: var(--accent-primary);
    box-shadow: 0 0 0 3px var(--accent-primary-alpha, rgba(33, 128, 148, 0.1));
}

.form-hint[b-tlemog3sdj] {
    color: var(--text-secondary);
    font-size: 0.875rem;
    margin: 0;
}

/* Form Actions */
.form-actions[b-tlemog3sdj] {
    display: flex;
    gap: 1rem;
    justify-content: flex-end;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border-color);
}

.btn-primary[b-tlemog3sdj],
.btn-secondary[b-tlemog3sdj] {
    padding: 0.75rem 1.5rem;
    border: none;
    border-radius: 6px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
    font-size: 1rem;
}

.btn-primary[b-tlemog3sdj] {
    background-color: var(--accent-primary);
    color: white;
}

.btn-primary:hover:not(:disabled)[b-tlemog3sdj] {
    background-color: var(--accent-secondary);
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.btn-secondary[b-tlemog3sdj] {
    background-color: var(--bg-secondary);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
}

.btn-secondary:hover:not(:disabled)[b-tlemog3sdj] {
    background-color: var(--bg-tertiary, #e0e0e0);
}

.btn-primary:disabled[b-tlemog3sdj],
.btn-secondary:disabled[b-tlemog3sdj] {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Help Section */
.help-section[b-tlemog3sdj] {
    background-color: var(--info-bg, #e3f2fd);
    border: 1px solid var(--info-border, #2196f3);
    border-radius: 8px;
    padding: 2rem;
    margin-bottom: 2rem;
}

.help-section h2[b-tlemog3sdj] {
    margin: 0 0 1rem 0;
    color: var(--info-text, #1565c0);
}

.help-steps[b-tlemog3sdj] {
    margin: 1rem 0;
    padding-left: 1.5rem;
}

.help-steps li[b-tlemog3sdj] {
    margin-bottom: 1rem;
    line-height: 1.6;
}

.code-block[b-tlemog3sdj] {
    background-color: var(--bg-primary);
    border: 1px solid var(--border-color);
    border-radius: 4px;
    padding: 0.75rem;
    margin-top: 0.5rem;
    font-family: 'Courier New', monospace;
    font-size: 0.9rem;
    overflow-x: auto;
}

.code-block .highlight[b-tlemog3sdj] {
    background-color: var(--highlight-bg, #ffeb3b);
    padding: 0.2rem 0.4rem;
    border-radius: 3px;
    font-weight: bold;
    color: var(--text-primary);
}

.help-note[b-tlemog3sdj] {
    background-color: var(--bg-primary);
    border-left: 4px solid var(--info-border, #2196f3);
    padding: 1rem;
    margin-top: 1rem;
    border-radius: 4px;
}

/* Current Settings Table */
.current-settings[b-tlemog3sdj] {
    background-color: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 2rem;
    margin-bottom: 2rem;
}

.current-settings h2[b-tlemog3sdj] {
    margin: 0 0 1rem 0;
    color: var(--text-primary);
}

.settings-table[b-tlemog3sdj] {
    width: 100%;
    border-collapse: collapse;
}

.settings-table tbody tr[b-tlemog3sdj] {
    border-bottom: 1px solid var(--border-color);
}

.settings-table tbody tr:last-child[b-tlemog3sdj] {
    border-bottom: none;
}

.settings-table td[b-tlemog3sdj] {
    padding: 0.75rem;
    vertical-align: top;
}

.settings-table td:first-child[b-tlemog3sdj] {
    width: 40%;
    color: var(--text-secondary);
}

.settings-table td:last-child[b-tlemog3sdj] {
    color: var(--text-primary);
}

.settings-table code[b-tlemog3sdj] {
    background-color: var(--bg-primary);
    padding: 0.2rem 0.5rem;
    border-radius: 3px;
    font-family: 'Courier New', monospace;
    font-size: 0.9rem;
    border: 1px solid var(--border-color);
}

/* Dark Theme Adjustments */
[data-theme="dark"] .status-card.configured[b-tlemog3sdj] {
    background-color: #1b5e20;
    border-color: #4caf50;
    color: #a5d6a7;
}

[data-theme="dark"] .status-card.not-configured[b-tlemog3sdj] {
    background-color: #e65100;
    border-color: #ff9800;
    color: #ffccbc;
}

[data-theme="dark"] .help-section[b-tlemog3sdj] {
    background-color: #0d47a1;
    border-color: #2196f3;
    color: #bbdefb;
}

[data-theme="dark"] .code-block .highlight[b-tlemog3sdj] {
    background-color: #f57f17;
    color: #fff;
}

[data-theme="dark"] .help-note[b-tlemog3sdj] {
    background-color: #1a1a1a;
    border-left-color: #2196f3;
}

/* Responsive */
@media (max-width: 768px) {
    .settings-page[b-tlemog3sdj] {
        padding: 1rem;
    }

    .status-card[b-tlemog3sdj] {
        flex-direction: column;
        text-align: center;
    }

    .form-actions[b-tlemog3sdj] {
        flex-direction: column;
    }

    .btn-primary[b-tlemog3sdj],
    .btn-secondary[b-tlemog3sdj] {
        width: 100%;
    }

    .settings-table td:first-child[b-tlemog3sdj] {
        width: 100%;
        display: block;
        padding-bottom: 0.25rem;
    }

    .settings-table td:last-child[b-tlemog3sdj] {
        display: block;
        padding-top: 0.25rem;
    }
}
/* /Components/Shared/BudgetCategoryPicker.razor.rz.scp.css */
.budget-category-picker[b-mq0ykrhyj3] {
    display: flex;
    align-items: center;
    width: 100%;
}

.category-select[b-mq0ykrhyj3] {
    width: 100%;
    padding: 0.35rem 0.5rem;
    font-size: 0.82rem;
    background: var(--bg-secondary);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
    border-radius: 4px;
    cursor: pointer;
    transition: border-color 0.2s;
}

    .category-select:hover[b-mq0ykrhyj3],
    .category-select:focus[b-mq0ykrhyj3] {
        border-color: var(--accent-primary);
        outline: none;
    }

    .category-select optgroup[b-mq0ykrhyj3] {
        font-weight: 700;
        color: var(--text-secondary);
    }

    .category-select option[b-mq0ykrhyj3] {
        font-weight: 400;
        color: var(--text-primary);
        background: var(--bg-primary);
    }
/* /Components/Shared/BudgetCategoryTreeItem.razor.rz.scp.css */
/* ===== BudgetCategoryTreeItem ===== */

.node[b-24wna29o5c] {
    position: relative;
}

.tree-row[b-24wna29o5c] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 7px;
    background: var(--bg-primary);
    margin-bottom: 3px;
    position: relative;
    transition: background 0.12s ease;
}

.tree-row:hover[b-24wna29o5c] {
    background: var(--bg-hover, rgba(255,255,255,0.04));
}

.tree-row:hover .actions[b-24wna29o5c] {
    opacity: 1;
}

/* Caret toggle */
.caret[b-24wna29o5c] {
    width: 16px;
    text-align: center;
    color: var(--text-secondary);
    font-size: 11px;
    flex-shrink: 0;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.caret.leaf[b-24wna29o5c] {
    visibility: hidden;
}

.caret-btn[b-24wna29o5c] {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    color: inherit;
    font-size: inherit;
    line-height: 1;
    width: 16px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

.caret-btn:hover[b-24wna29o5c] {
    color: var(--text-primary);
}

/* Label — depth-aware weight and colour */
.label[b-24wna29o5c] {
    flex: 1;
    font-size: 14px;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.label.level-0[b-24wna29o5c] { color: var(--text-primary);   font-weight: 600; }
.label.level-1[b-24wna29o5c] { color: var(--text-primary);   font-weight: 500; }
.label.level-2[b-24wna29o5c] { color: var(--text-secondary); font-weight: 500; }
.label.level-3[b-24wna29o5c] { color: var(--text-secondary); font-weight: 400; }
.label.level-4[b-24wna29o5c] { color: var(--text-secondary); font-weight: 400; opacity: 0.75; }

/* Child count badge */
.badge-count[b-24wna29o5c] {
    font-size: 11px;
    color: var(--text-secondary);
    background: var(--bg-hover, rgba(255,255,255,0.06));
    border-radius: 10px;
    padding: 1px 8px;
    flex-shrink: 0;
}

/* Action buttons — visible only on row hover */
.actions[b-24wna29o5c] {
    display: flex;
    gap: 4px;
    opacity: 0;
    transition: opacity 0.12s ease;
    flex-shrink: 0;
}

.act-btn[b-24wna29o5c] {
    width: 26px;
    height: 26px;
    border-radius: 6px;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 12px;
    transition: filter 0.12s;
}

.act-btn:hover[b-24wna29o5c] { filter: brightness(1.3); }

.act-add[b-24wna29o5c] { background: rgba(45,212,191,0.12);  color: #2dd4bf; }
.act-edit[b-24wna29o5c] { background: rgba(245,158,11,0.12);  color: #f59e0b; }
.act-del[b-24wna29o5c]  { background: rgba(248,113,113,0.12); color: #f87171; }

/* Children container — guide line + connector ticks */
.children[b-24wna29o5c] {
    position: relative;
    margin-left: 22px;
    padding-left: 16px;
    border-left: 1px solid var(--border-color);
}

.children .tree-row[b-24wna29o5c]::before {
    content: "";
    position: absolute;
    left: -16px;
    top: 50%;
    width: 12px;
    height: 1px;
    background: var(--border-color);
}
/* /Components/Shared/FolderTreeItem.razor.rz.scp.css */
/* FolderTreeItem styles */
.folder-tree-item[b-l4h07r6oja] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem;
    cursor: pointer;
    border-radius: 4px;
    transition: background-color 0.2s;
    position: relative;
}

    .folder-tree-item:hover[b-l4h07r6oja] {
        background-color: var(--hover-bg);
    }

    .folder-tree-item.selected[b-l4h07r6oja] {
        background-color: var(--selected-bg);
        border-left: 3px solid var(--accent-primary);
    }

.folder-toggle[b-l4h07r6oja] {
    font-size: 0.7rem;
    color: var(--text-secondary);
    cursor: pointer;
    padding: 0.25rem;
    user-select: none;
    width: 1rem;
    text-align: center;
    transition: transform 0.2s;
}

    .folder-toggle:hover[b-l4h07r6oja] {
        color: var(--accent-primary);
    }

.folder-toggle-spacer[b-l4h07r6oja] {
    width: 1rem;
    flex-shrink: 0;
}

.folder-icon[b-l4h07r6oja] {
    font-size: 1.2rem;
    flex-shrink: 0;
}

.folder-name[b-l4h07r6oja] {
    font-size: 0.9rem;
    color: var(--text-primary);
    font-weight: 500;
    flex: 1;
}

.folder-type-badge[b-l4h07r6oja] {
    font-size: 0.7rem;
    padding: 0.15rem 0.4rem;
    border-radius: 3px;
    font-weight: 600;
    text-transform: uppercase;
}

    .folder-type-badge.expenses[b-l4h07r6oja] {
        background-color: var(--error-bg);
        color: var(--expense-color);
    }

    .folder-type-badge.income[b-l4h07r6oja] {
        background-color: var(--success-bg);
        color: var(--income-color);
    }

    .folder-type-badge.archive[b-l4h07r6oja] {
        background-color: var(--bg-secondary);
        color: var(--text-tertiary);
    }

.folder-tree-children[b-l4h07r6oja] {
    margin-left: 1.5rem;
    border-left: 1px solid var(--border-color);
    padding-left: 0.5rem;
}

/* File-specific styles */
.file-item[b-l4h07r6oja] {
    background-color: transparent;
}

    .file-item:hover[b-l4h07r6oja] {
        background-color: var(--hover-bg);
    }

    .file-item.selected[b-l4h07r6oja] {
        background-color: var(--selected-bg);
        border-left: 3px solid var(--accent-primary);
    }

.file-icon[b-l4h07r6oja] {
    font-size: 1rem;
    flex-shrink: 0;
}

.file-name[b-l4h07r6oja] {
    font-size: 0.85rem;
    color: var(--text-primary);
    font-weight: 400;
    flex: 1;
}

.file-size[b-l4h07r6oja] {
    font-size: 0.7rem;
    color: var(--text-tertiary);
    margin-left: auto;
    padding-left: 0.5rem;
}
/* /Components/Shared/OperationFilters.razor.rz.scp.css */
/* ===== FILTERS TOGGLE ===== */
.filters-toggle[b-8htxvbqj20] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0.6rem;
    background: var(--bg-secondary);
    border-radius: 4px;
    cursor: pointer;
    user-select: none;
    transition: background 0.2s;
}

    .filters-toggle:hover[b-8htxvbqj20] {
        background: var(--hover-bg);
    }

.filters-title[b-8htxvbqj20] {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--accent-primary);
}

.filter-count-badge[b-8htxvbqj20] {
    display: inline-block;
    margin-left: 0.5rem;
    padding: 0.15rem 0.5rem;
    background: var(--accent-primary);
    color: white;
    font-size: 0.7rem;
    font-weight: 700;
    border-radius: 10px;
    vertical-align: middle;
}

.toggle-icon[b-8htxvbqj20] {
    font-size: 0.7rem;
    color: var(--text-secondary);
    transition: transform 0.3s;
}

.filters-container[b-8htxvbqj20] {
    margin-top: 0.75rem;
    padding: 0.75rem;
    background: var(--bg-tertiary);
    border: 1px solid var(--border-color);
    border-radius: 4px;
}

.btn-clear-filters[b-8htxvbqj20] {
    width: 100%;
    padding: 0.5rem;
    background: var(--bg-secondary);
    border: 1px solid var(--border-medium);
    border-radius: 4px;
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--text-secondary);
    cursor: pointer;
    transition: all 0.2s;
}

    .btn-clear-filters:hover[b-8htxvbqj20] {
        background: var(--accent-primary);
        color: white;
        border-color: var(--accent-primary);
    }

/* ===== FILTER SECTION ===== */
.filter-section[b-8htxvbqj20] {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.25rem;
    margin-bottom: 0.5rem;
}

    .filter-section:last-child[b-8htxvbqj20] {
        margin-bottom: 0;
    }

    .filter-section.filter-checkboxes[b-8htxvbqj20] {
        flex-direction: column;
        align-items: flex-start;
    }

.filter-label[b-8htxvbqj20] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 0.25rem;
}

.checkbox-group[b-8htxvbqj20] {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.checkbox-label[b-8htxvbqj20] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.8rem;
    color: var(--text-primary);
    cursor: pointer;
    user-select: none;
}

    .checkbox-label input[type="checkbox"][b-8htxvbqj20] {
        cursor: pointer;
        width: 14px;
        height: 14px;
        accent-color: var(--accent-primary);
    }

    .checkbox-label:hover[b-8htxvbqj20] {
        color: var(--accent-primary);
    }

.filter-input[b-8htxvbqj20] {
    width: 100%;
    padding: 0.4rem 0.6rem;
    border: 1px solid var(--border-medium);
    border-radius: 4px;
    font-size: 0.85rem;
    transition: border-color 0.2s;
    background-color: var(--bg-primary);
    color: var(--text-primary);
}

    .filter-input:focus[b-8htxvbqj20] {
        outline: none;
        border-color: var(--accent-primary);
        box-shadow: 0 0 0 2px rgba(33, 128, 141, 0.1);
    }

    .filter-input[b-8htxvbqj20]::placeholder {
        color: var(--text-tertiary);
    }

.filter-select[b-8htxvbqj20] {
    width: 100%;
    padding: 0.4rem 0.6rem;
    border: 1px solid var(--border-medium);
    border-radius: 4px;
    font-size: 0.85rem;
    background-color: var(--bg-primary);
    color: var(--text-primary);
    cursor: pointer;
    transition: border-color 0.2s;
}

    .filter-select:focus[b-8htxvbqj20] {
        outline: none;
        border-color: var(--accent-primary);
        box-shadow: 0 0 0 2px rgba(33, 128, 141, 0.1);
    }
.filter-select-text[b-8htxvbqj20] {
    width: 25%;
    padding: 0.4rem 0.6rem;
    border: 1px solid var(--border-medium);
    border-radius: 4px;
    font-size: 0.85rem;
    background-color: var(--bg-primary);
    color: var(--text-primary);
    cursor: pointer;
    transition: border-color 0.2s;
}

    .filter-select-text:focus[b-8htxvbqj20] {
        outline: none;
        border-color: var(--accent-primary);
        box-shadow: 0 0 0 2px rgba(33, 128, 141, 0.1);
    }

.clear-filter-btn[b-8htxvbqj20] {
    position: absolute;
    right: 0.5rem;
    background: none;
    border: none;
    color: var(--text-secondary);
    font-size: 1rem;
    cursor: pointer;
    padding: 0.2rem 0.4rem;
    line-height: 1;
    transition: color 0.2s;
}

    .clear-filter-btn:hover[b-8htxvbqj20] {
        color: var(--expense-color);
    }

/* ===== SORT SECTION ===== */
.sort-section[b-8htxvbqj20] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem;
    background: var(--bg-secondary);
    border-bottom: 1px solid var(--border-color);
    flex-shrink: 0;
}

.sort-label[b-8htxvbqj20] {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--text-primary);
    white-space: nowrap;
}

.sort-select[b-8htxvbqj20] {
    flex: 1;
    padding: 0.4rem 0.6rem;
    border: 1px solid var(--border-medium);
    border-radius: 4px;
    font-size: 0.85rem;
    background-color: var(--bg-primary);
    color: var(--text-primary);
    cursor: pointer;
    transition: border-color 0.2s;
}

    .sort-select:focus[b-8htxvbqj20] {
        outline: none;
        border-color: var(--accent-primary);
        box-shadow: 0 0 0 2px rgba(33, 128, 141, 0.1);
    }
/* /Components/Shared/PeriodPicker.razor.rz.scp.css */
.period-picker[b-bm5tdkadt7] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.mode-tabs[b-bm5tdkadt7] {
    display: flex;
    gap: 0.25rem;
    flex-wrap: wrap;
}

.mode-tab[b-bm5tdkadt7] {
    padding: 0.3rem 0.75rem;
    font-size: 0.8rem;
    background: var(--bg-secondary);
    color: var(--text-secondary);
    border: 1px solid var(--border-color);
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}

    .mode-tab:hover[b-bm5tdkadt7] {
        background: var(--hover-bg);
        color: var(--text-primary);
    }

    .mode-tab.active[b-bm5tdkadt7] {
        background: var(--accent-primary);
        color: white;
        border-color: var(--accent-primary);
    }

.period-controls[b-bm5tdkadt7] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.period-label[b-bm5tdkadt7] {
    font-size: 0.8rem;
    color: var(--text-secondary);
}

.period-input[b-bm5tdkadt7],
.period-select[b-bm5tdkadt7] {
    padding: 0.3rem 0.5rem;
    font-size: 0.82rem;
    background: var(--bg-secondary);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
    border-radius: 4px;
    cursor: pointer;
}

    .period-input:focus[b-bm5tdkadt7],
    .period-select:focus[b-bm5tdkadt7] {
        outline: none;
        border-color: var(--accent-primary);
    }
/* /Components/Shared/RealBudgetCategoryPicker.razor.rz.scp.css */
.rbc-picker[b-bx1cis3a5e] {
    display: flex;
    align-items: center;
    width: 100%;
}

.rbc-picker .category-select[b-bx1cis3a5e] {
    width: 100%;
    padding: 0.35rem 0.5rem;
    font-size: 0.82rem;
    background: var(--bg-secondary);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
    border-radius: 4px;
    cursor: pointer;
    transition: border-color 0.2s;
}

    .rbc-picker .category-select:hover[b-bx1cis3a5e],
    .rbc-picker .category-select:focus[b-bx1cis3a5e] {
        border-color: var(--accent-primary);
        outline: none;
    }

    .rbc-picker .category-select optgroup[b-bx1cis3a5e] {
        font-weight: 700;
        color: var(--text-secondary);
    }

    .rbc-picker .category-select option[b-bx1cis3a5e] {
        font-weight: 400;
        color: var(--text-primary);
        background: var(--bg-primary);
    }
