/* /Layout/GlobalDialogs.razor.rz.scp.css */
.ae-dialog-backdrop[b-q0u8idyr23] {
    position: fixed;
    inset: 0;
    z-index: 3000;
    background: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: ae-dialog-fade-in-b-q0u8idyr23 0.2s ease-out forwards;
}

.ae-dialog[b-q0u8idyr23] {
    width: 270px;
    background: var(--color-surface);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    border-radius: 14px;
    box-shadow: var(--ios-shadow-lg);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: ae-dialog-scale-in-b-q0u8idyr23 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

.ae-dialog-content[b-q0u8idyr23] {
    padding: 20px 16px;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ae-dialog-title[b-q0u8idyr23] {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--ios-text);
    line-height: 1.3;
}

.ae-dialog-msg[b-q0u8idyr23] {
    margin: 0;
    font-size: 0.85rem;
    color: var(--ios-text);
    line-height: 1.4;
}

.ae-dialog-actions[b-q0u8idyr23] {
    display: flex;
    border-top: var(--hairline-width) solid var(--ios-separator);
}

.ae-dialog-btn[b-q0u8idyr23] {
    flex: 1;
    background: transparent;
    border: none;
    padding: 12px 0;
    font-size: 1.05rem;
    font-family: inherit;
    cursor: pointer;
    color: var(--ios-blue);
    position: relative;
    transition: background-color 0.15s;
}

.ae-dialog-btn:active[b-q0u8idyr23] {
    background-color: var(--ios-fill);
}

.ae-dialog-cancel[b-q0u8idyr23] {
    font-weight: 400;
    border-right: var(--hairline-width) solid var(--ios-separator);
}

.ae-dialog-confirm[b-q0u8idyr23] {
    font-weight: 600;
}

.ae-dialog-confirm.destructive[b-q0u8idyr23] {
    color: var(--ui-danger);
}

@keyframes ae-dialog-fade-in-b-q0u8idyr23 {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes ae-dialog-scale-in-b-q0u8idyr23 {
    from {
        opacity: 0;
        transform: scale(1.1);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}
/* /Layout/GlobalToasts.razor.rz.scp.css */
.ae-global-toasts[b-2sdmsg2cu6] {
    position: fixed;
    bottom: calc(env(safe-area-inset-bottom) + 80px); /* Above tabbar if exists */
    left: 50%;
    transform: translateX(-50%);
    z-index: 4000;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    pointer-events: none;
    width: 100%;
    padding: 0 16px;
}

.ae-toast[b-2sdmsg2cu6] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    border-radius: 100px;
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    box-shadow: var(--ios-shadow-md);
    color: var(--ios-text);
    font-size: 0.9rem;
    font-weight: 600;
    animation: ae-toast-slide-up-b-2sdmsg2cu6 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
    pointer-events: auto;
    border: var(--hairline-width) solid var(--ios-separator);
}

@media (prefers-color-scheme: dark) {
    .ae-toast[b-2sdmsg2cu6] {
        background: rgba(28, 28, 30, 0.85);
    }
}

.ae-toast.closing[b-2sdmsg2cu6] {
    animation: ae-toast-fade-out-b-2sdmsg2cu6 0.3s ease forwards;
}

.ae-toast-icon[b-2sdmsg2cu6] {
    display: flex;
    align-items: center;
    justify-content: center;
}

.ae-toast-success .ae-toast-icon[b-2sdmsg2cu6] { color: var(--ui-success); }
.ae-toast-error .ae-toast-icon[b-2sdmsg2cu6] { color: var(--ui-danger); }
.ae-toast-warning .ae-toast-icon[b-2sdmsg2cu6] { color: var(--ios-orange); }
.ae-toast-info .ae-toast-icon[b-2sdmsg2cu6] { color: var(--ios-blue); }

.ae-toast-msg[b-2sdmsg2cu6] {
    line-height: 1.2;
}

@keyframes ae-toast-slide-up-b-2sdmsg2cu6 {
    from {
        opacity: 0;
        transform: translateY(20px) scale(0.9);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes ae-toast-fade-out-b-2sdmsg2cu6 {
    from {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
    to {
        opacity: 0;
        transform: translateY(-10px) scale(0.95);
    }
}
/* /Layout/MainLayout.razor.rz.scp.css */
/* ── App Shell ── */
.ae-shell[b-138z0o4ldo] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--color-bg);
}

/* ── Top Bar ── */
.ae-topbar[b-138z0o4ldo] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: var(--ae-topbar-height);
    background: var(--nav-glass-bg);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-bottom: var(--hairline-width) solid var(--color-separator);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 1.25rem;
    z-index: 40;
}

.ae-topbar-brand[b-138z0o4ldo] {
    font-size: var(--text-md);
    font-weight: 700;
    color: var(--color-text-strong);
    letter-spacing: -0.3px;
}

.ae-topbar-user[b-138z0o4ldo] {
    font-size: var(--text-sm);
    color: var(--color-text-muted);
}

.ios-footer-text[b-138z0o4ldo] {
    color: var(--ios-muted);
}

.ae-privacy-btn[b-138z0o4ldo] {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1.1rem;
    padding: 4px 8px;
    border-radius: 8px;
    line-height: 1;
    opacity: 0.7;
    transition: opacity 0.2s;
}
.ae-privacy-btn:hover[b-138z0o4ldo] { opacity: 1; }

/* ── Main Content Area ── */
.ae-main[b-138z0o4ldo] {
    flex: 1;
    padding: calc(var(--ae-topbar-height) + 0.875rem) max(16px, env(safe-area-inset-left)) calc(60px + env(safe-area-inset-bottom) + 0.875rem);
    max-width: 100%;
    width: 100%;
}

@media (min-width: 768px) {
    .ae-main[b-138z0o4ldo] {
        padding-left: max(1.5rem, env(safe-area-inset-left));
        padding-right: max(1.5rem, env(safe-area-inset-right));
        max-width: 800px;
        margin: 0 auto;
    }
}

@media (min-width: 1200px) {
    .ae-main[b-138z0o4ldo] {
        max-width: 960px;
    }
}

/* MainLayout scoped shell styles moved from Razor markup. */
    .ios-content-wrapper[b-138z0o4ldo] {
        --ae-global-banner-offset: 0px;
        flex: 1;
        display: flex;
        flex-direction: column;
        min-width: 0;
    }

    .ios-content-wrapper.has-global-banner[b-138z0o4ldo] {
        --ae-global-banner-offset: 28px;
    }

    .ios-container[b-138z0o4ldo] {
        max-width: 1200px;
        margin: 0 auto;
        width: 100%;
    }

    @media (max-width: 768px) {
        .ios-container[b-138z0o4ldo] {
            max-width: 100%;
            padding-left: 0;
            padding-right: 0;
        }
        .ios-content-wrapper[b-138z0o4ldo] {
            padding-bottom: calc(56px + env(safe-area-inset-bottom) + 8px); /* tabbar + safe area + gap */
            box-sizing: border-box;
        }
    }

    .ae-sync-status[b-138z0o4ldo] {
        cursor: pointer;
        display: flex;
        align-items: center;
    }

    .ios-footer[b-138z0o4ldo] {
        padding: 10px 16px;
        text-align: center;
        font-size: 12px;
        color: var(--ios-gray);
        margin-top: auto;
    }

    /* ── Unsync warning banner ── */
    .ae-unsync-banner[b-138z0o4ldo] {
        background: var(--accent-soft-12);
        border-bottom: var(--hairline-width) solid var(--accent-border-40);
        padding: 10px 16px;
    }

    .ae-unsync-banner-content[b-138z0o4ldo] {
        max-width: 1200px;
        margin: 0 auto;
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .ae-unsync-icon[b-138z0o4ldo] {
        font-size: 20px;
        flex-shrink: 0;
    }

    .ae-unsync-text[b-138z0o4ldo] {
        flex: 1;
        min-width: 0;
    }

    .ae-unsync-title[b-138z0o4ldo] {
        font-weight: 700;
        font-size: 13px;
        color: var(--color-warning);
    }

    .ae-unsync-desc[b-138z0o4ldo] {
        font-size: 11px;
        color: var(--color-warning);
        opacity: 0.85;
        margin-top: 2px;
    }

    .ae-unsync-dismiss[b-138z0o4ldo] {
        background: none;
        border: none;
        font-size: 16px;
        color: var(--color-warning);
        cursor: pointer;
        padding: 4px 8px;
        border-radius: 8px;
        flex-shrink: 0;
    }

    .ae-unsync-dismiss:hover[b-138z0o4ldo] {
        background: var(--surface-2);
    }

    /* ── Data source banner ── */
    .ae-datasource-banner[b-138z0o4ldo] {
        position: sticky;
        top: env(safe-area-inset-top, 0px);
        z-index: 98;
        text-align: center;
        padding: 4px 16px;
        font-size: 11px;
        font-weight: 500;
        letter-spacing: -0.2px;
    }

    .ae-datasource-banner.loading[b-138z0o4ldo] {
        background: var(--accent-soft-12);
        color: var(--color-primary);
    }

    .ae-datasource-banner.demo[b-138z0o4ldo] {
        background: var(--warning-soft-12);
        color: var(--color-warning);
    }

    .ae-datasource-banner.offline[b-138z0o4ldo] {
        background: var(--surface-2);
        color: var(--color-text-secondary);
    }

    .ae-reminder-toast[b-138z0o4ldo] {
        position: fixed;
        top: calc(env(safe-area-inset-top, 0px) + 12px);
        right: 16px;
        z-index: 2000;
        background: var(--overlay-toast-bg);
        color: var(--color-surface);
        border-radius: 12px;
        padding: 10px 12px;
        font-size: 12px;
        font-weight: 600;
        box-shadow: var(--shadow-md);
        max-width: min(360px, calc(100vw - 32px));
        animation: aeReminderToastIn-b-138z0o4ldo 0.18s ease;
    }

    @keyframes aeReminderToastIn-b-138z0o4ldo {
        from { opacity: 0; transform: translateY(-8px); }
        to { opacity: 1; transform: translateY(0); }
    }
/* /Layout/NavMenu.razor.rz.scp.css */
    /* ── Tab Bar (Mobile) ── */
    .ios-tabbar[b-y727g3jb25] {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        height: calc(64px + env(safe-area-inset-bottom));
        display: flex;
        align-items: center;
        justify-content: space-around;
        padding-bottom: env(safe-area-inset-bottom);
        padding-top: 6px;
        z-index: 1000;
        background: var(--nav-glass-bg);
        backdrop-filter: saturate(180%) blur(14px);
        -webkit-backdrop-filter: saturate(180%) blur(14px);
        border-top: var(--hairline-width) solid var(--nav-glass-border);
        overflow: visible !important;
    }

    /* ── Regular Tab ── */
    .ae-tab[b-y727g3jb25] {
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        color: var(--color-text-muted);
        text-decoration: none !important;
        background: transparent;
        border: none;
        cursor: pointer;
        padding: 6px 0;
        transition: color 0.18s ease, transform 0.12s ease;
        -webkit-tap-highlight-color: transparent;
    }

    .ae-tab > iconify-icon[b-y727g3jb25] {
        display: grid;
        place-items: center;
        line-height: 1;
        margin: 0 auto;
    }

    .ae-tab:hover[b-y727g3jb25] { text-decoration: none; }

    .ae-tab.active[b-y727g3jb25] {
        color: var(--color-primary);
    }

    .ae-tab:active[b-y727g3jb25] {
        transform: scale(0.88);
    }

    /* ── Center Plus Tab ── */
    .ae-tab-plus[b-y727g3jb25] {
        flex: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        overflow: visible;
        padding: 0;
    }

    .ae-plus-btn[b-y727g3jb25] {
        width: 60px;
        height: 60px;
        border-radius: 50%;
        background: linear-gradient(145deg, var(--color-teal), var(--color-primary));
        color: var(--color-surface);
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: var(--primary-shadow-45), var(--shadow-sm);
        transition: transform 0.2s ease, box-shadow 0.2s ease;
        margin-top: -28px; /* float above tab bar */
    }

    .ae-plus-btn.ae-plus-active[b-y727g3jb25] {
        box-shadow: var(--primary-shadow-60);
    }

    .ae-plus-pwa-icon[b-y727g3jb25] {
        width: 46px;
        height: 46px;
        display: block;
        object-fit: contain;
    }

    .ae-tab-plus:active .ae-plus-btn[b-y727g3jb25] {
        transform: scale(0.92);
    }

    /* ── Shortcuts Overlay ── */
    .ae-shortcuts-overlay[b-y727g3jb25] {
        position: fixed;
        inset: 0;
        z-index: 999;
        background: var(--modal-backdrop-bg);
        backdrop-filter: blur(6px);
        -webkit-backdrop-filter: blur(6px);
    }

    .ae-shortcuts-fan[b-y727g3jb25] {
        position: absolute;
        bottom: calc(64px + env(safe-area-inset-bottom) + 16px);
        left: 50%;
        transform: translateX(-50%);
        display: flex;
        gap: 24px;
        align-items: flex-end;
    }

    .ae-shortcut-btn[b-y727g3jb25] {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 6px;
        background: none;
        border: none;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        animation: shortcutPop-b-y727g3jb25 0.25s ease forwards;
    }

    .ae-shortcut-btn:nth-child(1)[b-y727g3jb25] { animation-delay: 0.0s; }
    .ae-shortcut-btn:nth-child(2)[b-y727g3jb25] { animation-delay: 0.06s; }
    .ae-shortcut-btn:nth-child(3)[b-y727g3jb25] { animation-delay: 0.12s; }
    .ae-shortcut-btn:nth-child(4)[b-y727g3jb25] { animation-delay: 0.18s; }
    .ae-shortcut-btn:nth-child(5)[b-y727g3jb25] { animation-delay: 0.24s; }

    @keyframes shortcutPop-b-y727g3jb25 {
        from { opacity: 0; transform: translateY(20px) scale(0.7); }
        to   { opacity: 1; transform: translateY(0) scale(1); }
    }

    .ae-shortcut-icon[b-y727g3jb25] {
        width: 52px;
        height: 52px;
        border-radius: 50%;
        background: var(--accent-soft-12);
        border: var(--hairline-width) solid var(--accent-border-40);
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 22px;
        backdrop-filter: blur(8px);
        transition: transform 0.12s;
    }

    .ae-shortcut-btn:active .ae-shortcut-icon[b-y727g3jb25] {
        transform: scale(0.9);
    }

    .ae-shortcut-label[b-y727g3jb25] {
        font-size: 11px;
        font-weight: 600;
        color: var(--color-surface);
        letter-spacing: 0.2px;
    }

    /* ── Sidebar (Desktop) ── */
    .ios-sidebar[b-y727g3jb25] {
        display: none;
        width: 260px;
        height: 100vh;
        position: sticky;
        top: 0;
        flex-direction: column;
        border-right: 0.5px solid var(--ios-separator);
        padding: 24px 16px;
    }

    .ios-sidebar-header[b-y727g3jb25] {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 0 12px 32px;
    }

    .ios-sidebar-logo[b-y727g3jb25] { font-size: 24px; }
    .ios-sidebar-title[b-y727g3jb25] { font-weight: 800; font-size: 20px; letter-spacing: -0.5px; }
    .sidebar-version[b-y727g3jb25] {
        display: block;
        font-size: 11px;
        color: var(--ios-gray);
        margin-top: 4px;
        font-weight: 600;
        text-decoration: underline;
        text-decoration-color: transparent;
        cursor: pointer;
        transition: color 0.15s;
    }
    .sidebar-version:hover[b-y727g3jb25] { color: var(--ios-blue); text-decoration-color: var(--ios-blue); }

    .ios-sidebar-links[b-y727g3jb25] {
        flex: 1;
        display: flex;
        flex-direction: column;
        gap: 4px;
    }

    .ios-side-link[b-y727g3jb25] {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 10px 12px;
        color: var(--ios-label);
        text-decoration: none;
        font-weight: 500;
        border-radius: 10px;
        transition: background 0.2s;
    }

    .ios-side-link:hover[b-y727g3jb25] {
        background: var(--ios-fill);
    }

    .ios-side-link.active[b-y727g3jb25] {
        background: var(--ios-blue);
        color: var(--color-surface);
    }

    .ios-side-icon[b-y727g3jb25] { font-size: 18px; width: 24px; text-align: center; }

    .ios-sidebar-sep[b-y727g3jb25] {
        height: 1px;
        background: var(--ios-separator);
        margin: 12px 12px;
        opacity: 0.5;
    }

    .ios-btn-sidebar[b-y727g3jb25] {
        background: var(--ios-blue);
        color: var(--color-surface);
        font-weight: 700;
        padding: 14px;
        border-radius: 14px;
    }

    @media (min-width: 1024px) {
        .ios-tabbar[b-y727g3jb25] { display: none; }
        .ios-sidebar[b-y727g3jb25] { display: flex; }
    }

    /* Hide nav on add/edit flows so page-level topbars own navigation. */
    .ios-nav-hidden .ios-tabbar[b-y727g3jb25],
    .ios-nav-hidden .ios-sidebar[b-y727g3jb25] {
        display: none !important;
    }

    /* ── Toast notification ── */
    .mode-toast[b-y727g3jb25] {
        position: fixed; bottom: calc(env(safe-area-inset-bottom) + 80px);
        left: 50%; transform: translateX(-50%);
        background: var(--overlay-toast-bg); color: var(--color-surface);
        padding: 8px 18px; border-radius: 20px;
        font-size: 0.85rem; font-weight: 600;
        z-index: 3000; white-space: nowrap;
        animation: toastFade-b-y727g3jb25 2.2s ease forwards;
        pointer-events: none;
    }
    @keyframes toastFade-b-y727g3jb25 {
        0%   { opacity: 0; transform: translateX(-50%) translateY(8px); }
        15%  { opacity: 1; transform: translateX(-50%) translateY(0); }
        70%  { opacity: 1; }
        100% { opacity: 0; }
    }

    .ae-voice-modal-backdrop[b-y727g3jb25] {
        position: fixed;
        inset: 0;
        z-index: 3200;
        display: flex;
        align-items: flex-end;
        justify-content: center;
        padding: 18px;
        background: var(--modal-backdrop-bg);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
    }

    .ae-voice-modal[b-y727g3jb25] {
        width: min(100%, 440px);
        max-height: min(86vh, 720px);
        overflow-y: auto;
        padding: 20px;
        border-radius: 28px;
        border: var(--hairline-width) solid var(--glass-border);
        background: var(--color-card);
        color: var(--color-text);
        box-shadow: 0 24px 80px rgba(0, 0, 0, 0.28);
    }

    .ae-voice-head[b-y727g3jb25] {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 16px;
        margin-bottom: 18px;
    }

    .ae-voice-head h2[b-y727g3jb25] {
        margin: 0;
        font-size: 1.45rem;
        font-weight: 900;
        letter-spacing: -0.04em;
    }

    .ae-voice-kicker[b-y727g3jb25] {
        margin-bottom: 4px;
        color: var(--color-text-muted);
        font-size: 0.78rem;
        font-weight: 800;
    }

    .ae-voice-close[b-y727g3jb25] {
        width: 36px;
        height: 36px;
        border: 0;
        border-radius: 50%;
        display: grid;
        place-items: center;
        background: var(--accent-soft-12);
        color: var(--color-text);
    }

    .ae-voice-record[b-y727g3jb25] {
        width: 100%;
        min-height: 64px;
        border: 0;
        border-radius: 22px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 12px;
        color: var(--color-surface);
        background: linear-gradient(135deg, var(--color-primary), var(--color-teal));
        font-weight: 900;
        box-shadow: var(--primary-shadow-30);
    }

    .ae-voice-record.is-listening .ae-voice-record-icon[b-y727g3jb25] {
        animation: voicePulse-b-y727g3jb25 1s ease-in-out infinite;
    }

    .ae-voice-record-icon[b-y727g3jb25] {
        display: grid;
        place-items: center;
    }

    .ae-voice-label[b-y727g3jb25] {
        display: block;
        margin: 18px 0 8px;
        color: var(--color-text-muted);
        font-size: 0.82rem;
        font-weight: 800;
    }

    .ae-voice-textarea[b-y727g3jb25] {
        width: 100%;
        resize: vertical;
        border: var(--hairline-width) solid var(--glass-border);
        border-radius: 20px;
        padding: 14px 16px;
        background: var(--field-bg);
        color: var(--color-text);
        font-weight: 700;
        outline: none;
    }

    .ae-voice-error[b-y727g3jb25] {
        margin-top: 10px;
        color: var(--color-danger);
        font-size: 0.86rem;
        font-weight: 800;
    }

    .ae-voice-preview[b-y727g3jb25] {
        margin-top: 14px;
        padding: 14px;
        border-radius: 22px;
        background: var(--accent-soft-12);
        border: var(--hairline-width) solid var(--accent-border-40);
    }

    .ae-voice-preview-title[b-y727g3jb25] {
        margin-bottom: 10px;
        color: var(--color-text-muted);
        font-size: 0.8rem;
        font-weight: 900;
    }

    .ae-voice-preview-grid[b-y727g3jb25] {
        display: grid;
        grid-template-columns: 70px 1fr;
        gap: 8px 12px;
        align-items: center;
        font-size: 0.92rem;
    }

    .ae-voice-preview-grid span[b-y727g3jb25] {
        color: var(--color-text-muted);
        font-weight: 700;
    }

    .ae-voice-preview-grid strong[b-y727g3jb25] {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .ae-voice-actions[b-y727g3jb25] {
        display: grid;
        grid-template-columns: 1fr 1.35fr;
        gap: 10px;
        margin-top: 16px;
    }

    .ae-voice-actions button[b-y727g3jb25] {
        min-height: 48px;
        border-radius: 18px;
        font-weight: 900;
    }

    @keyframes voicePulse-b-y727g3jb25 {
        0%, 100% { transform: scale(1); opacity: 0.72; }
        50% { transform: scale(1.18); opacity: 1; }
    }

    @media (min-width: 720px) {
        .ae-voice-modal-backdrop[b-y727g3jb25] { align-items: center; }
    }
/* /Layout/TotpLayout.razor.rz.scp.css */
.totp-shell[b-m4g0h11rti] {
    min-height: 100dvh;
    background: var(--color-bg);
    display: flex;
    align-items: center;
    justify-content: center;
}
/* /Pages/AccountDetail.razor.rz.scp.css */
/* ── Account Detail Page ── */

.ae-account-missing[b-eg76y1zo11] {
    padding: 1rem;
}

.ae-account-missing-btn[b-eg76y1zo11] {
    margin-top: 0.75rem;
    border: var(--hairline-width) solid var(--color-border);
    border-radius: 12px;
    background: var(--color-surface);
    color: var(--color-text-secondary);
    padding: 0.62rem 0.9rem;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

/* ── Unified Top Bar ── */
.ae-detail-topbar[b-eg76y1zo11] {
    display: grid;
    grid-template-columns: 40px 1fr 40px;
    align-items: center;
    min-height: 44px;
    margin: 0.5rem 0 0.4rem;
}
.ae-detail-topbar-clean[b-eg76y1zo11] {
    border-bottom: none;
    background: transparent;
}

.ae-detail-topbar-btn[b-eg76y1zo11] {
    width: 40px;
    height: 40px;
    border: none;
    background: transparent;
    color: var(--color-text);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-tap-highlight-color: transparent;
}
.ae-detail-topbar-btn-lg[b-eg76y1zo11] {
    width: 44px;
    height: 44px;
}

.ae-detail-topbar-btn:active[b-eg76y1zo11] { transform: scale(0.92); }

.ae-detail-topbar-title[b-eg76y1zo11] {
    text-align: center;
    font-size: 1rem;
    font-weight: 700;
    color: var(--ios-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ae-detail-topbar-title-action[b-eg76y1zo11] {
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 4px;
    font-weight: 600;
}
.ae-detail-topbar-actions[b-eg76y1zo11] {
    display: flex;
    align-items: center;
    gap: 2px;
}

/* ── Date Range Filter Bar ── */
.ae-detail-date-range-bar[b-eg76y1zo11] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.32rem;
    padding: 0.35rem 0.55rem 0.6rem;
}

.ae-date-nav-btn[b-eg76y1zo11] {
    background: none;
    border: none;
    font-size: 1.4rem;
    color: var(--ios-blue);
    cursor: pointer;
    padding: 0 4px;
    line-height: 1;
    flex-shrink: 0;
    -webkit-tap-highlight-color: transparent;
}
.ae-date-nav-btn:active[b-eg76y1zo11] { opacity: 0.6; }

.ae-date-range-cell[b-eg76y1zo11] {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-width: 0;
    flex: 1 1 132px;
    max-width: 152px;
}

.ae-date-range-btn[b-eg76y1zo11] {
    background: var(--accent-soft-08);
    border: none;
    border-radius: 8px;
    font-size: 0.76rem;
    font-weight: 600;
    color: var(--ios-blue);
    padding: 0.3rem 0.42rem;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    min-height: 32px;
    gap: 0;
    justify-content: center;
    white-space: nowrap;
    line-height: 1;
}

.ae-date-range-btn:active[b-eg76y1zo11] { background: var(--accent-soft-20); }

.ae-date-range-input[b-eg76y1zo11] {
    position: absolute;
    inset: 0;
    opacity: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
    font-size: 1px;
}

.ae-date-range-sep[b-eg76y1zo11] {
    font-size: 0.78rem;
    color: var(--ios-muted);
    flex-shrink: 0;
}

/* ── Period Summary Stats (List Style) ── */
.ae-detail-period-stats[b-eg76y1zo11] {
    display: flex;
    flex-direction: column;
    padding: 0.4rem 1rem 0.7rem;
}

.ae-detail-stat-item[b-eg76y1zo11] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 4px 0;
    border-bottom: var(--hairline-width) solid var(--color-separator);
    gap: 8px;
}

.ae-detail-stat-item:last-child[b-eg76y1zo11] {
    border-bottom: none;
}

.ae-detail-stat-label[b-eg76y1zo11] {
    font-size: 0.82rem;
    color: var(--ios-muted);
}

.ae-detail-stat-val[b-eg76y1zo11] {
    font-size: 0.88rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.ae-detail-stat-total[b-eg76y1zo11] {
    margin-top: 4px;
    padding-top: 6px;
    border-top: var(--hairline-width) solid var(--color-separator);
    border-bottom: none !important;
}

.ae-more-modal[b-eg76y1zo11] { max-width: 340px; width: 92vw; }

.ae-more-menu[b-eg76y1zo11] {
    padding: 0.5rem 1rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.ae-more-item[b-eg76y1zo11] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    background: var(--surface-2);
    border: none;
    border-radius: 12px;
    padding: 0.75rem 1rem;
    font-size: 0.95rem;
    font-weight: 500;
    color: var(--ios-text);
    cursor: pointer;
    text-align: left;
    -webkit-tap-highlight-color: transparent;
    transition: background 0.15s;
}

.ae-more-item:active[b-eg76y1zo11] { background: var(--surface-2); filter: brightness(1.06); }

.ae-account-switch-sheet[b-eg76y1zo11] {
    max-width: 420px;
}

.ae-account-switch-list[b-eg76y1zo11] {
    padding: 0 0.85rem 0.85rem;
}

.ae-account-switch-row[b-eg76y1zo11] {
    width: 100%;
    min-height: 46px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    border: none;
    border-bottom: var(--hairline-width) solid var(--color-separator);
    background: transparent;
    color: var(--ios-text);
    font: inherit;
    font-size: 0.93rem;
    font-weight: 650;
    text-align: left;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.ae-account-switch-row:last-child[b-eg76y1zo11] {
    border-bottom: none;
}

.ae-account-switch-row:active[b-eg76y1zo11] {
    opacity: 0.72;
}

.ae-account-switch-name[b-eg76y1zo11] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ae-account-switch-empty[b-eg76y1zo11] {
    padding: 0.9rem 0.25rem 0.2rem;
    color: var(--ios-muted);
    font-size: 0.88rem;
    text-align: center;
}

.ae-detail-header[b-eg76y1zo11] {
    margin-bottom: 1rem;
}

.ae-back-btn[b-eg76y1zo11] {
    background: none;
    border: none;
    color: var(--ios-blue);
    font-size: 1rem;
    padding: 0.25rem 0;
    cursor: pointer;
    margin-bottom: 0.75rem;
    display: block;
}

.ae-detail-hero[b-eg76y1zo11] {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    background: var(--ios-card);
    border-radius: var(--ios-radius);
    padding: 1rem 1.125rem;
    box-shadow: var(--ios-shadow);
}

.ae-detail-icon[b-eg76y1zo11] {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    flex-shrink: 0;
}

.ae-detail-info[b-eg76y1zo11] {
    flex: 1;
    min-width: 0;
}

.ae-detail-name[b-eg76y1zo11] {
    font-weight: 700;
    font-size: 1.05rem;
    color: var(--ios-text);
}

.ae-detail-meta[b-eg76y1zo11] {
    font-size: 0.8rem;
    color: var(--ios-muted);
    margin-top: 2px;
}

.ae-account-info-container-padded[b-eg76y1zo11] {
    padding-bottom: 100px;
}

.ae-account-info-hero[b-eg76y1zo11] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 32px 16px;
}

.ae-account-info-icon[b-eg76y1zo11] {
    width: 80px;
    height: 80px;
    border-radius: 18px;
    background: var(--ios-bg-secondary);
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    color: var(--color-text-secondary);
}

.ae-account-info-balance[b-eg76y1zo11] {
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    font-size: 2rem;
    line-height: 1.2;
}

.ae-account-info-caption[b-eg76y1zo11] {
    color: var(--ios-muted);
    font-size: 0.9rem;
    margin-top: 4px;
}

.ae-account-info-edit-btn[b-eg76y1zo11] {
    margin-top: 16px;
}

.ae-credit-usage-card[b-eg76y1zo11] {
    padding: 0.75rem 1rem;
    margin-bottom: 0.75rem;
}

.ae-credit-usage-section[b-eg76y1zo11] {
    padding: 0 1rem 1rem;
}

.ae-credit-shared-card[b-eg76y1zo11] {
    margin-bottom: 0.75rem;
}

.ae-credit-usage-row[b-eg76y1zo11] {
    display: flex;
    justify-content: space-between;
    font-size: 0.8rem;
    margin-bottom: 0.4rem;
}

.ae-credit-usage-label[b-eg76y1zo11] {
    color: var(--ios-muted);
}

.ae-credit-usage-value[b-eg76y1zo11] {
    font-weight: 600;
    color: var(--color-text-strong);
    font-variant-numeric: tabular-nums;
}

.ae-credit-available[b-eg76y1zo11] {
    color: var(--amount-income);
}

.ae-credit-payment-cta[b-eg76y1zo11] {
    width: 100%;
    min-height: 46px;
    margin: 0 0 0.75rem;
    border: none;
    border-radius: 14px;
    background: var(--color-primary);
    color: var(--color-surface);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    font: inherit;
    font-size: 0.95rem;
    font-weight: 800;
    box-shadow: var(--shadow-sm);
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.ae-credit-payment-cta:active[b-eg76y1zo11] {
    transform: scale(0.985);
    filter: brightness(0.96);
}

.ae-credit-usage-track[b-eg76y1zo11] {
    margin-bottom: 0.3rem;
}

.ae-credit-usage-safe[b-eg76y1zo11] {
    background: var(--amount-income);
}

.ae-credit-usage-warning[b-eg76y1zo11] {
    background: var(--color-warning);
}

.ae-credit-usage-danger[b-eg76y1zo11] {
    background: var(--ui-danger);
}

.ae-credit-usage-meta[b-eg76y1zo11] {
    font-size: 0.73rem;
    color: var(--ios-muted);
}

.ae-credit-usage-meta-top[b-eg76y1zo11] {
    margin-top: 0.3rem;
}

.ae-credit-usage-meta-bottom[b-eg76y1zo11] {
    margin-bottom: 0.75rem;
}

.ae-credit-usage-subrow[b-eg76y1zo11] {
    display: flex;
    justify-content: space-between;
    font-size: 0.8rem;
    color: var(--ios-muted);
    margin-top: 4px;
}

.ae-detail-chart-meta[b-eg76y1zo11] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.ae-detail-chart-caption[b-eg76y1zo11] {
    font-size: 0.76rem;
}

.ae-detail-chart-card[b-eg76y1zo11] {
    margin-bottom: 0.75rem;
}

.ae-detail-chart-frame[b-eg76y1zo11] {
    height: 120px;
    padding: 0.5rem;
}

.ae-detail-balance[b-eg76y1zo11] {
    font-size: 1.35rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: var(--ios-text);
}

/* ── Credit Stats ── */
.ae-detail-credit-stats[b-eg76y1zo11] {
    display: flex;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

/* ── Transaction List ── */
.ae-detail-list-header[b-eg76y1zo11] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.875rem 1rem 0.625rem;
    font-weight: 600;
    font-size: 0.88rem;
    color: var(--ios-text);
    border-bottom: 0.5px solid var(--ios-separator);
}
.ae-detail-list-card[b-eg76y1zo11] {
    padding: 0;
    overflow: hidden;
}

.ae-detail-list-header-actions[b-eg76y1zo11] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.ae-detail-reconcile-toggle[b-eg76y1zo11] {
    border: var(--hairline-width) solid var(--color-border);
    border-radius: 999px;
    background: var(--surface-2);
    color: var(--color-text-secondary);
    font: inherit;
    font-size: 0.72rem;
    font-weight: 800;
    padding: 0.28rem 0.62rem;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.ae-detail-reconcile-toggle.active[b-eg76y1zo11] {
    border-color: var(--warning-soft-20);
    background: var(--warning-soft-12);
    color: var(--color-warning);
}

.ae-detail-skeleton-row[b-eg76y1zo11] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.62rem;
    margin-bottom: 0.75rem;
}

.ae-detail-skeleton-avatar[b-eg76y1zo11] {
    flex-shrink: 0;
}

.ae-detail-skeleton-line[b-eg76y1zo11] {
    margin-bottom: 0.5rem;
}

.ae-detail-date-header[b-eg76y1zo11] {
    padding: 0.48rem 0.62rem 0.34rem;
    border-top: var(--hairline-width) solid var(--color-separator);
}

.ae-detail-date-header:first-of-type[b-eg76y1zo11] {
    border-top: none;
}

.ae-detail-list-sub[b-eg76y1zo11] {
    font-size: 0.75rem;
    color: var(--ios-muted);
    font-weight: 400;
}

.ae-detail-tx[b-eg76y1zo11] {
    display: flex;
    align-items: center;
    padding: 0.66rem 0.62rem;
    border-bottom: 0.5px solid var(--ios-separator);
    gap: 0.75rem;
    cursor: pointer;
}

.ae-detail-tx:last-child[b-eg76y1zo11] {
    border-bottom: none;
}

.ae-detail-tx-voided[b-eg76y1zo11] {
    opacity: 0.4;
}

.ae-detail-tx-left[b-eg76y1zo11] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex: 1;
    min-width: 0;
}

.ae-detail-cat-icon[b-eg76y1zo11] {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    flex-shrink: 0;
    color: var(--color-surface);
}

.ae-detail-tx-meta[b-eg76y1zo11] {
    flex: 1;
    min-width: 0;
}

.ae-detail-skeleton-main[b-eg76y1zo11] {
    flex-grow: 1;
}

.ae-detail-skeleton-side[b-eg76y1zo11] {
    width: 20%;
}

.ae-detail-empty-state[b-eg76y1zo11] {
    padding: 2rem;
    text-align: center;
    color: var(--ios-muted);
}

.ae-detail-tx-desc[b-eg76y1zo11] {
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--ios-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ae-detail-tx-sub[b-eg76y1zo11] {
    font-size: 0.76rem;
    color: var(--ios-muted);
    margin-top: 2px;
    display: flex;
    align-items: center;
    gap: 4px;
}

.ae-detail-tag-row[b-eg76y1zo11] {
    margin-top: 0.25rem;
}

.ae-detail-tx-right[b-eg76y1zo11] {
    text-align: right;
    flex-shrink: 0;
}

.ae-detail-tx-amount[b-eg76y1zo11] {
    font-size: 0.95rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.ae-detail-running-bal[b-eg76y1zo11] {
    font-size: 0.75rem;
    color: var(--ios-muted);
    font-variant-numeric: tabular-nums;
    margin-top: 2px;
}

.ae-info-list-credit[b-eg76y1zo11] {
    margin-top: 1rem;
}

/* ── Auto Top-Up Card ── */
.ae-autotopup-card[b-eg76y1zo11] {
    margin-bottom: 1rem;
}

.ae-autotopup-info[b-eg76y1zo11] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 0.85rem;
    color: var(--ios-text);
    padding: 0.25rem 0;
}

/* ── Defer Button ── */
.ae-detail-defer-btn[b-eg76y1zo11] {
    background: var(--warning-soft-12);
    color: var(--color-warning);
    border: none;
    border-radius: 6px;
    font-size: 0.72rem;
    padding: 2px 8px;
    cursor: pointer;
    margin-top: 4px;
}

.ae-credit-payment-dialog[b-eg76y1zo11] {
    max-width: 430px;
    width: min(92vw, 430px);
}

.cc-pay-error[b-eg76y1zo11] {
    margin: 0 0 0.75rem;
    padding: 0.55rem 0.7rem;
    font-size: 0.84rem;
}

.cc-pay-summary[b-eg76y1zo11] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.85rem;
    margin-bottom: 0.85rem;
    border-radius: 16px;
    background: var(--surface-2);
}

.cc-pay-summary-icon[b-eg76y1zo11] {
    width: 42px;
    height: 42px;
    border-radius: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--accent-soft-12);
    color: var(--color-primary);
    flex-shrink: 0;
}

.cc-pay-summary-text[b-eg76y1zo11] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
}

.cc-pay-summary-text span[b-eg76y1zo11] {
    color: var(--color-text-muted);
    font-size: 0.78rem;
    font-weight: 600;
}

.cc-pay-summary-text strong[b-eg76y1zo11] {
    color: var(--color-text-strong);
    font-size: 1rem;
    font-variant-numeric: tabular-nums;
}

.cc-pay-field[b-eg76y1zo11] {
    margin-bottom: 0.8rem;
}

.cc-pay-label[b-eg76y1zo11] {
    display: block;
    margin-bottom: 0.34rem;
    color: var(--color-text-secondary);
    font-size: 0.82rem;
    font-weight: 700;
}

.cc-pay-required[b-eg76y1zo11] {
    color: var(--ui-danger);
    margin-left: 0.2rem;
}

.cc-pay-picker[b-eg76y1zo11],
.cc-pay-input[b-eg76y1zo11] {
    width: 100%;
    min-height: 44px;
}

.cc-pay-input[b-eg76y1zo11] {
    border: var(--hairline-width) solid var(--color-border);
    border-radius: 12px;
    background: var(--color-surface);
    color: var(--color-text);
    padding: 0.68rem 0.8rem;
    font: inherit;
    font-size: 0.95rem;
    font-variant-numeric: tabular-nums;
    outline: none;
}

.cc-pay-input:focus[b-eg76y1zo11] {
    border-color: var(--accent-border-40);
    box-shadow: 0 0 0 3px var(--accent-soft-08);
}

.ae-detail-spinner[b-eg76y1zo11] {
    display: inline-block;
    width: 0.9rem;
    height: 0.9rem;
    margin-right: 0.25rem;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 999px;
    vertical-align: -0.12em;
    animation: ae-detail-spin-b-eg76y1zo11 0.65s linear infinite;
}

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

.ae-detail-dialog-error[b-eg76y1zo11] {
    margin: 0 0 0.75rem;
    padding: 0.55rem 0.7rem;
    font-size: 0.84rem;
    text-align: left;
}

.ae-detail-dialog-summary[b-eg76y1zo11] {
    text-align: left;
    margin-bottom: 0.85rem;
    padding: 0.78rem 0.85rem;
    border-radius: 14px;
    background: var(--surface-2);
}

.ae-detail-dialog-summary-main[b-eg76y1zo11] {
    color: var(--color-text-secondary);
    font-size: 0.84rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.ae-detail-dialog-summary-sub[b-eg76y1zo11] {
    margin-top: 0.18rem;
    color: var(--color-text-muted);
    font-size: 0.78rem;
}

.ae-detail-dialog-field[b-eg76y1zo11] {
    margin-bottom: 0.8rem;
    text-align: left;
}

.ae-detail-dialog-label[b-eg76y1zo11] {
    display: block;
    margin-bottom: 0.34rem;
    color: var(--color-text-secondary);
    font-size: 0.82rem;
    font-weight: 700;
}

.ae-detail-required[b-eg76y1zo11] {
    color: var(--ui-danger);
    margin-left: 0.2rem;
}

.ae-detail-dialog-picker[b-eg76y1zo11],
.ae-detail-dialog-input[b-eg76y1zo11] {
    width: 100%;
    min-height: 44px;
}

.ae-detail-dialog-input[b-eg76y1zo11] {
    border: var(--hairline-width) solid var(--color-border);
    border-radius: 12px;
    background: var(--color-surface);
    color: var(--color-text);
    padding: 0.68rem 0.8rem;
    font: inherit;
    font-size: 0.95rem;
    outline: none;
}

.ae-detail-dialog-input:focus[b-eg76y1zo11] {
    border-color: var(--accent-border-40);
    box-shadow: 0 0 0 3px var(--accent-soft-08);
}

/* ── Reuse trend chart styles (scoped copy) ── */
.ios-trend-chart[b-eg76y1zo11] {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    height: 120px;
    padding: 0 0.5rem;
}
.ios-trend-col[b-eg76y1zo11] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
}
.ios-trend-bars[b-eg76y1zo11] {
    flex: 1;
    width: 100%;
    display: flex;
    align-items: flex-end;
    gap: 2px;
}
.ios-trend-bar-wrap[b-eg76y1zo11] {
    flex: 1;
    display: flex;
    align-items: flex-end;
    height: 100%;
}
.ios-trend-bar[b-eg76y1zo11] {
    width: 100%;
    border-radius: 4px 4px 0 0;
    min-height: 2px;
}
.ios-trend-income[b-eg76y1zo11]  { background: var(--amount-income); }
.ios-trend-expense[b-eg76y1zo11] { background: var(--amount-expense); }
.ios-trend-label[b-eg76y1zo11] {
    font-size: 0.72rem;
    color: var(--color-text-muted);
    margin-top: 4px;
}
.ios-trend-legend[b-eg76y1zo11] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 0.4rem 0.5rem 0.75rem;
    font-size: 0.78rem;
    color: var(--color-text-muted);
}
.ios-legend-dot[b-eg76y1zo11] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: inline-block;
}
.ios-legend-dot.income[b-eg76y1zo11]  { background: var(--amount-income); }
.ios-legend-dot.expense[b-eg76y1zo11] { background: var(--amount-expense); }

/* ── Period Filter Chips ── */
.ae-detail-period-chips[b-eg76y1zo11] {
    display: flex;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border-bottom: 0.5px solid var(--ios-separator);
    background: var(--ios-card);
}

.ae-detail-period-chip[b-eg76y1zo11] {
    background: var(--surface-2);
    border: none;
    border-radius: 14px;
    font-size: 0.78rem;
    padding: 0.2rem 0.75rem;
    color: var(--ios-muted);
    cursor: pointer;
    transition: all 0.15s ease;
}

.ae-detail-period-chip.active[b-eg76y1zo11] {
    background: var(--ios-blue);
    color: var(--color-text);
}

.ae-account-info-container[b-eg76y1zo11] {
    max-width: 720px;
    margin: 0 auto;
}

.ae-info-picker-fit[b-eg76y1zo11] {
    flex: 0 1 auto;
    width: auto;
    min-width: 72px;
}

/* ── Reconciliation Mode ── */
.ae-recon-btn[b-eg76y1zo11] {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    border: var(--hairline-width) solid var(--color-separator);
    background: var(--surface-2);
    color: var(--color-text-muted);
    font-size: 0.9rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex-shrink: 0;
    transition: all 0.15s ease;
    margin-right: 0.5rem;
}
.ae-recon-btn.reconciled[b-eg76y1zo11] {
    border-color: var(--ui-success);
    background: var(--ui-success);
    color: var(--color-text);
}
.ae-detail-tx-reconciled[b-eg76y1zo11] {
    background: var(--success-soft-10);
}

.aey-chart-brush[b-eg76y1zo11] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.6rem;
    margin-top: 0;
}

.aey-chart-brush label[b-eg76y1zo11] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    gap: 0.45rem;
    padding: 0.1rem 0.55rem 0;
    border-radius: 12px;
    background: transparent;
    color: var(--ios-muted);
    font-size: 0.72rem;
    font-weight: 800;
}

.aey-chart-brush input[type="range"][b-eg76y1zo11] {
    width: 100%;
    accent-color: var(--chart-trend);
}

@media (max-width: 430px) {
    .ae-detail-topbar[b-eg76y1zo11] {
        margin-top: 0.35rem;
    }

    .ae-detail-date-range-bar[b-eg76y1zo11] {
        padding-inline: 0.2rem;
        gap: 0.24rem;
    }

    .ae-date-range-cell[b-eg76y1zo11] {
        max-width: none;
    }

    .ae-detail-list-header[b-eg76y1zo11] {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.45rem;
    }

    .ae-detail-list-header-actions[b-eg76y1zo11] {
        width: 100%;
        justify-content: space-between;
    }

    .ae-detail-reconcile-toggle[b-eg76y1zo11] {
        padding-inline: 0.55rem;
    }

    .ae-detail-tx[b-eg76y1zo11] {
        gap: 0.6rem;
        padding-inline: 0.55rem;
    }

    .ae-detail-cat-icon[b-eg76y1zo11] {
        width: 34px;
        height: 34px;
        border-radius: 9px;
    }

    .ae-detail-tx-desc[b-eg76y1zo11] {
        font-size: 0.88rem;
    }

    .ae-detail-tx-sub[b-eg76y1zo11],
    .ae-detail-running-bal[b-eg76y1zo11] {
        font-size: 0.73rem;
    }

    .ae-account-info-hero[b-eg76y1zo11] {
        padding: 28px 14px;
    }

    .ae-account-info-icon[b-eg76y1zo11] {
        width: 72px;
        height: 72px;
        border-radius: 16px;
    }

    .ae-account-info-balance[b-eg76y1zo11] {
        font-size: 1.78rem;
    }
}

/* Account info section primitives moved from Razor markup. */
    /* 深度排版規範 - De-carding, 0.5pt separators, >= 44px rows */
    .ae-info-section[b-eg76y1zo11] {
        padding: 0;
        background: transparent;
    }

    .ae-info-list[b-eg76y1zo11] {
        background: transparent;
    }

    .ae-info-row[b-eg76y1zo11] {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 44px;
        padding: 8px 16px;
        border-bottom: 0.5pt solid var(--ios-separator);
    }

    .ae-info-row:last-child[b-eg76y1zo11] {
        border-bottom: none;
    }

    .ae-info-label[b-eg76y1zo11] {
        font-size: 0.95rem;
        color: var(--ios-text);
        flex-shrink: 0;
    }

    .ae-info-input[b-eg76y1zo11] {
        flex: 1;
        text-align: right;
        border: none;
        background: transparent;
        font-size: 0.95rem;
        color: var(--ios-muted);
        outline: none;
        min-width: 0;
        padding: 0;
    }

    .ae-info-input:focus[b-eg76y1zo11] {
        color: var(--ios-text);
    }

    .ae-switch-wrap[b-eg76y1zo11] {
        display: flex;
        align-items: center;
    }
/* /Pages/AccountGroups.razor.rz.scp.css */
.ae-groups-main[b-q9ubrffnkc] {
    padding-top: 0px;
    padding-bottom: env(safe-area-inset-bottom, 16px);
}

/* ── 頁面提示 ───────────────────────────────────── */
.ae-groups-hint[b-q9ubrffnkc] {
    font-size: 0.78rem;
    color: var(--ios-muted);
    text-align: center;
    margin: 0 0 12px;
    letter-spacing: 0.01em;
}

/* ── 主分組清單容器 ─────────────────────────────── */
.ae-grp-list[b-q9ubrffnkc] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* ── 分組卡片（Section） ────────────────────────── */
.ae-grp-section[b-q9ubrffnkc] {
    background: var(--color-surface);
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
    transition: box-shadow 0.2s;
}

.ae-grp-section.ae-dragging[b-q9ubrffnkc] {
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18);
    border-radius: 14px;
}

/* ── 分組 Header ────────────────────────────────── */
.ae-grp-header[b-q9ubrffnkc] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 11px 12px 11px 10px;
    border-bottom: var(--hairline-width) solid var(--color-separator);
    min-height: 46px;
}

.ae-grp-header-name[b-q9ubrffnkc] {
    flex: 1;
    font-size: 0.92rem;
    font-weight: 700;
    color: var(--ios-text);
    min-width: 0;
}

.ae-grp-display-icon[b-q9ubrffnkc] {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--color-surface);
}

.ae-grp-icon-field[b-q9ubrffnkc] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

.ae-grp-icon-field-text[b-q9ubrffnkc] {
    min-width: 0;
}

.ae-grp-icon-field-title[b-q9ubrffnkc] {
}

.ae-grp-icon-field-sub[b-q9ubrffnkc] {
    word-break: break-all;
}

.ae-grp-sheet[b-q9ubrffnkc] {
    width: min(360px, 88vw);
    margin: 0 auto;
}

.ae-grp-color-section[b-q9ubrffnkc] {
    margin-bottom: 12px;
}

.ae-grp-color-title[b-q9ubrffnkc] {
    margin-bottom: 8px;
}

.ae-grp-hint[b-q9ubrffnkc] {
    margin-top: 8px;
    font-size: 0.76rem;
    color: var(--ios-muted);
}

/* ── 系統 Badge ─────────────────────────────────── */
.ae-grp-system-badge[b-q9ubrffnkc] {
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--ios-muted);
    border: var(--hairline-width) solid var(--color-separator);
    border-radius: 6px;
    padding: 2px 7px;
    letter-spacing: 0.03em;
    flex-shrink: 0;
}

.ae-grp-count-badge[b-q9ubrffnkc] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    background: var(--ios-muted);
    color: var(--color-surface);
    border-radius: 999px;
    font-size: 0.65rem;
    font-weight: 700;
    padding: 0 5px;
    flex-shrink: 0;
}

/* ── 分組 Drag Handle ───────────────────────────── */
.ae-grp-drag-handle[b-q9ubrffnkc] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    flex-shrink: 0;
    background: none;
    border: none;
    color: var(--ios-muted);
    cursor: grab;
    border-radius: 8px;
    padding: 0;
    touch-action: none;
    transition: color 0.15s, background 0.15s;
}

.ae-grp-drag-handle:active[b-q9ubrffnkc] {
    cursor: grabbing;
    color: var(--color-primary);
    background: var(--accent-soft-12);
}

/* ── 分組 Icon Action（編輯/刪除）─────────────────── */
.ae-grp-icon-action[b-q9ubrffnkc] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    background: none;
    border: none;
    color: var(--ios-muted);
    cursor: pointer;
    border-radius: 8px;
    padding: 0;
    font-size: 0.9rem;
    transition: color 0.15s, background 0.15s;
    flex-shrink: 0;
}

.ae-grp-icon-action:hover[b-q9ubrffnkc] {
    color: var(--color-primary);
    background: var(--accent-soft-12);
}

.ae-grp-icon-delete:hover[b-q9ubrffnkc] {
    color: var(--ui-danger);
    background: var(--danger-soft-10);
}

/* ── Chevron 展開/收合 ───────────────────────────── */
.ae-grp-chevron-btn[b-q9ubrffnkc] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: none;
    border: none;
    color: var(--ios-muted);
    cursor: pointer;
    border-radius: 8px;
    padding: 0;
    font-size: 0.85rem;
    flex-shrink: 0;
    transition: color 0.15s, transform 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

.ae-grp-chevron-btn.ae-grp-chevron-open[b-q9ubrffnkc] {
    transform: rotate(180deg);
    color: var(--color-primary);
}

/* 讓分組名稱區域可點擊有指標 */
.ae-grp-header-name[b-q9ubrffnkc] {
    cursor: pointer;
}

/* ── 帳戶子清單 ─────────────────────────────────── */
.ae-grp-acct-list[b-q9ubrffnkc] {
    display: flex;
    flex-direction: column;
}

.ae-grp-acct-empty[b-q9ubrffnkc] {
    padding: 10px 16px;
    font-size: 0.8rem;
    color: var(--ios-muted);
    font-style: italic;
}

/* ── 帳戶列 ─────────────────────────────────────── */
.ae-grp-acct-item[b-q9ubrffnkc] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 12px 9px 10px;
    border-bottom: var(--hairline-width) solid var(--color-separator);
    background: var(--color-surface);
    transition: background 0.12s;
}

.ae-grp-acct-item:last-child[b-q9ubrffnkc] {
    border-bottom: none;
}

.ae-grp-acct-item.ae-dragging[b-q9ubrffnkc] {
    background: var(--surface-2);
    border-radius: 10px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

/* ── 帳戶 Drag Handle ───────────────────────────── */
.ae-grp-acct-drag[b-q9ubrffnkc] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    flex-shrink: 0;
    background: transparent;
    border: none;
    border-radius: 8px;
    color: var(--ios-muted);
    cursor: grab;
    touch-action: none;
    font-size: 0.75rem;
    opacity: 0.6;
    padding: 0;
}

.ae-grp-acct-drag:active[b-q9ubrffnkc] {
    cursor: grabbing;
    opacity: 1;
    color: var(--color-primary);
}

/* ── 帳戶名稱 ───────────────────────────────────── */
.ae-grp-acct-name[b-q9ubrffnkc] {
    flex: 1;
    font-size: 0.88rem;
    font-weight: 500;
    color: var(--ios-text);
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ── 帳戶狀態 Badge ─────────────────────────────── */
.ae-grp-acct-badge[b-q9ubrffnkc] {
    font-size: 0.68rem;
    font-weight: 600;
    color: var(--ios-muted);
    border: 1px solid var(--color-separator);
    border-radius: 5px;
    padding: 1px 6px;
    flex-shrink: 0;
}

/* ── Empty hint ─────────────────────────────────── */
.ae-grp-empty-hint[b-q9ubrffnkc] {
    font-size: 0.85rem;
    color: var(--ios-muted);
    text-align: center;
    padding: 24px 16px;
}

/* ── Modal inputs ───────────────────────────────── */
.ae-grp-input[b-q9ubrffnkc] {
    width: 100%;
    background: var(--surface-2);
    border: var(--hairline-width) solid var(--color-separator);
    border-radius: 10px;
    padding: 11px 14px;
    font-size: 0.95rem;
    outline: none;
    box-sizing: border-box;
    color: var(--ios-text);
}

.ae-grp-input:focus[b-q9ubrffnkc] {
    background: var(--color-surface);
    border-color: var(--color-primary);
}

.ae-grp-error[b-q9ubrffnkc] {
    font-size: 0.8rem;
    color: var(--ui-danger);
    margin-top: 6px;
}

.ae-grp-confirm-btn[b-q9ubrffnkc] {
    flex: 1;
    background: var(--color-primary);
    color: var(--color-text);
    border: none;
    border-radius: 10px;
    padding: 12px;
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    transition: opacity 0.15s;
    width: 100%;
}

.ae-grp-confirm-btn:disabled[b-q9ubrffnkc] {
    opacity: 0.4;
    cursor: default;
}

.ae-grp-cancel-btn[b-q9ubrffnkc] {
    background: var(--surface-2);
    color: var(--ios-text);
}

.ae-grp-delete-confirm-btn[b-q9ubrffnkc] {
    background: var(--ui-danger);
}
/* /Pages/AccountHistoryStats.razor.rz.scp.css */
.ahs-page[b-f552bwlcci] {
    min-height: 100vh;
    padding-bottom: env(safe-area-inset-bottom);
}

.ahs-page button:active[b-f552bwlcci] {
    transform: scale(0.97);
}

.ahs-main[b-f552bwlcci] {
    padding: var(--space-4);
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
}

.ahs-tabular[b-f552bwlcci] {
    font-variant-numeric: tabular-nums;
}

.ahs-page .ae-card[b-f552bwlcci],
.ahs-page .ahs-kpi-item[b-f552bwlcci] {
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
}

.ahs-kpi-grid[b-f552bwlcci] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-3);
}

.ahs-kpi-item[b-f552bwlcci] {
    min-width: 0;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--space-2);
    padding: 0 0 var(--space-2);
    border-bottom: var(--hairline-width) solid var(--hairline-color);
}

.ahs-kpi-label[b-f552bwlcci] {
    font-size: 0.78rem;
    color: var(--ios-muted);
}

.ahs-kpi-value[b-f552bwlcci] {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--color-text);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.ahs-chart-card[b-f552bwlcci] {
    padding: 0;
}

.ahs-chart-tools[b-f552bwlcci] {
    display: flex;
    justify-content: flex-end;
    margin-bottom: var(--space-2);
}

.ahs-chart-wrap[b-f552bwlcci] {
    width: 100%;
}

.ahs-chart-grid[b-f552bwlcci] {
    stroke: var(--hairline-color);
    stroke-width: 1;
}

.ahs-chart-y-label[b-f552bwlcci],
.ahs-chart-label[b-f552bwlcci] {
    font-size: 12px;
    fill: var(--ios-muted);
    text-anchor: middle;
}

.ahs-chart-y-label[b-f552bwlcci] {
    text-anchor: end;
    dominant-baseline: middle;
}

.ahs-line-chart .grid[b-f552bwlcci] {
    stroke: var(--hairline-color);
    stroke-width: 1;
}

.ahs-line-chart .line[b-f552bwlcci] {
    stroke: var(--chart-trend);
    stroke-width: 2;
    fill: none;
}

.ahs-line-chart .dot[b-f552bwlcci] {
    fill: var(--chart-trend);
}

.ahs-line-chart .ahs-line-fill[b-f552bwlcci] {
    fill: var(--chart-trend);
    opacity: 0.10;
}

.ahs-bar-chart[b-f552bwlcci] {
    width: 100%;
    display: block;
}

.ahs-bar[b-f552bwlcci] {
    fill: var(--chart-expense);
}

.ahs-bar.active[b-f552bwlcci] {
    fill: color-mix(in oklab, var(--chart-expense) 82%, var(--color-text) 18%);
}

.ahs-chart-summary[b-f552bwlcci],
.ahs-fs-summary[b-f552bwlcci] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--space-2);
    margin-top: var(--space-2);
    padding-top: var(--space-2);
    border-top: var(--hairline-width) solid var(--hairline-color);
}

.ahs-chart-summary-label[b-f552bwlcci] {
    color: var(--ios-muted);
    font-size: 0.82rem;
}

.ahs-chart-summary-value[b-f552bwlcci] {
    color: var(--color-text);
    font-size: 0.92rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.ahs-list-card[b-f552bwlcci],
.ahs-tx-card[b-f552bwlcci] {
    padding: 0;
}

.ahs-month-row[b-f552bwlcci],
.ahs-credit-row[b-f552bwlcci] {
    padding: var(--space-3) 0;
}

.ahs-divider[b-f552bwlcci] {
    border-top: var(--hairline-width) solid var(--hairline-color);
}

.ahs-month-row-main[b-f552bwlcci],
.ahs-credit-row-top[b-f552bwlcci] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    margin-bottom: 4px;
}

.ahs-month-row-right[b-f552bwlcci],
.ahs-credit-period[b-f552bwlcci] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.ahs-delta-wrap[b-f552bwlcci] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.ahs-delta[b-f552bwlcci],
.ahs-delta-pct[b-f552bwlcci],
.ahs-credit-amount[b-f552bwlcci],
.ahs-credit-detail-row[b-f552bwlcci] {
    font-variant-numeric: tabular-nums;
}

.ahs-credit-num[b-f552bwlcci] {
    font-variant-numeric: tabular-nums;
}

.ahs-delta[b-f552bwlcci] {
    font-size: 0.82rem;
    font-weight: 700;
}

.ahs-delta-pct[b-f552bwlcci] {
    font-size: 0.75rem;
    font-weight: 600;
}

.ahs-month-row-sub[b-f552bwlcci],
.ahs-credit-detail[b-f552bwlcci] {
    display: flex;
    gap: var(--space-4);
    font-size: 0.8rem;
    color: var(--ios-muted);
}

.ahs-credit-detail[b-f552bwlcci] {
    flex-direction: column;
    gap: 2px;
}

.ahs-credit-detail-row[b-f552bwlcci] {
    display: flex;
    justify-content: space-between;
}

.ahs-credit-unpaid[b-f552bwlcci] {
    color: var(--ui-danger);
    background: var(--danger-soft-12);
    border-radius: var(--radius-pill);
    font-size: 0.72rem;
    font-weight: 600;
    padding: 2px 8px;
}

.ahs-tx-list[b-f552bwlcci] {
    display: flex;
    flex-direction: column;
}

.ahs-tx-date-header[b-f552bwlcci] {
    padding: var(--space-2) 0;
    border-bottom: var(--hairline-width) solid var(--hairline-color);
    color: var(--ios-muted);
    font-size: 0.78rem;
    font-weight: 700;
}

.ahs-tx-item[b-f552bwlcci] {
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
}

.ahs-fs-sheet[b-f552bwlcci] {
    background: color-mix(in oklab, var(--surface-2) 85%, var(--ios-blue) 15%);
    color: var(--color-text);
}

.ahs-fs-sheet .aey-fs-header[b-f552bwlcci] {
    border-bottom: var(--hairline-width) solid var(--hairline-color);
}

.ahs-fs-chart-wrap[b-f552bwlcci] {
    padding: var(--space-3);
}

.ahs-muted[b-f552bwlcci] {
    color: var(--ios-muted);
}
/* /Pages/Accounts.razor.rz.scp.css */
/* ── Loading / Error Banner ── */
.ae-banner[b-fm5i1183vi] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.65rem 1rem;
    border-radius: 12px;
    margin-bottom: 1rem;
    font-size: 0.85rem;
}

.ae-banner-info[b-fm5i1183vi] { background: var(--accent-soft-12); color: var(--chart-trend); }
.ae-banner-warn[b-fm5i1183vi] { background: var(--warning-soft-12); color: var(--color-warning); }

.ios-empty[b-fm5i1183vi] {
    font-size: 0.85rem;
    color: var(--ios-muted);
    padding: 0.8rem 0;
}

/* ── Hero Card ── */
.ios-hero[b-fm5i1183vi] {
    background: transparent;
    border-radius: 0;
    padding: 0 1.4rem 1.1rem;
    margin-bottom: 1rem;
    color: var(--aey-text-main);
}

.aey-hero[b-fm5i1183vi] {
    text-align: center;
}

.aey-acct-icon[b-fm5i1183vi] {
    flex-shrink: 0;
}

.ios-hero-label[b-fm5i1183vi] {
    font-size: 0.82rem;
    color: var(--aey-text-muted);
    margin-bottom: 0.2rem;
}

.ios-hero-value[b-fm5i1183vi] {
    font-size: 2.72rem;
    font-weight: 700;
    letter-spacing: 0;
    font-variant-numeric: tabular-nums;
    margin-bottom: 1.1rem;
    line-height: 1.1;
    text-align: center;
}

.aey-networth-value[b-fm5i1183vi] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    width: 100%;
}

.aey-networth-value .ae-amount[b-fm5i1183vi] {
    min-width: 0;
}

.ios-hero-assets-row[b-fm5i1183vi] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    flex-wrap: wrap;
}

.ios-hero-asset-item[b-fm5i1183vi] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    min-width: 96px;
    text-align: center;
}

.ios-hero-asset-label[b-fm5i1183vi] {
    font-size: 0.72rem;
    color: var(--aey-text-muted);
}

.ios-hero-asset-val[b-fm5i1183vi] {
    font-size: 0.9rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.ios-hero-asset-val.income[b-fm5i1183vi]  { color: var(--aey-primary-green); }
.ios-hero-asset-val.expense[b-fm5i1183vi] { color: var(--aey-primary-red); }

.ios-hero-asset-sep[b-fm5i1183vi] {
    width: 1px;
    height: 1.65rem;
    background: var(--ios-separator);
    opacity: 0.55;
    flex-shrink: 0;
}

/* ── Trend Card ── */
.aey-trend-stats[b-fm5i1183vi] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.7rem;
    flex-wrap: wrap;
    margin-top: 0.45rem;
    padding: 0 0.1rem;
    font-size: 0.78rem;
}

.aey-trend-stat-date[b-fm5i1183vi] {
    color: var(--ios-muted);
    font-weight: 700;
}

.aey-trend-stat-total[b-fm5i1183vi] {
    color: var(--color-text-strong);
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.aey-trend-stat-item[b-fm5i1183vi] {
    display: inline-flex;
    align-items: baseline;
    gap: 0.25rem;
    white-space: nowrap;
}

.aey-mini-label[b-fm5i1183vi] { color: var(--ios-muted); }
.aey-mini-val[b-fm5i1183vi] { font-variant-numeric: tabular-nums; font-weight: 700; }

.aey-chart-brush[b-fm5i1183vi] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.6rem;
    margin-top: 0;
}

.aey-chart-brush label[b-fm5i1183vi] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    gap: 0.45rem;
    padding: 0.1rem 0.55rem 0;
    border-radius: 12px;
    background: transparent;
    color: var(--ios-muted);
    font-size: 0.72rem;
    font-weight: 800;
}

.aey-chart-brush input[type="range"][b-fm5i1183vi] {
    width: 100%;
    accent-color: var(--chart-trend);
}

.aey-chart-brush strong[b-fm5i1183vi] {
    color: var(--ios-label);
    font-variant-numeric: tabular-nums;
}

@media (max-width: 560px) {
    .aey-chart-brush[b-fm5i1183vi] {
        grid-template-columns: 1fr;
    }
}

/* ── Allocation ── */
.aey-alloc-card[b-fm5i1183vi] { padding: 1rem 1.1rem 1.1rem; }

.aey-alloc-header[b-fm5i1183vi] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 0.6rem;
    flex-wrap: wrap;
}

.aey-alloc-body[b-fm5i1183vi] {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 14px;
    align-items: start;
}

@media (max-width: 720px) {
    .aey-alloc-body[b-fm5i1183vi] { grid-template-columns: 1fr; }
}

.aey-alloc-chart[b-fm5i1183vi] {
    position: relative;
    height: 200px;
    border-radius: 16px;
    background: var(--pie-center-bg);
    padding: 0.5rem;
}

.aey-alloc-center[b-fm5i1183vi] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    pointer-events: none;
}

.aey-alloc-center-val[b-fm5i1183vi] {
    font-size: 1.15rem;
    font-weight: 800;
}

.aey-alloc-center-lbl[b-fm5i1183vi] {
    font-size: 0.72rem;
    color: var(--pie-legend-text);
    margin-top: 2px;
}

.aey-alloc-list[b-fm5i1183vi] { display: flex; flex-direction: column; gap: 10px; padding-top: 4px; }

.aey-alloc-row[b-fm5i1183vi] { display: flex; align-items: center; gap: 10px; }

.aey-alloc-icon[b-fm5i1183vi] {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--color-surface);
}

.aey-alloc-meta[b-fm5i1183vi] { flex: 1; min-width: 0; }

.aey-alloc-name[b-fm5i1183vi] {
    font-size: 0.86rem;
    font-weight: 700;
    color: var(--aey-text-main);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.aey-alloc-bar-wrap[b-fm5i1183vi] {
    height: 6px;
    border-radius: 999px;
    background: var(--pie-empty-ring);
    overflow: hidden;
    margin-top: 5px;
}

.aey-alloc-bar[b-fm5i1183vi] { height: 6px; border-radius: 999px; }

.aey-alloc-right[b-fm5i1183vi] { text-align: right; flex-shrink: 0; }
.aey-alloc-val[b-fm5i1183vi] { font-size: 0.88rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.aey-alloc-pct[b-fm5i1183vi] { font-size: 0.72rem; color: var(--ios-muted); margin-top: 1px; }
.aey-alloc-empty[b-fm5i1183vi] {
    padding: 0.25rem 0 0.5rem;
    color: var(--ios-muted);
}

@media (max-width: 430px) {
    .ios-hero[b-fm5i1183vi] {
        padding: 0 0.9rem 0.85rem;
        margin-bottom: 0.75rem;
    }

    .ios-hero-value[b-fm5i1183vi] {
        font-size: 2.18rem;
        margin-bottom: 0.78rem;
    }

    .aey-networth-value[b-fm5i1183vi] {
        display: inline-flex;
        width: 100%;
        gap: 0.38rem;
    }

    .ios-hero-assets-row[b-fm5i1183vi] {
        gap: 0.45rem;
    }

    .ios-hero-asset-item[b-fm5i1183vi] {
        min-width: 104px;
    }

    .aey-trend-card[b-fm5i1183vi],
    .aey-alloc-card[b-fm5i1183vi] {
        padding-inline: 0.8rem;
    }

    .aey-trend-stats[b-fm5i1183vi] {
        justify-content: flex-start;
        gap: 0.52rem;
        font-size: 0.75rem;
    }

    .aey-alloc-header[b-fm5i1183vi] {
        align-items: center;
        flex-wrap: nowrap;
    }

    .aey-alloc-header .aey-seg[b-fm5i1183vi] {
        width: auto;
        min-width: 0;
        flex: 0 1 auto;
    }

    .aey-alloc-header .aey-seg:first-child[b-fm5i1183vi] {
        justify-self: start;
    }

    .aey-alloc-header .aey-seg-sm[b-fm5i1183vi] {
        margin-left: auto;
        flex-shrink: 0;
    }

    .aey-alloc-chart[b-fm5i1183vi] {
        height: 176px;
    }

    .aey-alloc-row[b-fm5i1183vi] {
        gap: 0.65rem;
    }

    .aey-alloc-icon[b-fm5i1183vi] {
        width: 30px;
        height: 30px;
        border-radius: 8px;
    }

    .aey-alloc-val[b-fm5i1183vi] {
        font-size: 0.82rem;
    }

    .aey-group-card[b-fm5i1183vi] {
        padding: 0.38rem 0.78rem 0.08rem;
        margin-bottom: 0.12rem;
    }

    .aey-group-card[b-fm5i1183vi]::after {
        left: 0.78rem;
        right: 0.78rem;
    }

    .aey-group-header[b-fm5i1183vi] {
        gap: 0.48rem;
        margin-bottom: 0;
    }

    .aey-group-title[b-fm5i1183vi] {
        font-size: 0.9rem;
    }

    .aey-group-sub[b-fm5i1183vi] {
        flex-shrink: 0;
        gap: 0.35rem;
    }

    .aey-group-total[b-fm5i1183vi] {
        font-size: 0.78rem;
    }

    .ae-acct-row[b-fm5i1183vi] {
        align-items: flex-start;
        gap: 0.58rem;
        padding: 0.56rem 0;
    }

    .aey-acct-row[b-fm5i1183vi]::after {
        left: 2.82rem;
    }

    .ae-acct-row.ae-acct-child[b-fm5i1183vi] {
        padding-left: 0.78rem;
    }

    .ae-acct-row.ae-acct-child[b-fm5i1183vi]::before {
        left: 0.78rem;
        width: 1.05rem;
    }

    .ae-acct-icon[b-fm5i1183vi] {
        width: 2.24rem;
        height: 2.24rem;
        border-radius: 9px;
        font-size: 1rem;
    }

    .ae-acct-icon.ae-acct-icon-sm[b-fm5i1183vi] {
        width: 1.72rem;
        height: 1.72rem;
        border-radius: 7px;
        font-size: 0.82rem;
    }

    .ae-acct-sub-row[b-fm5i1183vi] {
        gap: 0.32rem;
    }

    .ae-acct-balance[b-fm5i1183vi] {
        max-width: 7.9rem;
        font-size: 0.85rem;
        line-height: 1.25;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .aey-acct-balance-sub[b-fm5i1183vi] {
        font-size: 0.8rem;
    }

    .ae-acct-actions[b-fm5i1183vi] {
        gap: 0.18rem;
    }

    .aey-row-act[b-fm5i1183vi],
    .ae-expand-btn[b-fm5i1183vi] {
        width: 30px;
        height: 30px;
    }

    .ae-acct-subs[b-fm5i1183vi] {
        margin-left: 0.6rem;
        padding-left: 0.38rem;
    }

    .aey-credit-row[b-fm5i1183vi] {
        gap: 0.32rem;
        font-size: 0.74rem;
    }

    .aey-credit-item[b-fm5i1183vi] {
        padding: 3px 7px;
        border-radius: 9px;
    }
}

/* ── Account group cards ── */
.aey-group-card[b-fm5i1183vi] {
    margin-bottom: 0.18rem;
    padding: 0.45rem 0.95rem 0.12rem;
    border-radius: var(--ios-radius-sm);
    position: relative;
}

[data-theme="midnight"] .aey-group-card[b-fm5i1183vi],
[data-theme="modern-slate"] .aey-group-card[b-fm5i1183vi],
[data-theme="pitch-black"] .aey-group-card[b-fm5i1183vi] {
    border: none !important;
    box-shadow: none !important;
}

.aey-group-card[b-fm5i1183vi]::after {
    content: '';
    position: absolute;
    left: 0.95rem;
    right: 0.95rem;
    bottom: 0;
    height: 1px;
    background: var(--color-separator);
    opacity: 0.45;
}

.aey-group-header[b-fm5i1183vi] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 0.08rem;
}
.aey-group-toggle[b-fm5i1183vi] {
    cursor: pointer;
}

.aey-group-title[b-fm5i1183vi] { font-size: 0.95rem; font-weight: 800; color: var(--aey-text-main); }

.aey-group-title-wrap[b-fm5i1183vi] {
    display: inline-flex;
    align-items: center;
    min-width: 0;
}

.aey-group-sub[b-fm5i1183vi] { display: flex; align-items: baseline; gap: 8px; }

.aey-group-total[b-fm5i1183vi] {
    font-size: 0.85rem;
    font-weight: 800;
    color: var(--aey-text-main);
    opacity: 0.72;
}

/* ── Account list ── */
.ae-acct-list[b-fm5i1183vi] { display: flex; flex-direction: column; }

.ae-acct-row[b-fm5i1183vi] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.62rem 0;
    transition: all 0.2s ease;
    position: relative;
}
.aey-acct-clickable[b-fm5i1183vi] {
    cursor: pointer;
}

/* Hairline separator that doesn't span the icon area */
.aey-acct-row[b-fm5i1183vi]::after {
    content: '';
    position: absolute;
    left: 3.15rem;
    right: 0;
    bottom: 0;
    height: var(--hairline-width);
    background: var(--color-separator);
}

.aey-acct-row:last-child[b-fm5i1183vi]::after { display: none; }

.ae-acct-row.ae-acct-child[b-fm5i1183vi] {
    padding-left: 1.25rem;
    background: var(--surface-2);
}

.ae-acct-row.ae-acct-child[b-fm5i1183vi]::before {
    content: '';
    position: absolute;
    left: 1.25rem;
    top: -0.75rem;
    width: 1.25rem;
    height: calc(100% + 0.75rem);
    border-left: 2px solid var(--ios-fill);
    border-bottom: 2px solid var(--ios-fill);
    border-bottom-left-radius: 8px;
}

.ae-acct-icon[b-fm5i1183vi] {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    flex-shrink: 0;
    z-index: 1;
    color: var(--color-surface);
}

.ae-acct-icon.ae-acct-icon-sm[b-fm5i1183vi] {
    width: 1.9rem;
    height: 1.9rem;
    border-radius: 8px;
    font-size: 0.9rem;
}

.ae-acct-meta[b-fm5i1183vi] { flex: 1; min-width: 0; }

.ae-acct-name[b-fm5i1183vi] {
    font-weight: 700;
    font-size: 0.92rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ae-acct-sub-row[b-fm5i1183vi] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-top: 0.15rem;
    flex-wrap: wrap;
}

.ae-acct-balance[b-fm5i1183vi] {
    text-align: right;
    font-weight: 800;
    font-size: 0.92rem;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    flex-shrink: 0;
}
.aey-acct-name-sub[b-fm5i1183vi] {
    font-size: 0.85rem;
}

.aey-acct-balance-sub[b-fm5i1183vi] {
    font-size: 0.86rem;
}

.aey-acct-balance-label[b-fm5i1183vi] {
    font-size: 0.65rem;
    color: var(--ios-muted);
    text-transform: uppercase;
    letter-spacing: 0;
}

.aey-acct-total-balance[b-fm5i1183vi] {
    font-weight: 700;
}

.ae-acct-actions[b-fm5i1183vi] {
    display: flex;
    gap: 0.3rem;
    flex-shrink: 0;
}

.ae-acct-subs[b-fm5i1183vi] {
    margin-left: 1rem;
    border-left: 2px solid var(--ios-fill);
    padding-left: 0.5rem;
}

.aey-row-act[b-fm5i1183vi] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: var(--surface-2);
    cursor: pointer;
    font-size: 0.9rem;
}

.aey-row-act:active[b-fm5i1183vi] { background: var(--accent-soft-08); }

.aey-unarchive-btn[b-fm5i1183vi] {
    color: var(--color-text-secondary);
}

.aey-unarchive-btn:disabled[b-fm5i1183vi] {
    opacity: 0.38;
    cursor: not-allowed;
}

/* Expansion arrow: pure V icon, no background */
.ae-expand-btn[b-fm5i1183vi] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: none;
    background: transparent;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ae-expand-v[b-fm5i1183vi] {
    color: var(--ios-muted);
    transition: transform 0.2s ease;
}

.ae-expand-v.open[b-fm5i1183vi] { transform: rotate(180deg); }

/* Credit account row extra info */
.aey-credit-row[b-fm5i1183vi] {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 6px;
    font-size: 0.78rem;
    color: var(--ios-muted);
}

.aey-credit-item[b-fm5i1183vi] {
    background: var(--surface-2);
    border-radius: 10px;
    padding: 4px 8px;
}
.aey-credit-amount[b-fm5i1183vi] {
    font-weight: 700;
}
.aey-credit-amount-income[b-fm5i1183vi] {
    color: var(--amount-income);
}
.aey-credit-amount-expense[b-fm5i1183vi] {
    color: var(--amount-expense);
}

/* ── Net worth currency badge & modal (copied from Home) ─────────── */
.ae-nw-currency-badge[b-fm5i1183vi] {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0;
    background: var(--accent-soft-08);
    border: var(--hairline-width) solid var(--accent-border-40);
    border-radius: 6px;
    padding: 2px 7px;
    cursor: pointer;
    vertical-align: middle;
    transition: background 0.15s;
}

.ae-nw-currency-badge:hover[b-fm5i1183vi] { background: var(--accent-soft-12); }

.ae-nw-modal[b-fm5i1183vi] { max-width: 420px; width: 92vw; }

.ae-nw-table-wrap[b-fm5i1183vi] { padding: 0 16px 16px; }

.ae-nw-table[b-fm5i1183vi] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.93rem;
}

.ae-nw-table th[b-fm5i1183vi] {
    color: var(--ios-muted);
    font-size: 0.78rem;
    font-weight: 500;
    padding: 4px 8px 8px;
    border-bottom: var(--hairline-width) solid var(--color-separator);
}
.ae-nw-align-right[b-fm5i1183vi] {
    text-align: right;
}

.ae-nw-loading[b-fm5i1183vi] {
    color: var(--ios-muted);
}

.ae-nw-table td[b-fm5i1183vi] {
    padding: 10px 8px;
    border-bottom: var(--hairline-width) solid var(--color-separator);
}

.ae-nw-table tbody tr[b-fm5i1183vi] { cursor: pointer; transition: background 0.12s; }
.ae-nw-table tbody tr:hover[b-fm5i1183vi] { background: var(--surface-2); }
.ae-nw-row-selected[b-fm5i1183vi] { background: var(--accent-soft-08) !important; }

.ae-nw-total-row td[b-fm5i1183vi] {
    padding-top: 12px;
    font-weight: 800;
    color: var(--chart-trend);
    border-top: var(--hairline-width) solid var(--color-separator);
    border-bottom: none;
}

/* ── Fullscreen Trend ── */
.aey-fs-backdrop[b-fm5i1183vi] {
    position: fixed;
    inset: 0;
    background: var(--modal-backdrop-bg);
    display: flex;
    align-items: stretch;
    justify-content: center;
    z-index: 1200;
}

.aey-fs-sheet[b-fm5i1183vi] {
    width: 100%;
    height: 100dvh;
    max-width: none;
    background: var(--chart-fullscreen-bg);
    color: var(--chart-fs-tick-color);
    display: flex;
    flex-direction: column;
    padding: env(safe-area-inset-top) 0 env(safe-area-inset-bottom);
}

.aey-fs-landscape[b-fm5i1183vi] {
    flex: 1;
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

@media (min-width: 720px) {
    .aey-fs-sheet[b-fm5i1183vi] {
        border-radius: 18px;
        margin: 18px;
        padding: 0;
        height: calc(100dvh - 36px);
        overflow: hidden;
        box-shadow: var(--shadow-lg);
    }
}

@media (orientation: portrait) and (max-width: 719px) {
    .aey-fs-sheet[b-fm5i1183vi] {
        align-items: center;
        justify-content: center;
        padding: 0;
    }

    .aey-fs-landscape[b-fm5i1183vi] {
        width: 100dvh;
        height: 100dvw;
        flex: 0 0 auto;
        transform: rotate(90deg);
        border-radius: 0;
        overflow: hidden;
        background: var(--chart-fullscreen-bg);
    }
}

.aey-fs-header[b-fm5i1183vi] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px;
    border-bottom: var(--hairline-width) solid var(--chart-grid-fs-color);
}

.aey-fs-title[b-fm5i1183vi] { font-weight: 800; letter-spacing: 0; }

.aey-fs-canvas[b-fm5i1183vi] {
    flex: 1;
    min-height: 0;
    padding: 10px;
}

.aey-fs-canvas.aey-fs-canvas-scroll[b-fm5i1183vi] {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
}

.aey-fs-chart-wrapper[b-fm5i1183vi] {
    height: 100%;
    min-width: 100%;
}

.aey-fs-canvas canvas[b-fm5i1183vi] { height: 100% !important; }
/* /Pages/AddAccountPage.razor.rz.scp.css */
.account-page-spinner[b-4hlzs6nks8] {
    display: inline-block;
    width: 0.95rem;
    height: 0.95rem;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 999px;
    animation: account-page-spin-b-4hlzs6nks8 0.65s linear infinite;
}

@keyframes account-page-spin-b-4hlzs6nks8 {
    to {
        transform: rotate(360deg);
    }
}
/* /Pages/AddTransactionMobileView.razor.rz.scp.css */
:root[b-r8d3el2l41] {
    --ae-bg: var(--color-bg);
    --ae-surface: var(--surface-2);
    --ae-muted: var(--color-text-muted);
    --ae-highlight: var(--color-primary);
}

/* Default: white dialog suited for desktop independent window */
.ae-mobile-modal[b-r8d3el2l41] {
    position: fixed;
    top: 5vh;
    left: 50%;
    transform: translateX(-50%);
    width: min(640px, 95vw);
    height: 90vh;
    z-index: 2000;
    background: var(--ae-bg);
    color: var(--color-text);
    display: flex;
    flex-direction: column;
    -webkit-tap-highlight-color: transparent;
    padding: 12px env(safe-area-inset-left) 12px env(safe-area-inset-right);
    border-radius: 12px;
    box-shadow: var(--shadow-md);
}

/* simple slide-up animation */
.ae-mobile-modal[b-r8d3el2l41] {
    animation: ae-slide-up-b-r8d3el2l41 240ms cubic-bezier(.2,.9,.2,1) both;
}

@keyframes ae-slide-up-b-r8d3el2l41 {
    from { transform: translateY(8vh); opacity: 0; }
    to   { transform: translateY(0); opacity: 1; }
}

/* Header */
.ae-mobile-header[b-r8d3el2l41] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px;
    border-bottom: var(--hairline-width) solid var(--color-separator);
}
.ae-mobile-title[b-r8d3el2l41] { font-weight: 700; color: var(--color-text); font-size: 1rem; }
.ae-icon-btn[b-r8d3el2l41] { background: transparent; color: var(--color-text); font-size: 1.1rem; padding: 6px; border-radius: 8px; border: none; }
.ae-icon-btn:active[b-r8d3el2l41] { transform: scale(0.98); }
.ae-icon-btn:focus[b-r8d3el2l41] { outline: 2px solid var(--accent-soft-20); }
.ae-confirm[b-r8d3el2l41] { color: var(--color-primary); }

/* Tabs */
.ae-tabs[b-r8d3el2l41] { display:flex; padding:10px 6px; gap:6px; }
.ae-tab[b-r8d3el2l41] { flex:1; background: transparent; color: var(--ae-muted); padding:8px 6px; font-weight:600; text-align:center; position:relative; border: none; }
.ae-tab.active[b-r8d3el2l41] { color: var(--color-text); }
.ae-tab.active[b-r8d3el2l41]::after { content: ""; position:absolute; left:20%; right:20%; bottom:0; height:3px; background:var(--ae-highlight); border-radius:3px; }

/* Category Grid */
.ae-category-grid[b-r8d3el2l41] { display:grid; grid-template-columns: repeat(4, 1fr); gap:10px; padding:12px; }
.ae-category-item[b-r8d3el2l41] { display:flex; flex-direction:column; align-items:center; gap:8px; }
.ae-cat-icon[b-r8d3el2l41] { width:56px; height:56px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:1.25rem; }
.ae-cat-label[b-r8d3el2l41] { font-size:0.75rem; color:var(--ae-muted); text-align:center; }
.ae-category-item.ae-add-new .ae-cat-icon[b-r8d3el2l41] { background:var(--surface-2); font-size:1.2rem; }

/* Input Block */
.ae-input-block[b-r8d3el2l41] { background: var(--ae-surface); margin:12px; padding:12px; border-radius:12px; }
.ae-amount-row[b-r8d3el2l41] { display:flex; gap:10px; align-items:center; }
.ae-square-btn.camera[b-r8d3el2l41] { width:48px; height:48px; background:var(--color-surface); border-radius:8px; color:var(--color-text); border:var(--hairline-width) solid var(--color-separator); }
.ae-file-input-hidden[b-r8d3el2l41] { display: none; }
.ae-amount-group[b-r8d3el2l41] { display:flex; align-items:center; gap:8px; flex:1; background:var(--color-surface); border:var(--hairline-width) solid var(--color-separator); border-radius:8px; padding:6px 8px; }
.ae-pill[b-r8d3el2l41] { background: transparent; color:var(--color-text); border-radius:999px; padding:8px 12px; font-weight:600; border: none; }
.ae-amount-input[b-r8d3el2l41] { background: transparent; color:var(--color-text); font-size:1.75rem; text-align:right; width:100%; }
.ae-amount-input[b-r8d3el2l41]::placeholder { color: var(--color-text-muted); }
.ae-name-row[b-r8d3el2l41] { margin-top:8px; }
.ae-name-input[b-r8d3el2l41] { width:100%; padding:10px; border-radius:8px; border:var(--hairline-width) solid var(--color-separator); background:var(--color-surface); color:var(--color-text); }

.ae-receipt-preview-wrap[b-r8d3el2l41] {
    display: flex;
    justify-content: center;
    margin-bottom: 1rem;
}

/* Options Grid */
.ae-options-grid[b-r8d3el2l41] { display:grid; grid-template-columns: repeat(2,1fr); gap:10px; padding:12px; }
.ae-option[b-r8d3el2l41] { background:var(--color-surface); color:var(--color-text); padding:12px; border-radius:10px; border:var(--hairline-width) solid var(--color-separator); text-align:left; font-weight:600; }

/* Date/Time */
.ae-datetime-grid[b-r8d3el2l41] { display:grid; grid-template-columns: 1fr 1fr; gap:10px; padding:12px; }
.ae-dt[b-r8d3el2l41] { background:var(--color-surface); color:var(--color-text); padding:12px; border-radius:10px; border:var(--hairline-width) solid var(--color-separator); text-align:center; font-weight:600; }

/* Notes */
.ae-notes[b-r8d3el2l41] { padding:12px; flex:1; display:flex; flex-direction:column; }
.ae-notes-title[b-r8d3el2l41] { color:var(--ae-muted); font-size:0.85rem; margin-bottom:8px; }
.ae-notes-area[b-r8d3el2l41] { flex:1; resize:none; background:var(--color-surface); color:var(--color-text); border:var(--hairline-width) solid var(--color-separator); border-radius:10px; padding:10px; }

/* small screens tweaks */
@media (max-width: 699px) {
    .ae-mobile-modal[b-r8d3el2l41] {
        top: 0;
        left: 0;
        transform: none;
        width: 100%;
        height: 100%;
        background: var(--ae-bg);
        color: var(--color-text);
        padding: env(safe-area-inset-top) 0 env(safe-area-inset-bottom);
        border-radius: 0;
        box-shadow: none;
    }

    .ae-mobile-header[b-r8d3el2l41] { border-bottom: var(--hairline-width) solid var(--color-separator); }

    .ae-input-block[b-r8d3el2l41] { background: var(--ae-surface); }
     .ae-mobile-modal .ae-input-block[b-r8d3el2l41] { background: var(--ae-surface); }
     .ae-mobile-modal .ae-amount-group[b-r8d3el2l41] { padding: 8px; border-radius: 8px; }
     .ae-mobile-modal .ae-pill[b-r8d3el2l41] { background:transparent; }
     .ae-mobile-modal .ae-amount-input[b-r8d3el2l41],
     .ae-mobile-modal .ae-name-input[b-r8d3el2l41],
     .ae-mobile-modal .ae-notes-area[b-r8d3el2l41] { background: var(--color-surface); border: var(--hairline-width) solid var(--color-separator); }
}
/* /Pages/AddTransactionView.razor.rz.scp.css */
/* ── Main Container ── */
.ae-addtx[b-xd1fetftf0] {
  position: fixed;
  inset: 0;
  display: flex;
  flex-direction: column;
  background: var(--color-bg);
  color: var(--color-text);
  padding: env(safe-area-inset-top) 0 env(safe-area-inset-bottom);
  z-index: 200;
}

/* ── Header ── */
.ae-addtx-header[b-xd1fetftf0] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: var(--nav-glass-bg);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: var(--hairline-width) solid var(--color-separator);
  flex-shrink: 0;
}

.ae-addtx-title[b-xd1fetftf0] {
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--color-text);
}

.ae-icon-btn[b-xd1fetftf0] {
  background: transparent;
  border: none;
  color: var(--color-primary);
  font-size: 1.05rem;
  cursor: pointer;
  padding: 4px 2px;
  -webkit-tap-highlight-color: transparent;
}

.ae-close[b-xd1fetftf0] {
  color: var(--color-text-muted);
  font-weight: 500;
  font-size: 0.95rem;
}

.ae-header-actions[b-xd1fetftf0] {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Confirm button */
.ae-confirm-btn[b-xd1fetftf0] {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--color-primary);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: none;
  background: var(--accent-soft-12);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.15s, transform 0.15s;
  -webkit-tap-highlight-color: transparent;
}
.ae-confirm-btn:active[b-xd1fetftf0] { background: var(--accent-soft-20); }
.ae-confirm-btn:disabled[b-xd1fetftf0] { opacity: 0.5; }
.ae-confirm-btn.ae-longpress-active[b-xd1fetftf0] {
  transform: scale(1.15);
  background: var(--accent-soft-12);
  color: var(--color-primary);
}

.ae-confirm-spinner[b-xd1fetftf0] {
  display: inline-block;
  width: 0.95rem;
  height: 0.95rem;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 999px;
  animation: ae-confirm-spin-b-xd1fetftf0 0.65s linear infinite;
}

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

/* ── Tabs ── */
.ae-addtx-tabs[b-xd1fetftf0] {
  display: flex;
  gap: 6px;
  padding: 8px 16px;
  overflow-x: auto;
  background: var(--nav-glass-bg);
  border-bottom: var(--hairline-width) solid var(--color-separator);
  flex-shrink: 0;
  scrollbar-width: none;
}
.ae-addtx-tabs[b-xd1fetftf0]::-webkit-scrollbar { display: none; }

.ae-tab[b-xd1fetftf0] {
  background: var(--surface-2);
  border: var(--hairline-width) solid var(--color-separator);
  color: var(--color-text);
  padding: 5px 12px;
  border-radius: 20px;
  font-size: 0.88rem;
  white-space: nowrap;
  cursor: pointer;
  flex-shrink: 0;
  -webkit-tap-highlight-color: transparent;
}
.ae-tab.active[b-xd1fetftf0] {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-surface);
  font-weight: 700;
}

/* ── Error bar ── */
.ae-confirm-error[b-xd1fetftf0] {
  margin: 4px 16px;
  padding: 6px 10px;
  border-radius: 8px;
  background: var(--danger-soft-12);
  border: var(--hairline-width) solid var(--danger-soft-35);
  color: var(--ui-danger);
  font-size: 0.83rem;
  flex-shrink: 0;
}

/* ── Scrollable Content Area ── */
.ae-addtx-scroll[b-xd1fetftf0] {
  flex: 1;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 12px 0 0;
}

/* ── Hero Card ── */
.ae-hero-card[b-xd1fetftf0] {
  background: var(--color-surface);
  border-radius: 16px;
  margin: 0 16px 12px;
  padding: 20px 16px 16px;
  box-shadow: var(--shadow-xs);
}

/* Transfer account circles */
.ae-transfer-bar[b-xd1fetftf0] {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 20px;
  gap: 8px;
}

.ae-acct-avatar[b-xd1fetftf0] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  flex: 1;
  -webkit-tap-highlight-color: transparent;
  padding: 4px;
  border-radius: 12px;
  transition: background 0.15s;
}
.ae-acct-avatar:active[b-xd1fetftf0] { background: var(--surface-2); }

.ae-avatar-circle[b-xd1fetftf0] {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--color-fill);
  border: 2px dashed var(--color-separator);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--color-text-muted);
  transition: background 0.15s, border-color 0.15s;
}

.ae-acct-avatar-set .ae-avatar-circle[b-xd1fetftf0] {
  background: linear-gradient(135deg, var(--color-primary), var(--color-indigo));
  border: none;
  color: var(--color-surface);
  font-size: 1.3rem;
}

.ae-avatar-label[b-xd1fetftf0] {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--color-text-secondary);
  text-align: center;
  max-width: 100px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ae-avatar-bal[b-xd1fetftf0] {
  font-size: 0.72rem;
  color: var(--color-text-muted);
  text-align: center;
}

.ae-swap-btn[b-xd1fetftf0] {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  margin-top: 12px;
  border-radius: 50%;
  background: var(--accent-soft-12);
  border: none;
  color: var(--color-primary);
  font-size: 1.15rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.15s;
  -webkit-tap-highlight-color: transparent;
}
.ae-swap-btn:active[b-xd1fetftf0] { background: var(--accent-soft-20); }

/* Amount hero input */
.ae-amount-hero-row[b-xd1fetftf0] {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}

.ae-currency-badge[b-xd1fetftf0] {
  padding: 5px 10px;
  border-radius: 20px;
  background: var(--surface-2);
  border: var(--hairline-width) solid var(--color-separator);
  color: var(--color-text-secondary);
  font-size: 0.85rem;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
  flex-shrink: 0;
  -webkit-tap-highlight-color: transparent;
}
.ae-currency-badge.ae-currency-picker-trigger[b-xd1fetftf0] {
  width: auto;
  min-height: auto;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.ae-currency-badge .ae-currency-picker-name[b-xd1fetftf0] {
  display: none;
}
.ae-currency-badge-active[b-xd1fetftf0] {
  background: var(--accent-soft-08);
  border-color: var(--accent-border-50);
  color: var(--color-primary);
}

.ae-amount-hero[b-xd1fetftf0] {
  flex: 1;
  font-size: 36px;
  font-weight: 700;
  background: transparent;
  border: none;
  border-bottom: 2px solid var(--color-separator);
  color: var(--color-text);
  padding: 4px 0;
  font-family: inherit;
  min-width: 0;
  outline: none;
  font-variant-numeric: tabular-nums;
}
.ae-amount-hero:focus[b-xd1fetftf0] { border-bottom-color: var(--accent-border-50); }
.ae-amount-hero-muted[b-xd1fetftf0] {
  color: var(--color-text-muted);
}
.ae-amount-hero-kbd[b-xd1fetftf0] {
  cursor: pointer;
  caret-color: transparent;
}
.ae-amount-hero-kbd:focus[b-xd1fetftf0] { border-bottom-color: var(--accent-border-50); }
.ae-amount-expense[b-xd1fetftf0] { color: var(--amount-expense); }
.ae-amount-income[b-xd1fetftf0] { color: var(--amount-income); }

/* Name input */
.ae-name-hero[b-xd1fetftf0] {
  width: 100%;
  background: transparent;
  border: none;
  border-bottom: var(--hairline-width) solid var(--color-separator);
  padding: 8px 0 6px;
  font-size: 0.95rem;
  color: var(--color-text-secondary);
  font-family: inherit;
  outline: none;
  margin-top: 10px;
}
.ae-name-hero[b-xd1fetftf0]::placeholder { color: var(--color-separator); }
.ae-name-hero:focus[b-xd1fetftf0] { border-bottom-color: var(--accent-border-50); }

/* FX preview */
.ae-fx-preview[b-xd1fetftf0] {
  margin-top: 4px;
  font-size: 0.8rem;
  color: var(--color-text-muted);
  padding: 0 2px;
}

/* ── Category Card ── */
.ae-cat-card[b-xd1fetftf0] {
  background: var(--color-surface);
  border-radius: 16px;
  margin: 0 8px 12px;
  padding: 12px;
  box-shadow: var(--shadow-xs);
}

/* ── Attribute Card ── */
.ae-attr-card[b-xd1fetftf0] {
  background: var(--color-surface);
  border-radius: 16px;
  margin: 0 16px 12px;
  overflow: hidden;
  box-shadow: var(--shadow-xs);
}

/* Row */
.ae-attr-row[b-xd1fetftf0] {
  display: flex;
  align-items: center;
  padding: 13px 16px;
  cursor: pointer;
  min-height: 48px;
  gap: 12px;
  -webkit-tap-highlight-color: transparent;
}
.ae-attr-row:active[b-xd1fetftf0] { background: var(--surface-2); }

/* Separator */
.ae-attr-sep[b-xd1fetftf0] {
  height: 0.5px;
  background: var(--surface-2);
  margin: 0 16px;
}

/* Left part of row */
.ae-attr-left[b-xd1fetftf0] {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  min-width: 90px;
}

.ae-attr-icon[b-xd1fetftf0] { font-size: 1rem; flex-shrink: 0; }

.ae-attr-label[b-xd1fetftf0] {
  font-size: 0.9rem;
  color: var(--color-text-secondary);
  font-weight: 500;
}

/* Right part of row */
.ae-attr-right[b-xd1fetftf0] {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 1;
  justify-content: flex-end;
  overflow: hidden;
}

.ae-attr-value[b-xd1fetftf0] {
  font-size: 0.9rem;
  color: var(--color-text);
  font-weight: 500;
  text-align: right;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 160px;
}

.ae-attr-placeholder[b-xd1fetftf0] { color: var(--color-separator); font-weight: 400; }

.ae-attr-bal[b-xd1fetftf0] {
  font-size: 0.78rem;
  color: var(--color-text-muted);
  white-space: nowrap;
  flex-shrink: 0;
}

.ae-attr-chevron[b-xd1fetftf0] {
  color: var(--color-separator);
  font-size: 1.2rem;
  flex-shrink: 0;
  margin-left: 2px;
}

/* Date mini buttons */
.ae-dt-row[b-xd1fetftf0] { display: flex; gap: 6px; justify-content: flex-end; }

.ae-dt-mini[b-xd1fetftf0] {
  background: var(--accent-soft-08);
  border: none;
  border-radius: 8px;
  padding: 5px 10px;
  font-size: 0.85rem;
  color: var(--color-primary);
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
  white-space: nowrap;
  -webkit-tap-highlight-color: transparent;
}
.ae-dt-mini:active[b-xd1fetftf0] { background: var(--accent-soft-12); }

/* Inline input in attr row */
.ae-attr-inline-input[b-xd1fetftf0] {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  font-size: 0.9rem;
  color: var(--color-text);
  text-align: right;
  font-family: inherit;
  padding: 0;
}
.ae-attr-inline-input[b-xd1fetftf0]::placeholder { color: var(--color-separator); }

/* Advanced entry card */
.ae-entry-card[b-xd1fetftf0] { cursor: pointer; }
.ae-entry-label[b-xd1fetftf0] { color: var(--color-text-muted); font-size: 0.85rem; font-weight: 400; }

/* Quick action buttons */
.ae-quick-actions[b-xd1fetftf0] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px 12px;
}
.ae-quick-btn[b-xd1fetftf0] {
  padding: 6px 14px;
  border-radius: 20px;
  background: var(--surface-2);
  border: var(--hairline-width) solid var(--color-separator);
  color: var(--color-text-secondary);
  font-size: 0.83rem;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.ae-quick-btn-active[b-xd1fetftf0] {
  background: var(--accent-soft-08);
  border-color: var(--accent-border-40);
  color: var(--color-primary);
}

/* Notes input */
.ae-notes-input[b-xd1fetftf0] {
  width: 100%;
  background: transparent;
  border: none;
  outline: none;
  font-size: 0.9rem;
  color: var(--color-text-secondary);
  font-family: inherit;
  line-height: 1.5;
  resize: none;
  padding: 4px 16px 12px;
  display: block;
}
.ae-notes-input[b-xd1fetftf0]::placeholder { color: var(--color-separator); }

/* Tags section */
.ae-tags-row[b-xd1fetftf0] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  padding: 12px 16px 8px;
}
.ae-tag-chip[b-xd1fetftf0] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  border-radius: 20px;
  background: var(--accent-soft-12);
  border: 1px solid var(--accent-border-40);
  color: var(--color-primary);
  font-size: 0.78rem;
  font-weight: 600;
}
.ae-tag-remove[b-xd1fetftf0] {
  background: transparent;
  border: none;
  color: var(--accent-border-60);
  padding: 0;
  cursor: pointer;
  font-size: 0.7rem;
  line-height: 1;
}
.ae-tag-input[b-xd1fetftf0] {
  flex: 1;
  min-width: 80px;
  background: transparent;
  border: none;
  outline: none;
  color: var(--color-text);
  font-size: 0.82rem;
  font-family: inherit;
  padding: 3px 4px;
}
.ae-tag-input[b-xd1fetftf0]::placeholder { color: var(--color-separator); }

/* Receipt card */
.ae-receipt-card[b-xd1fetftf0] { padding: 12px 16px; }
.ae-receipt-btn[b-xd1fetftf0] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: 20px;
  background: var(--surface-2);
  border: 1px dashed var(--color-separator);
  color: var(--color-text-muted);
  font-size: 0.82rem;
  cursor: pointer;
}
.ae-receipt-btn:hover[b-xd1fetftf0] { background: var(--surface-2); border-color: var(--color-separator); }
.ae-receipt-preview[b-xd1fetftf0] { position: relative; display: inline-block; }
.ae-receipt-thumb[b-xd1fetftf0] {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 10px;
  border: var(--hairline-width) solid var(--color-separator);
  cursor: pointer;
}
.ae-receipt-remove[b-xd1fetftf0] {
  position: absolute;
  top: -6px;
  right: -6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--expense-strong-85);
  border: none;
  color: var(--color-surface);
  font-size: 0.65rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  line-height: 1;
}

.ae-add-bottom-spacer[b-xd1fetftf0] {
  height: 32px;
}

/* Template panel */
.ae-template-sheet[b-xd1fetftf0] {
  background: var(--color-surface);
  display: flex;
  flex-direction: column;
}
.ae-template-header[b-xd1fetftf0] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 12px;
  border-bottom: var(--hairline-width) solid var(--color-separator);
  font-size: 0.9rem;
}
.ae-template-header-title[b-xd1fetftf0] { font-weight: 600; }
.ae-template-header-close[b-xd1fetftf0] { font-size: 0.9rem; }
.ae-template-empty[b-xd1fetftf0] {
  font-size: 0.82rem;
  color: var(--color-text-muted);
  padding: 12px;
  text-align: center;
}
.ae-template-list[b-xd1fetftf0] {
  display: flex;
  flex-direction: column;
  max-height: min(52vh, 440px);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.ae-template-item[b-xd1fetftf0] {
  width: 100%;
  border: 0;
  background: transparent;
  color: var(--color-text);
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px;
  text-align: left;
  font: inherit;
  cursor: pointer;
  border-bottom: var(--hairline-width) solid var(--color-separator);
  transition: background 0.15s;
}
.ae-template-item:last-of-type[b-xd1fetftf0] { border-bottom: none; }
.ae-template-item:hover[b-xd1fetftf0] { background: var(--surface-2); }
.ae-tmpl-info[b-xd1fetftf0] {
  min-width: 0;
  flex: 1;
  display: grid;
  gap: 2px;
}
.ae-tmpl-name[b-xd1fetftf0] {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 850;
}
.ae-tmpl-meta[b-xd1fetftf0] {
  color: var(--color-text-muted);
  font-size: 0.8rem;
  font-weight: 700;
}
.ae-tmpl-mgmt[b-xd1fetftf0] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 12px;
  color: var(--color-primary);
  font-weight: 850;
  text-decoration: none;
  border-top: var(--hairline-width) solid var(--color-separator);
}
.ae-cat-picker-block[b-xd1fetftf0] { margin-bottom: 4px; }
.ae-cat-picker-block-spaced[b-xd1fetftf0] { margin-top: 4px; }
.ae-cat-picker-actions[b-xd1fetftf0] {
  display: flex;
  justify-content: flex-end;
  gap: 4px;
  padding: 0 4px 4px;
}
.ae-tmpl-icon[b-xd1fetftf0] { font-size: 1.4rem; width: 36px; text-align: center; flex-shrink: 0; }
.ae-tmpl-mgmt[b-xd1fetftf0] { font-size: 0.86rem; }
.ae-tmpl-mgmt:hover[b-xd1fetftf0] { color: var(--color-primary); }

/* Account picker rows */
.ae-acct-row[b-xd1fetftf0] {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 12px;
  cursor: pointer;
  border: none;
  border-bottom: var(--hairline-width) solid var(--color-separator);
  background: transparent;
  color: var(--color-text);
  font: inherit;
  text-align: left;
}
.ae-acct-row:last-child[b-xd1fetftf0] { border-bottom: none; }
.ae-acct-row:hover[b-xd1fetftf0] { background: var(--surface-2); }
.ae-acct-row.picked[b-xd1fetftf0] { color: var(--color-primary); }
.ae-acct-bal[b-xd1fetftf0] { font-size: 0.85rem; color: var(--color-text-muted); }
.ae-acct-row.picked .ae-acct-bal[b-xd1fetftf0] { color: var(--color-primary); }

/* Account group header */
.ae-acct-group-header[b-xd1fetftf0] {
  padding: 6px 12px 4px;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  background: var(--color-bg);
  border-bottom: var(--hairline-width) solid var(--color-separator);
  position: sticky;
  top: 52px;
  z-index: 1;
}

/* Advanced settings modal */
.ae-adv-modal-sheet[b-xd1fetftf0] {
  max-height: 88vh !important;
  overflow-y: auto;
}
.ae-adv-tabs[b-xd1fetftf0] {
  display: flex;
  border-bottom: var(--hairline-width) solid var(--color-separator);
}
.ae-adv-tab[b-xd1fetftf0] {
  flex: 1;
  padding: 8px;
  background: transparent;
  border: none;
  color: var(--color-text-muted);
  font-size: 0.85rem;
  cursor: pointer;
}
.ae-adv-tab.active[b-xd1fetftf0] {
  color: var(--color-primary);
  border-bottom: 2px solid var(--color-primary);
}
.ae-adv-body[b-xd1fetftf0] { padding: 10px; display: flex; flex-direction: column; gap: 8px; }
.ae-adv-body.ae-sheet-form-body[b-xd1fetftf0] { padding: 16px; }
.ae-adv-row[b-xd1fetftf0] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.ae-adv-row-spaced[b-xd1fetftf0] { margin-top: 8px; }
.ae-adv-row-compact[b-xd1fetftf0] { margin-top: 6px; }
.ae-adv-row-inline-pad[b-xd1fetftf0] { padding: 0 2px; }
.ae-adv-row-content[b-xd1fetftf0] {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 8px;
}
.ae-adv-row label[b-xd1fetftf0] {
  font-size: 0.82rem;
  color: var(--color-text-muted);
  min-width: 70px;
  flex-shrink: 0;
}
.ae-adv-label-wide[b-xd1fetftf0] { min-width: 100px !important; }
.ae-adv-label-narrow[b-xd1fetftf0] { min-width: 60px !important; }
.adv-input[b-xd1fetftf0] {
  flex: 1;
  background: var(--surface-2);
  border: var(--hairline-width) solid var(--color-separator);
  border-radius: 6px;
  padding: 6px 8px;
  color: var(--color-text);
  font-size: 0.9rem;
  font-family: inherit;
}
.adv-num[b-xd1fetftf0] { max-width: 100px; }
.adv-readonly[b-xd1fetftf0] {
  flex: 1;
  font-size: 0.9rem;
  color: var(--color-primary);
  font-weight: 600;
}
.ae-button-auto-mini[b-xd1fetftf0] {
  height: 24px;
  padding: 0 8px;
  font-size: 10px;
}
.ae-fx-preview-inline[b-xd1fetftf0] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.ae-transfer-fx-card[b-xd1fetftf0] { padding: 14px 16px; }
.ae-unit-text-strong[b-xd1fetftf0] {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--color-primary);
}
.ae-muted-text-xs[b-xd1fetftf0] {
  font-size: 0.8rem;
  color: var(--color-text-muted);
}
.ae-muted-text-sm[b-xd1fetftf0] {
  font-size: 0.85rem;
  color: var(--color-text-muted);
}

/* Currency picker */
.ae-currency-panel[b-xd1fetftf0] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
  padding: 8px;
  border-radius: 12px;
  background: var(--color-surface);
  border: var(--hairline-width) solid var(--color-separator);
}
.ae-currency-item[b-xd1fetftf0] {
  padding: 5px 12px;
  border-radius: 6px;
  background: var(--surface-2);
  border: var(--hairline-width) solid var(--color-separator);
  color: var(--color-text);
  font-size: 0.82rem;
  cursor: pointer;
}
.ae-currency-sheet-grid[b-xd1fetftf0] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 14px;
}
.ae-currency-sheet-item[b-xd1fetftf0] {
  flex: 0 0 auto;
  min-width: 70px;
  padding: 10px 14px;
  font-size: 0.9rem;
}
.ae-currency-item.picked[b-xd1fetftf0] {
  background: var(--accent-soft-12);
  border-color: var(--color-primary);
  color: var(--color-primary);
  font-weight: 600;
}

/* Category Icon Grid */
.ios-icon-grid[b-xd1fetftf0] {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 4px;
  padding: 12px;
}
.ios-icon-item[b-xd1fetftf0] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 4px 1px;
  border-radius: 10px;
  transition: background 0.15s;
  -webkit-tap-highlight-color: transparent;
}
.ios-icon-item:active[b-xd1fetftf0] { background: var(--surface-2); }
.ios-icon-box[b-xd1fetftf0] {
  width: 46px;
  height: 46px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  transition: box-shadow 0.15s, transform 0.15s;
}
.ios-icon-box.picked[b-xd1fetftf0] { transform: scale(1.08); }
.ios-icon-box-muted[b-xd1fetftf0] {
  background: var(--color-text-muted);
}
.ae-suggest-cat-item[b-xd1fetftf0] {
  border: 1px solid var(--accent-border-50);
  background: var(--accent-soft-08);
}
.ae-suggest-cat-box[b-xd1fetftf0] {
  box-shadow: 0 0 0 2px var(--accent-soft-20);
}
.ios-icon-item.add-new .ios-icon-box[b-xd1fetftf0] {
  background: var(--color-text-muted);
  color: var(--color-surface);
  font-weight: 700;
  font-size: 26px;
}
.ios-icon-label[b-xd1fetftf0] {
  font-size: 0.78rem;
  color: var(--color-text);
  text-align: center;
  line-height: 1.25;
  max-width: 72px;
  font-weight: 650;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

[data-theme="midnight"] .ios-icon-label[b-xd1fetftf0],
[data-theme="pitch-black"] .ios-icon-label[b-xd1fetftf0] {
  color: color-mix(in srgb, var(--color-text) 88%, white 12%);
}

/* Inline category grid */
.ae-cat-inline-grid[b-xd1fetftf0] {
  max-height: 220px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-y: none;
}
@media (max-width: 768px) {
  .ae-cat-inline-grid[b-xd1fetftf0] { max-height: 170px; }
}
.ae-cat-inline-grid .ios-icon-grid[b-xd1fetftf0] { padding: 8px; }

/* ios-icon-btn (back/close button in category grids) */
.ios-icon-btn[b-xd1fetftf0] {
  background: transparent;
  border: none;
  cursor: pointer;
  font-size: 1.2rem;
  padding: 2px 6px;
  border-radius: 6px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  -webkit-tap-highlight-color: transparent;
}
.ios-icon-btn:active[b-xd1fetftf0] { background: var(--surface-2); }

/* Multi-Category Chips */
.ae-multi-cat-container[b-xd1fetftf0] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 4px 0 8px;
  align-items: flex-start;
}
.ae-multi-cat-chip[b-xd1fetftf0] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  min-width: 68px;
  max-width: 80px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
  position: relative;
}
.ae-multi-cat-icon[b-xd1fetftf0] {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  flex-shrink: 0;
  color: var(--color-surface);
  transition: transform 0.15s, box-shadow 0.15s;
}
.ae-multi-cat-icon:active[b-xd1fetftf0] { transform: scale(0.95); }
.ae-multi-cat-icon-lead[b-xd1fetftf0] {
  background: linear-gradient(135deg, var(--color-primary), var(--color-indigo));
  box-shadow: 0 2px 8px var(--accent-border-50);
}
.ae-multi-cat-icon-add[b-xd1fetftf0] {
  background: var(--color-fill);
  color: var(--color-text-muted);
  font-size: 24px;
  font-weight: 700;
}
.ae-multi-cat-name[b-xd1fetftf0] {
  font-size: 0.7rem;
  color: var(--color-text-secondary);
  text-align: center;
  line-height: 1.2;
  max-width: 72px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ae-multi-cat-amount[b-xd1fetftf0] {
  font-size: 0.72rem;
  color: var(--color-text-muted);
  font-weight: 500;
  text-align: center;
}
.ae-multi-cat-amount-total[b-xd1fetftf0] {
  color: var(--color-primary);
  font-weight: 700;
  font-size: 0.78rem;
}
.ae-multi-cat-amt-input[b-xd1fetftf0] {
  width: 60px;
  text-align: center;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--color-text);
  background: var(--surface-2);
  border: var(--hairline-width) solid var(--color-separator);
  border-radius: 6px;
  padding: 2px 4px;
  outline: none;
  font-family: inherit;
}
.ae-multi-cat-amt-input:focus[b-xd1fetftf0] {
  border-color: var(--color-primary);
  background: var(--color-surface);
}
.ae-multi-cat-acct[b-xd1fetftf0] {
  font-size: 0.6rem;
  color: var(--color-separator);
  text-align: center;
  max-width: 68px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ae-multi-cat-lead[b-xd1fetftf0] { position: relative; }
.ae-multi-cat-add[b-xd1fetftf0] { opacity: 0.7; transition: opacity 0.15s; }
.ae-multi-cat-add:hover[b-xd1fetftf0] { opacity: 1; }
.ae-multi-cat-chip-selected .ae-multi-cat-icon[b-xd1fetftf0] {
  box-shadow: 0 0 0 3px var(--color-primary), var(--primary-shadow-20);
}
.ae-multi-cat-acct-selector[b-xd1fetftf0] {
  border-radius: 12px;
  background: var(--color-surface);
  border: var(--hairline-width) solid var(--color-separator);
  padding: 10px;
}
.ae-multi-cat-acct-row[b-xd1fetftf0] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 0;
  border-bottom: var(--hairline-width) solid var(--color-separator);
}
.ae-multi-cat-acct-row:last-child[b-xd1fetftf0] { border-bottom: none; }
.ae-multi-cat-acct-label[b-xd1fetftf0] {
  font-size: 0.82rem;
  color: var(--color-text-secondary);
  min-width: 70px;
  flex-shrink: 0;
}

/* Modal backdrop */
.ae-modal-backdrop[b-xd1fetftf0] {
  position: fixed;
  inset: 0;
  z-index: 300;
  background: var(--modal-backdrop-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}

/* Pull-to-Complete Indicator */
.ptc-indicator[b-xd1fetftf0] {
  position: relative;
  left: 0;
  right: 0;
  height: 3px;
  flex-shrink: 0;
  z-index: 10;
  opacity: 0;
  pointer-events: none;
}
.ptc-bar[b-xd1fetftf0] {
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, var(--ui-success), var(--ui-success));
  border-radius: 0 2px 2px 0;
}
.ptc-triggered .ptc-bar[b-xd1fetftf0] {
  background: linear-gradient(90deg, var(--ui-success), var(--ui-success));
  box-shadow: var(--income-shadow-40);
}
.ptc-running .ptc-bar[b-xd1fetftf0] {
  width: 100% !important;
  animation: ptc-indeterminate-b-xd1fetftf0 1.2s ease-in-out infinite;
}
@keyframes ptc-indeterminate-b-xd1fetftf0 {
  0%   { transform: translateX(-100%); width: 40% !important; }
  50%  { transform: translateX(60%);   width: 60% !important; }
  100% { transform: translateX(200%);  width: 40% !important; }
}

/* Continuous Recording Toast */
.ae-continue-toast[b-xd1fetftf0] {
  position: fixed;
  top: 60px;
  left: 50%;
  transform: translateX(-50%) translateY(-20px);
  background: var(--income-strong-95);
  color: var(--color-surface);
  padding: 8px 20px;
  border-radius: 20px;
  font-size: 0.85rem;
  font-weight: 600;
  z-index: 400;
  opacity: 0;
  transition: opacity 0.3s ease, transform 0.3s ease;
  pointer-events: none;
  box-shadow: var(--income-shadow-30);
}
.ae-continue-toast.show[b-xd1fetftf0] {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* Picker Sheet Modal */
.ae-picker-sheet[b-xd1fetftf0] {
  background: var(--color-surface);
  border-radius: 16px 16px 16px 16px;
  width: 90vw;
  max-width: 420px;
  max-height: 75vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  box-shadow: var(--shadow-md);
}
.ae-picker-sheet-title[b-xd1fetftf0] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  border-bottom: var(--hairline-width) solid var(--color-separator);
  font-weight: 700;
  font-size: 1rem;
  color: var(--color-text);
  position: sticky;
  top: 0;
  background: var(--color-surface);
  z-index: 1;
}
.ae-picker-title-inline[b-xd1fetftf0] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.ae-picker-unit-text[b-xd1fetftf0] {
  font-size: 0.82rem;
  color: var(--color-text-muted);
}
.ae-fx-preview-warning[b-xd1fetftf0] { color: var(--color-warning); }
.ae-fx-preview-spaced[b-xd1fetftf0] { margin-top: 6px; }

/* Date/Time buttons in pickers */
.ae-dt-btn[b-xd1fetftf0] {
  background: var(--color-surface);
  border: var(--hairline-width) solid var(--color-separator);
  border-radius: 8px;
  padding: 8px 14px;
  color: var(--color-text);
  font-size: 0.9rem;
  font-family: inherit;
  cursor: pointer;
  text-align: center;
  -webkit-tap-highlight-color: transparent;
  transition: background 0.15s;
  min-height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ae-dt-btn:active[b-xd1fetftf0] { background: var(--surface-2); }
.ae-dt-btn-full[b-xd1fetftf0] { width: 100%; font-size: 0.95rem; }
.ae-dt-btn-half[b-xd1fetftf0] { flex: 1; font-size: 0.92rem; }
.ae-dt-btn-sm[b-xd1fetftf0] { font-size: 0.82rem; padding: 5px 10px; }

/* Date/Time picker internals */
.ae-dt-picker-body[b-xd1fetftf0] {
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.ae-dt-picker-row[b-xd1fetftf0] {
  display: flex;
  gap: 8px;
  justify-content: center;
}
.ae-dt-select[b-xd1fetftf0] {
  flex: 1;
  padding: 10px 8px;
  border-radius: 10px;
  border: var(--hairline-width) solid var(--color-separator);
  background: var(--color-bg);
  color: var(--color-text);
  font-size: 0.9rem;
  font-family: inherit;
  text-align: center;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}
.ae-dt-select:focus[b-xd1fetftf0] { outline: none; border-color: var(--color-primary); }
.ae-dt-picker-actions[b-xd1fetftf0] {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  padding-top: 4px;
}
.ae-dt-picker-actions-spaced[b-xd1fetftf0] { margin-top: 12px; }
.ae-dt-section-label[b-xd1fetftf0] {
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 0 4px 4px;
}

/* Drum (wheel) spinner */
.ae-drum-wrap[b-xd1fetftf0] {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  user-select: none;
}
.ae-drum[b-xd1fetftf0] {
  display: flex;
  flex-direction: column;
  align-items: center;
  border-radius: 10px;
  border: var(--hairline-width) solid var(--color-separator);
  background: var(--color-bg);
  overflow: hidden;
  cursor: ns-resize;
  touch-action: none;
}
.ae-drum-above[b-xd1fetftf0],
.ae-drum-below[b-xd1fetftf0] {
  padding: 6px 4px;
  font-size: 0.8rem;
  color: var(--color-text-muted);
  text-align: center;
  width: 100%;
  line-height: 1.3;
  background: var(--color-bg);
}
.ae-drum-center[b-xd1fetftf0] {
  padding: 10px 4px;
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-text);
  text-align: center;
  width: 100%;
  line-height: 1.2;
  background: var(--color-surface);
  border-top: var(--hairline-width) solid var(--color-separator);
  border-bottom: var(--hairline-width) solid var(--color-separator);
}
.ae-drum:active .ae-drum-center[b-xd1fetftf0] { background: var(--color-fill); }
.ae-drum-input[b-xd1fetftf0] {
  width: 100%;
  text-align: center;
  border: 2px solid var(--color-primary);
  border-radius: 10px;
  padding: 12px 4px;
  font-size: 1rem;
  font-weight: 700;
  font-family: inherit;
  background: var(--color-surface);
  color: var(--color-text);
  -moz-appearance: textfield;
}
.ae-drum-input[b-xd1fetftf0]::-webkit-inner-spin-button,
.ae-drum-input[b-xd1fetftf0]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.ae-drum-input:focus[b-xd1fetftf0] { outline: none; }

/* Validation Bubble */
.ae-validation-bubble[b-xd1fetftf0] {
  position: fixed;
  top: 72px;
  left: 50%;
  transform: translateX(-50%) translateY(-16px);
  background: var(--expense-strong-92);
  color: var(--color-surface);
  padding: 8px 18px;
  border-radius: 20px;
  font-size: 0.84rem;
  font-weight: 600;
  z-index: 410;
  opacity: 0;
  transition: opacity 0.25s ease, transform 0.25s ease;
  pointer-events: none;
  box-shadow: var(--expense-shadow-35);
  white-space: nowrap;
}
.ae-validation-bubble.show[b-xd1fetftf0] {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* Today / Now button in picker headers */
.ae-dialog-btn-today[b-xd1fetftf0] {
  background: var(--accent-soft-12);
  border: var(--hairline-width) solid var(--accent-border-40);
  border-radius: 14px;
  color: var(--color-primary);
  font-size: 0.82rem;
  font-weight: 600;
  padding: 4px 12px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.ae-dialog-btn-today:active[b-xd1fetftf0] { background: var(--accent-soft-20); }

/* Keyboard mode header */
.ae-picker-kbd-header[b-xd1fetftf0] {
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  color: var(--color-text);
  font-variant-numeric: tabular-nums;
}

/* Calendar date picker modal */
.ae-cal-picker-sheet[b-xd1fetftf0] { max-height: 88vh; }
.ae-cal-picker-nav[b-xd1fetftf0] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 16px 4px;
  border-bottom: var(--hairline-width) solid var(--color-separator);
}
.ae-cal-picker-title[b-xd1fetftf0] {
  font-weight: 700;
  font-size: 1rem;
  color: var(--color-text);
}
.ae-cal-picker-grid[b-xd1fetftf0] {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 2px;
  padding: 8px 12px;
}

/* Keyboard numpad */
.ae-kbd-body[b-xd1fetftf0] {
  padding: 12px 16px 4px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.ae-kbd-display[b-xd1fetftf0] {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.25em;
  color: var(--color-text);
  font-variant-numeric: tabular-nums;
  padding: 8px 20px;
  background: var(--color-bg);
  border-radius: 12px;
  min-width: 160px;
  text-align: center;
}
.ae-numpad[b-xd1fetftf0] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  width: 100%;
  max-width: 280px;
  margin: 0 auto;
}
.ae-numpad-btn[b-xd1fetftf0] {
  background: var(--color-surface);
  border: var(--hairline-width) solid var(--color-separator);
  border-radius: 12px;
  padding: 14px 8px;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--color-text);
  cursor: pointer;
  text-align: center;
  -webkit-tap-highlight-color: transparent;
  transition: background 0.12s;
}
.ae-numpad-btn:active[b-xd1fetftf0] { background: var(--color-fill); }
.ae-numpad-del[b-xd1fetftf0] {
  background: var(--danger-soft-12);
  color: var(--ui-danger);
}
.ae-kbd-error[b-xd1fetftf0] {
  font-size: 0.78rem;
  color: var(--ui-danger);
  text-align: center;
  font-weight: 600;
}

/* Time picker modal */
.ae-time-picker-sheet[b-xd1fetftf0] { max-height: 75vh; }
.ae-time-drum-container[b-xd1fetftf0] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 16px;
  user-select: none;
}
.ae-time-drum-wrap[b-xd1fetftf0] {
  flex: 1;
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  border: var(--hairline-width) solid var(--color-separator);
  background: var(--color-bg);
  max-width: 120px;
}
.ae-time-drum-scroll[b-xd1fetftf0] {
  display: flex;
  flex-direction: column;
}
.ae-time-drum-item[b-xd1fetftf0] {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  font-size: 0.95rem;
  color: var(--color-text-muted);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: color 0.15s;
}
.ae-time-drum-center[b-xd1fetftf0] {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--color-text);
  background: var(--color-surface);
  border-top: var(--hairline-width) solid var(--color-separator);
  border-bottom: var(--hairline-width) solid var(--color-separator);
}
.ae-time-drum-sep[b-xd1fetftf0] {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--color-text-secondary);
  padding: 0 4px;
}
.ae-time-drum-fade[b-xd1fetftf0] {
  position: absolute;
  left: 0;
  right: 0;
  height: 44px;
  pointer-events: none;
  z-index: 1;
}
.ae-time-drum-fade-top[b-xd1fetftf0] {
  top: 0;
  background: linear-gradient(to bottom, var(--color-bg), transparent);
}
.ae-time-drum-fade-bottom[b-xd1fetftf0] {
  bottom: 0;
  background: linear-gradient(to top, var(--color-bg), transparent);
}

/* Calendar day cells */
.txh-arrow[b-xd1fetftf0] {
  background: transparent;
  border: none;
  color: var(--color-primary);
  font-size: 1.4rem;
  cursor: pointer;
  padding: 4px 10px;
  border-radius: 8px;
  -webkit-tap-highlight-color: transparent;
}
.txh-arrow:active[b-xd1fetftf0] { background: var(--accent-soft-12); }

.txh-cal-hdr[b-xd1fetftf0] {
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--color-text-muted);
  text-align: center;
  padding: 4px 0;
}
.txh-cal-hdr.sunday[b-xd1fetftf0] { color: var(--ui-danger); }
.txh-cal-hdr.saturday[b-xd1fetftf0] { color: var(--color-primary); }

.txh-cal-day[b-xd1fetftf0] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 4px 2px;
  border: none;
  background: transparent;
  border-radius: 8px;
  cursor: pointer;
  min-height: 36px;
  -webkit-tap-highlight-color: transparent;
  transition: background 0.12s;
}
.txh-cal-day:active[b-xd1fetftf0] { background: var(--surface-2); }
.txh-cal-day.active .txh-num[b-xd1fetftf0] {
  background: transparent;
  color: var(--color-primary);
  border: 1px solid var(--color-primary);
  border-radius: 50%;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.txh-cal-day.today .txh-num[b-xd1fetftf0] { color: var(--color-primary); font-weight: 700; }
.txh-cal-day.other-month[b-xd1fetftf0] { opacity: 0.3; }
.txh-cal-day.is-sun .txh-num[b-xd1fetftf0] { color: var(--ui-danger); }
.txh-cal-day.is-sat .txh-num[b-xd1fetftf0] { color: var(--color-primary); }
.txh-cal-day.active .txh-num[b-xd1fetftf0] { color: var(--color-primary) !important; }
.txh-num[b-xd1fetftf0] {
  font-size: 0.88rem;
  font-weight: 500;
  line-height: 1;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Category selector styles (for ae-cat-sel-*) */
.ae-cat-sel-icon[b-xd1fetftf0] {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
}
.ae-cat-sel-name[b-xd1fetftf0] {
  flex: 1;
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--color-text);
}
.ae-cat-sel-parent[b-xd1fetftf0] {
  font-size: 0.75rem;
  color: var(--color-text-muted);
  font-weight: 500;
}
.ae-cat-sel-sep[b-xd1fetftf0] {
  font-size: 0.75rem;
  color: var(--color-separator);
}
.ae-cat-sel-chevron[b-xd1fetftf0] {
  color: var(--color-separator);
  font-size: 1.1rem;
}

@media(min-width:900px) {
  .ae-addtx[b-xd1fetftf0] { background: transparent; color: initial; }
}
/* /Pages/Authentication.razor.rz.scp.css */
.ae-auth-status[b-p5e39wmzsr] {
    text-align: center;
    padding: 3rem 1.5rem;
}

.ae-auth-spinner[b-p5e39wmzsr] {
    width: 28px;
    height: 28px;
    border: 3px solid rgba(0, 122, 255, 0.2);
    border-top-color: var(--ios-blue, #007AFF);
    border-radius: 50%;
    animation: ae-auth-spin-b-p5e39wmzsr 0.75s linear infinite;
    margin: 0 auto 1rem;
}

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

.ae-auth-msg[b-p5e39wmzsr] {
    color: var(--ios-text, #1c1c1e);
    font-size: 1rem;
}

.ae-auth-hint[b-p5e39wmzsr] {
    color: var(--ios-gray, #8e8e93);
    font-size: 0.85rem;
    margin-top: 1rem;
    line-height: 1.5;
}

.ae-auth-btn[b-p5e39wmzsr] {
    display: block;
    width: 100%;
    max-width: 260px;
    margin: 0.5rem auto 0;
}
/* /Pages/BalanceAdjustmentModal.razor.rz.scp.css */
:root[b-wdilte76n6] {
    --aey-radius: 16px;
}

.balance-sheet-backdrop[b-wdilte76n6] {
    position: fixed;
    inset: 0;
    background: var(--modal-backdrop-bg);
    z-index: 1200;
}

.balance-sheet[b-wdilte76n6] {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1201;
    min-height: 92vh;
    background: var(--color-bg);
    border-radius: 28px 28px 0 0;
    box-shadow: var(--shadow-lg);
    animation: balance-sheet-up-b-wdilte76n6 0.22s ease-out;
    display: flex;
    flex-direction: column;
}

.balance-sheet.closing[b-wdilte76n6] {
    animation: balance-sheet-down-b-wdilte76n6 0.18s ease-in forwards;
}

.balance-sheet-grabber[b-wdilte76n6] {
    width: 44px;
    height: 5px;
    border-radius: 999px;
    background: var(--color-separator);
    margin: 10px auto 0;
}

.balance-sheet-header[b-wdilte76n6] {
    position: sticky;
    top: 0;
    z-index: 2;
    display: grid;
    grid-template-columns: 44px 1fr 44px;
    align-items: center;
    padding: 12px 16px 8px;
    background: var(--color-bg);
}

.balance-sheet-title[b-wdilte76n6] {
    text-align: center;
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--color-text);
}

.balance-sheet-icon-btn[b-wdilte76n6] {
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 50%;
    background: var(--color-surface);
    color: var(--color-text);
    font-size: 1rem;
    box-shadow: var(--shadow-sm);
}

.balance-sheet-save-btn[b-wdilte76n6] {
    color: var(--color-primary);
    font-weight: 800;
}

.balance-sheet-body[b-wdilte76n6] {
    flex: 1;
    overflow-y: auto;
    padding: 8px 16px 24px;
}

.balance-sheet-error[b-wdilte76n6] {
    margin-bottom: 12px;
    padding: 10px 12px;
    border-radius: 12px;
    background: var(--danger-soft-12);
    color: var(--ui-danger);
    font-size: 0.88rem;
}

.balance-sheet-hero[b-wdilte76n6] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 12px 0 18px;
}

.balance-account-logo[b-wdilte76n6] {
    width: 80px;
    height: 80px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-surface);
    box-shadow: var(--shadow-md);
}

.balance-account-name[b-wdilte76n6] {
    margin-top: 12px;
    font-size: 1rem;
    font-weight: 700;
    color: var(--color-text);
}

.balance-card[b-wdilte76n6],
.balance-notes-card[b-wdilte76n6] {
    background: var(--color-surface);
    border-radius: var(--aey-radius);
    box-shadow: var(--shadow-sm);
}

.balance-card[b-wdilte76n6] {
    overflow: hidden;
}

.balance-row[b-wdilte76n6],
.balance-row-group[b-wdilte76n6] {
    position: relative;
}

.balance-row[b-wdilte76n6] {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px;
    border: none;
    background: transparent;
    text-align: left;
}

.balance-row-input[b-wdilte76n6] {
    cursor: text;
}

.balance-row[b-wdilte76n6]::after,
.balance-row-group[b-wdilte76n6]::after {
    content: "";
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 0;
    height: 1px;
    background: var(--color-separator);
}

.balance-card > :last-child[b-wdilte76n6]::after {
    display: none;
}

.balance-row-group[b-wdilte76n6] {
    display: flex;
}

.balance-row.half[b-wdilte76n6] {
    flex: 1;
}

.balance-row.half[b-wdilte76n6]::after {
    display: none;
}

.balance-row-label[b-wdilte76n6] {
    font-size: 0.92rem;
    color: var(--color-text-muted);
    white-space: nowrap;
}

.balance-row-value[b-wdilte76n6],
.balance-row-input-wrap[b-wdilte76n6] {
    text-align: right;
    color: var(--color-text);
    font-weight: 600;
}

.balance-row-input-wrap[b-wdilte76n6] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    min-width: 0;
}

.balance-amount-input[b-wdilte76n6],
.balance-inline-input[b-wdilte76n6],
.balance-notes-input[b-wdilte76n6] {
    border: none;
    outline: none;
    background: transparent;
    font: inherit;
    color: var(--color-text);
}

.balance-amount-input[b-wdilte76n6] {
    width: 160px;
    text-align: right;
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: -0.03em;
}

.balance-amount-kbd[b-wdilte76n6] {
    cursor: pointer;
    caret-color: transparent;
}

.balance-inline-input[b-wdilte76n6] {
    width: 100%;
    text-align: right;
    font-size: 0.95rem;
}

.balance-row-delta[b-wdilte76n6] {
    margin-top: 4px;
    font-size: 0.76rem;
    font-weight: 700;
}

.balance-notes-card[b-wdilte76n6] {
    margin-top: 12px;
    padding: 14px 16px;
}

.balance-notes-label[b-wdilte76n6] {
    display: block;
    margin-bottom: 8px;
    font-size: 0.92rem;
    color: var(--color-text-muted);
}

.balance-notes-input[b-wdilte76n6] {
    width: 100%;
    min-height: 96px;
    resize: vertical;
    line-height: 1.45;
}

.is-positive[b-wdilte76n6] {
    color: var(--amount-income);
}

.is-negative[b-wdilte76n6] {
    color: var(--amount-expense);
}

@keyframes balance-sheet-up-b-wdilte76n6 {
    from { transform: translateY(100%); }
    to { transform: translateY(0); }
}

@keyframes balance-sheet-down-b-wdilte76n6 {
    from { transform: translateY(0); }
    to { transform: translateY(100%); }
}
/* /Pages/BookkeepingModeEdit.razor.rz.scp.css */
.bme-container[b-nome0o27gf] { padding: 0 0 80px; color: var(--ios-label); max-width: 600px; margin: 0 auto; }
    .bme-save-icon[b-nome0o27gf] { color: var(--color-primary); }
    .bme-save-icon:disabled[b-nome0o27gf] { opacity: 0.5; cursor: not-allowed; }
    .bme-spinner[b-nome0o27gf] {
        display: inline-block;
        width: 0.95rem;
        height: 0.95rem;
        border: 2px solid currentColor;
        border-right-color: transparent;
        border-radius: 999px;
        animation: bme-spin-b-nome0o27gf 0.65s linear infinite;
    }
    @keyframes bme-spin-b-nome0o27gf { to { transform: rotate(360deg); } }

    .bme-section[b-nome0o27gf] {
        margin: 16px;
        background: var(--color-surface);
        border-radius: 16px;
        padding: 16px;
        box-shadow: var(--shadow-xs);
    }
    .bme-section-title[b-nome0o27gf] { font-weight: 700; font-size: 0.95rem; margin-bottom: 4px; color: var(--color-text); }
    .bme-hint-text[b-nome0o27gf] { font-size: 0.78rem; color: var(--ios-gray); margin-bottom: 12px; }
    .bme-section-header[b-nome0o27gf] { display: flex; justify-content: space-between; align-items: flex-start; }
    .bme-clear-btn[b-nome0o27gf] {
        background: none; border: none; color: var(--ui-danger);
        font-size: 0.8rem; cursor: pointer; font-weight: 600; padding: 2px 6px;
        border-radius: 8px; flex-shrink: 0;
    }

    .bme-loading[b-nome0o27gf] { padding: 40px; text-align: center; color: var(--ios-gray); }

    .bme-preview-row[b-nome0o27gf] {
        display: flex; align-items: center; gap: 12px; margin-bottom: 16px;
    }
    .bme-preview-icon[b-nome0o27gf] {
        width: 56px; height: 56px; border-radius: 16px;
        display: flex; align-items: center; justify-content: center;
        font-size: 1.8rem; flex-shrink: 0;
    }
    .bme-name-area[b-nome0o27gf] { flex: 1; }
    .bme-name-input[b-nome0o27gf] { width: 100%; box-sizing: border-box; font-size: 1rem; font-weight: 600; }

    .bme-field[b-nome0o27gf] { margin-top: 12px; }
    .bme-label[b-nome0o27gf] { display: block; font-size: 0.8rem; color: var(--ios-gray); font-weight: 600; margin-bottom: 6px; }

    .bme-check-list[b-nome0o27gf] { display: flex; flex-direction: column; gap: 4px; }
    .bme-check-item[b-nome0o27gf] {
        display: flex; align-items: center; gap: 10px;
        padding: 8px 6px; border-radius: 8px; cursor: pointer;
        transition: background 0.12s;
    }
    .bme-check-item:hover[b-nome0o27gf] { background: var(--surface-2); }
    .bme-check-item input[type=checkbox][b-nome0o27gf] { width: 18px; height: 18px; flex-shrink: 0; accent-color: var(--ios-blue); }
    .bme-check-label[b-nome0o27gf] { flex: 1; font-size: 0.9rem; }
    .bme-check-bal[b-nome0o27gf] { font-size: 0.78rem; color: var(--ios-gray); }

    .bme-check-group[b-nome0o27gf] { margin-bottom: 8px; }
    .bme-check-group-label[b-nome0o27gf] { font-size: 0.8rem; font-weight: 700; color: var(--ios-gray); padding: 6px 6px 2px; }
    .bme-check-sub[b-nome0o27gf] { padding-left: 24px; }

    .bme-error[b-nome0o27gf] {
        margin: 12px 16px; padding: 12px 16px;
        background: var(--danger-soft-10); border-radius: 12px;
        color: var(--ui-danger); font-size: 0.88rem; font-weight: 600;
    }
/* /Pages/BookkeepingModes.razor.rz.scp.css */
.bm-container[b-t0kgbxh343] {
    padding: 0 0 80px;
    color: var(--ios-label);
    max-width: 600px;
    margin: 0 auto;
}

.bm-subtitle[b-t0kgbxh343] {
    margin: 8px 16px 0;
    font-size: 0.82rem;
    color: var(--color-text-muted);
}

.bm-section-label[b-t0kgbxh343] {
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--color-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 16px 16px 6px;
}

.bm-list[b-t0kgbxh343] {
    padding: 0 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.bm-item[b-t0kgbxh343] {
    display: flex;
    align-items: center;
    gap: 12px;
    background: transparent;
    border-radius: 0;
    padding: 12px 14px;
    border: none;
    border-bottom: 0.5px solid var(--color-separator);
    cursor: pointer;
    text-align: left;
    width: 100%;
    transition: all 0.15s ease;
}

.bm-item:hover[b-t0kgbxh343] {
    transform: none;
    box-shadow: none;
    background: var(--surface-2);
}

.bm-item-active[b-t0kgbxh343] {
    border-bottom-color: var(--accent-border-40);
}

.bm-item-icon[b-t0kgbxh343] {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    flex-shrink: 0;
}

.bm-item-icon-standard[b-t0kgbxh343] {
    background: var(--surface-2);
    color: var(--color-text-secondary);
}

.bm-item-body[b-t0kgbxh343] {
    flex: 1;
    min-width: 0;
}

.bm-item-name[b-t0kgbxh343] {
    font-weight: 700;
    font-size: 0.95rem;
}

.bm-item-sub[b-t0kgbxh343] {
    font-size: 0.78rem;
    color: var(--color-text-muted);
    margin-top: 2px;
}

.bm-check[b-t0kgbxh343] {
    font-size: 1rem;
    font-weight: 700;
    color: var(--color-primary);
    flex-shrink: 0;
}

.bm-edit-btn[b-t0kgbxh343],
.bm-del-btn[b-t0kgbxh343] {
    background: none;
    border: none;
    font-size: 1rem;
    cursor: pointer;
    padding: 4px;
    border-radius: 8px;
    flex-shrink: 0;
    transition: background 0.15s;
}

.bm-edit-btn:hover[b-t0kgbxh343] {
    background: var(--accent-soft-12);
}

.bm-del-btn:hover[b-t0kgbxh343] {
    background: var(--danger-soft-10);
}

.bm-loading[b-t0kgbxh343] {
    padding: 40px;
    text-align: center;
    color: var(--color-text-muted);
}

.bm-empty[b-t0kgbxh343] {
    margin: 60px 16px;
    text-align: center;
    border-radius: 16px;
    padding: 32px;
}

.bm-empty-icon[b-t0kgbxh343] {
    font-size: 3rem;
    margin-bottom: 12px;
}

.bm-empty-title[b-t0kgbxh343] {
    font-weight: 700;
    font-size: 1.1rem;
}

.bm-empty-sub[b-t0kgbxh343] {
    font-size: 0.85rem;
    color: var(--color-text-muted);
    margin-top: 6px;
}

.bm-hint[b-t0kgbxh343] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 20px 16px 0;
    padding: 12px 14px;
    background: var(--accent-soft-08);
    border-radius: 12px;
    font-size: 0.82rem;
    color: var(--color-text-muted);
}

.bm-confirm-copy[b-t0kgbxh343] {
    margin: 0;
    font-size: 0.9rem;
    color: var(--color-text-secondary);
}
/* /Pages/Budgets.razor.rz.scp.css */
/* Stats grid */
.ae-budget-stats[b-jazex8g1pm] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}

.budget-header-actions[b-jazex8g1pm] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.budget-add-btn[b-jazex8g1pm] {
    display: inline-flex;
    align-items: center;
    gap: 0.32rem;
}

.budget-level-tabs[b-jazex8g1pm] {
    display: flex;
    gap: 0.5rem;
    margin: 1rem 0;
    flex-wrap: wrap;
}

.budget-level-btn[b-jazex8g1pm] {
    min-width: 72px;
}

.budget-panel-card[b-jazex8g1pm] {
    border-radius: 22px;
}

.budget-section-header[b-jazex8g1pm] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.budget-empty[b-jazex8g1pm] {
    padding-block: 1.5rem;
}

.budget-stat-card[b-jazex8g1pm] {
    min-height: 132px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border-radius: 20px;
}

@media (max-width: 640px) {
    .ae-budget-stats[b-jazex8g1pm] { grid-template-columns: repeat(2, 1fr); }
}

/* Budget rows */
.budget-row[b-jazex8g1pm] {
    padding: 0.85rem 0;
    border-bottom: var(--hairline-width) solid var(--color-separator);
}

.budget-row:last-child[b-jazex8g1pm] { border-bottom: none; }

.budget-card[b-jazex8g1pm] {
    margin-bottom: 0;
    padding: 0.9rem 0.95rem;
    border-radius: 18px;
    border: var(--hairline-width) solid color-mix(in srgb, var(--color-separator) 85%, transparent);
    background: linear-gradient(180deg, color-mix(in srgb, var(--color-surface) 94%, white), var(--color-surface));
}

.budget-row-over[b-jazex8g1pm] {
    background: var(--danger-soft-10);
    border-radius: 10px;
    padding: 0.85rem 0.75rem;
    margin: 0 -0.75rem;
    border-bottom: none;
    margin-bottom: 0.25rem;
}

/* Category icon */
.cat-icon-sm[b-jazex8g1pm] {
    width: 1.8rem;
    height: 1.8rem;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.95rem;
    flex-shrink: 0;
    color: var(--color-surface);
}

.budget-card-head[b-jazex8g1pm] {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 0.72rem;
}

.budget-card-icon[b-jazex8g1pm] {
    width: 32px;
    height: 32px;
    border-radius: 8px;
}

.budget-card-icon-neutral[b-jazex8g1pm] {
    background: var(--ios-fill);
}

.budget-card-main[b-jazex8g1pm] {
    flex: 1;
    min-width: 0;
}

.budget-card-title[b-jazex8g1pm] {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--color-text);
    line-height: 1.2;
}

.budget-card-amount[b-jazex8g1pm] {
    text-align: right;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.08rem;
}

.budget-card-amount-main[b-jazex8g1pm] {
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: var(--color-text);
}

.budget-card-amount-sub[b-jazex8g1pm] {
    font-size: 0.74rem;
    color: var(--color-text-muted);
    font-variant-numeric: tabular-nums;
}

.budget-edit-btn[b-jazex8g1pm] {
    height: 24px;
    padding: 0 8px;
    font-size: 11px;
}

.budget-progress[b-jazex8g1pm] {
    height: 6px;
}

.budget-sublist[b-jazex8g1pm] {
    margin-top: 0.7rem;
    padding-left: 0.6rem;
    border-left: 2px solid var(--ios-separator);
    display: flex;
    flex-direction: column;
    gap: 0.42rem;
}

.budget-subitem[b-jazex8g1pm] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 12px;
}

.budget-subitem-name[b-jazex8g1pm] {
    flex: 1;
    min-width: 0;
    color: var(--color-text-secondary);
}

.budget-subitem-value[b-jazex8g1pm] {
    color: var(--color-text-muted);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.budget-subitem-progress[b-jazex8g1pm] {
    width: 60px;
    height: 4px;
}

.budget-period-picker[b-jazex8g1pm] {
    width: auto;
    min-height: 32px;
    padding: 0 8px;
    font-size: 13px;
}

.budget-modal-body[b-jazex8g1pm] {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.budget-form-group[b-jazex8g1pm] {
    display: flex;
    flex-direction: column;
    gap: 0.42rem;
}

.budget-form-label[b-jazex8g1pm] {
    margin-bottom: 0;
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--color-text-secondary);
}

.budget-form-trigger[b-jazex8g1pm] {
    min-height: 44px;
}

.budget-modal-footer[b-jazex8g1pm] {
    display: flex;
    gap: 0.75rem;
    width: 100%;
}

.budget-spinner[b-jazex8g1pm] {
    display: inline-block;
    width: 0.9rem;
    height: 0.9rem;
    margin-right: 0.25rem;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 999px;
    vertical-align: -0.12em;
    animation: budget-spin-b-jazex8g1pm 0.65s linear infinite;
}

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

@media (max-width: 430px) {
    .ae-budget-stats[b-jazex8g1pm] {
        grid-template-columns: 1fr 1fr;
        gap: 0.6rem;
        margin-bottom: 1.1rem;
    }

    .budget-header-actions[b-jazex8g1pm] {
        width: 100%;
        justify-content: flex-start;
    }

    .budget-level-tabs[b-jazex8g1pm] {
        gap: 0.42rem;
        margin: 0.85rem 0;
    }

    .budget-level-btn[b-jazex8g1pm] {
        flex: 1;
        min-width: 0;
    }

    .budget-card[b-jazex8g1pm] {
        padding: 0.82rem 0.82rem 0.78rem;
    }

    .budget-stat-card[b-jazex8g1pm] {
        min-height: 120px;
    }

    .budget-card-head[b-jazex8g1pm] {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .budget-card-amount[b-jazex8g1pm] {
        width: 100%;
        align-items: flex-start;
        text-align: left;
    }

    .budget-edit-btn[b-jazex8g1pm] {
        margin-left: auto;
    }

    .budget-subitem[b-jazex8g1pm] {
        flex-wrap: wrap;
    }

    .budget-subitem-progress[b-jazex8g1pm] {
        width: 100%;
    }

    .budget-modal-footer[b-jazex8g1pm] {
        flex-direction: column;
    }
}

.budget-section-count[b-jazex8g1pm] {
    color: var(--ios-muted);
    font-size: 0.82rem;
    font-weight: 600;
}
/* /Pages/CategoryItem.razor.rz.scp.css */
.ae-cat-item[b-9h22t61pay] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 4px 14px;
    border-bottom: var(--hairline-width) solid var(--color-separator);
}

.ae-icon[b-9h22t61pay] {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-text);
    font-size: 1.1rem;
}

.ae-glyph[b-9h22t61pay] {
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.ae-body[b-9h22t61pay] { flex:1; }
.ae-name[b-9h22t61pay] { font-weight: 700; color: var(--color-text); }
.ae-sub[b-9h22t61pay] { font-size: 0.76rem; color: var(--color-text-secondary); opacity: 0.72; margin-top: 2px; }

.ae-tools[b-9h22t61pay] { display: flex; gap: 4px; align-items: center; }

.tool-chip[b-9h22t61pay] {
    border: none;
    background: transparent;
    border-radius: 6px;
    padding: 0;
    width: 30px;
    height: 30px;
    font-size: 0.78rem;
    font-weight: 600;
    cursor: pointer;
    color: var(--color-text-muted);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.tool-chip svg[b-9h22t61pay],
.tool-chip iconify-icon[b-9h22t61pay] {
    width: 15px;
    height: 15px;
}

.tool-chip .tool-label[b-9h22t61pay] {
    font-size: 0.7rem;
    line-height: 1;
}

.tool-chip iconify-icon[b-9h22t61pay] {
    width: 15px;
    height: 15px;
}

.tool-chip:active[b-9h22t61pay] {
    transform: scale(0.98);
}

.tool-chip.danger[b-9h22t61pay] {
    color: var(--ui-danger);
    border-color: var(--danger-soft-35);
    background: var(--danger-soft-10);
}

.ae-cat-item.hidden[b-9h22t61pay] {
    opacity: 0.55;
    border-bottom-style: dashed;
}
/* /Pages/CategoryManager.razor.rz.scp.css */
.cm-page[b-wh0l9tldn3] {
    min-height: 100vh;
    background: var(--color-bg);
    padding-bottom: calc(90px + env(safe-area-inset-bottom));
}

.cm-topbar[b-wh0l9tldn3] {
    position: sticky;
    top: var(--ae-topbar-sticky-top);
    z-index: 20;
    height: var(--ae-topbar-height);
    display: grid;
    grid-template-columns: 44px 1fr 44px;
    align-items: center;
    padding: 0 14px;
    background: var(--nav-glass-bg);
    backdrop-filter: saturate(180%) blur(16px);
    -webkit-backdrop-filter: saturate(180%) blur(16px);
    border-bottom: var(--hairline-width) solid var(--color-separator);
}

.cm-topbar-title[b-wh0l9tldn3] {
    text-align: center;
    font-size: 1rem;
    font-weight: 700;
    color: var(--color-text);
}

.cm-icon-btn[b-wh0l9tldn3] {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    border: none;
    background: transparent;
    font-size: 1.05rem;
    color: var(--color-text);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.cm-icon-btn:active[b-wh0l9tldn3] {
    background: var(--accent-soft-12);
}

.cm-icon-btn:disabled[b-wh0l9tldn3] {
    opacity: 0.35;
    cursor: not-allowed;
}

.cm-segment-wrap[b-wh0l9tldn3] {
    padding: 12px 16px 2px;
}

.cm-segmented[b-wh0l9tldn3] {
    border-radius: 999px;
    border: none;
    background: transparent;
    padding: 3px;
    display: flex;
    gap: 3px;
    justify-content: center;
    flex-wrap: wrap;
    overflow-x: visible;
}

.cm-seg[b-wh0l9tldn3] {
    border: none;
    background: transparent;
    border-radius: 999px;
    padding: 7px 13px;
    font-size: 0.8rem;
    font-weight: 600;
    white-space: nowrap;
    color: var(--color-text-secondary);
    cursor: pointer;
}

.cm-seg.active[b-wh0l9tldn3] {
    background: var(--color-surface);
    color: var(--color-text);
    box-shadow: var(--shadow-xs);
}

.cm-main[b-wh0l9tldn3] {
    padding: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}

.cm-card[b-wh0l9tldn3] {
    border-radius: 18px;
    overflow: hidden;
}

.cm-card-header[b-wh0l9tldn3] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 14px;
    border-bottom: var(--hairline-width) solid var(--color-separator);
}

.cm-card-title[b-wh0l9tldn3] {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--color-text);
}

.cm-card-sub[b-wh0l9tldn3] {
    margin-top: 2px;
    font-size: 0.74rem;
    color: var(--color-text);
    opacity: 0.72;
}

.cm-list[b-wh0l9tldn3] {
    max-height: none;
    overflow: visible;
}

.cm-main-item[b-wh0l9tldn3] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 4px 14px;
    border-bottom: var(--hairline-width) solid var(--color-separator);
    cursor: pointer;
}

.cm-main-item:last-child[b-wh0l9tldn3] {
    border-bottom: none;
}

.cm-main-item.picked[b-wh0l9tldn3] {
    background: var(--accent-soft-08);
}

.cm-main-icon[b-wh0l9tldn3] {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-surface);
    font-size: 1rem;
}

.cm-main-glyph[b-wh0l9tldn3] {
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.cm-main-meta[b-wh0l9tldn3] {
    flex: 1;
    min-width: 0;
}

.cm-main-name[b-wh0l9tldn3] {
    font-size: 0.92rem;
    font-weight: 700;
    color: var(--color-text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cm-main-sub[b-wh0l9tldn3] {
    margin-top: 2px;
    font-size: 0.74rem;
    color: var(--color-text);
    opacity: 0.72;
}

.cm-main-actions[b-wh0l9tldn3] {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-left: 6px;
}

.cm-main-act[b-wh0l9tldn3] {
    width: 28px;
    height: 28px;
    border: none;
    background: transparent;
    color: var(--color-text-muted);
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
}

.cm-main-act svg[b-wh0l9tldn3],
.cm-main-act iconify-icon[b-wh0l9tldn3] {
    width: 15px;
    height: 15px;
}

.cm-main-act:active[b-wh0l9tldn3] {
    background: var(--accent-soft-12);
}

.cm-main-act.danger[b-wh0l9tldn3] {
    color: var(--ui-danger);
}

.cm-main-drag-indicator[b-wh0l9tldn3] {
    cursor: grab;
    touch-action: none;
    -webkit-user-drag: none;
    user-select: none;
}

.cm-main-drag-indicator:active[b-wh0l9tldn3] {
    cursor: grabbing;
}

.cm-inline-sub-list[b-wh0l9tldn3] {
    padding: 0 14px 8px 14px;
    border-bottom: var(--hairline-width) solid var(--color-separator);
}

.cm-inline-empty[b-wh0l9tldn3] {
    padding: 6px 14px 10px;
    border-bottom: var(--hairline-width) solid var(--color-separator);
    font-size: 0.76rem;
    color: var(--color-text-muted);
}

.cm-inline-sub-item[b-wh0l9tldn3] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 0;
    border-bottom: var(--hairline-width) solid var(--color-separator);
}

.cm-inline-sub-item:last-child[b-wh0l9tldn3] {
    border-bottom: none;
}

.cm-inline-sub-left[b-wh0l9tldn3] {
    min-width: 0;
    flex: 1;
    display: flex;
    align-items: center;
    gap: 8px;
}

.cm-inline-sub-icon[b-wh0l9tldn3] {
    width: 24px;
    height: 24px;
    border-radius: 8px;
    color: var(--color-surface);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.cm-inline-sub-name[b-wh0l9tldn3] {
    font-size: 0.82rem;
    color: var(--color-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cm-inline-sub-actions[b-wh0l9tldn3] {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    margin-left: 6px;
}

.cm-detail-card[b-wh0l9tldn3] {
    padding-bottom: 12px;
}

.cm-detail-header[b-wh0l9tldn3] {
    border-bottom: none;
    padding-bottom: 10px;
}

.cm-action-chip[b-wh0l9tldn3] {
    border: none;
    border-radius: 999px;
    background: var(--color-primary);
    color: var(--color-surface);
    font-size: 0.78rem;
    font-weight: 700;
    padding: 7px 12px;
    cursor: pointer;
}

.cm-action-chip.secondary[b-wh0l9tldn3] {
    background: var(--surface-2);
    color: var(--color-text);
    border: var(--hairline-width) solid var(--color-separator);
}

.cm-action-chip:disabled[b-wh0l9tldn3] {
    opacity: 0.45;
    cursor: not-allowed;
}

.cm-sub-list[b-wh0l9tldn3] {
    padding: 0;
}

.cm-empty[b-wh0l9tldn3] {
    font-size: 0.86rem;
    color: var(--color-text-muted);
    padding: 16px 14px;
    text-align: center;
}

.cm-error-banner[b-wh0l9tldn3],
.cm-info-banner[b-wh0l9tldn3],
.cm-success-banner[b-wh0l9tldn3] {
    margin: 0 14px 10px;
    border-radius: 10px;
    padding: 8px 10px;
    font-size: 0.78rem;
}

.cm-error-banner[b-wh0l9tldn3] {
    color: var(--ui-danger);
    background: var(--danger-soft-10);
    border: var(--hairline-width) solid var(--danger-soft-35);
}

.cm-info-banner[b-wh0l9tldn3] {
    color: var(--color-primary);
    background: var(--accent-soft-08);
    border: var(--hairline-width) solid var(--accent-border-40);
}

.cm-success-banner[b-wh0l9tldn3] {
    color: var(--color-primary);
    background: var(--accent-soft-12);
    border: var(--hairline-width) solid var(--accent-border-40);
}

.cm-danger-check[b-wh0l9tldn3] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--ui-danger);
}

.cm-danger-check input[b-wh0l9tldn3] {
    width: 16px;
    height: 16px;
}

.cm-fixed-badge[b-wh0l9tldn3] {
    border-radius: 999px;
    background: var(--surface-2);
    color: var(--color-text-muted);
    font-size: 0.72rem;
    font-weight: 800;
    padding: 4px 8px;
    flex-shrink: 0;
}

.cm-rebuild-wrap[b-wh0l9tldn3] {
    margin-top: 4px;
    padding: 0 14px;
    display: flex;
    justify-content: center;
}

.cm-field[b-wh0l9tldn3] {
    margin-bottom: 12px;
}

.cm-field-confirm[b-wh0l9tldn3] {
    margin-top: 10px;
}

.cm-field label[b-wh0l9tldn3] {
    display: block;
    margin-bottom: 6px;
    font-size: 0.78rem;
    color: var(--color-text-muted);
    font-weight: 700;
}

.cm-emoji-grid[b-wh0l9tldn3] {
    margin-top: 8px;
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 6px;
}

.cm-svg-grid[b-wh0l9tldn3] {
    margin-top: 8px;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 6px;
}

.cm-icon-mode-row[b-wh0l9tldn3] {
    display: inline-flex;
    gap: 6px;
    margin-bottom: 8px;
}

.cm-icon-mode-btn[b-wh0l9tldn3] {
    border: var(--hairline-width) solid var(--color-separator);
    border-radius: 999px;
    background: var(--color-surface);
    color: var(--color-text-secondary);
    font-size: 0.74rem;
    font-weight: 700;
    padding: 5px 12px;
    cursor: pointer;
}

.cm-icon-mode-btn.active[b-wh0l9tldn3] {
    border-color: var(--color-primary);
    color: var(--color-primary);
    background: var(--accent-soft-08);
}

.cm-emoji-btn[b-wh0l9tldn3] {
    border: var(--hairline-width) solid var(--color-separator);
    border-radius: 8px;
    background: var(--color-surface);
    height: 32px;
    cursor: pointer;
    font-size: 1rem;
}

.cm-emoji-btn iconify-icon[b-wh0l9tldn3] {
    width: 18px;
    height: 18px;
}

.cm-emoji-btn.picked[b-wh0l9tldn3] {
    background: var(--accent-soft-12);
    border-color: var(--color-primary);
}

.cm-preview[b-wh0l9tldn3] {
    margin-top: 8px;
    display: flex;
    align-items: center;
    gap: 10px;
    border-radius: 12px;
    background: var(--surface-2);
    border: var(--hairline-width) solid var(--color-separator);
    padding: 10px;
}

.cm-preview-icon[b-wh0l9tldn3] {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-surface);
}

.cm-preview-name[b-wh0l9tldn3] {
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--color-text);
}

@media (min-width: 992px) {
    .cm-main[b-wh0l9tldn3] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .cm-page[b-wh0l9tldn3] {
        overflow-x: clip;
    }

    .cm-segment-wrap[b-wh0l9tldn3] {
        padding-left: 0;
        padding-right: 0;
    }
}
/* /Pages/CategorySubcategories.razor.rz.scp.css */
.ae-settings-main[b-013ftozgeq] {
    padding-bottom: 96px;
}

.subm-head[b-013ftozgeq] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 12px;
    border-bottom: var(--hairline-width) solid var(--color-separator);
}

.subm-title-wrap[b-013ftozgeq] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.subm-icon[b-013ftozgeq] {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    color: var(--color-surface);
    display: flex;
    align-items: center;
    justify-content: center;
}

.subm-title[b-013ftozgeq] {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--color-text);
}

.subm-sub[b-013ftozgeq] {
    margin-top: 2px;
    font-size: 0.76rem;
    color: var(--color-text);
    opacity: 0.72;
}

.subm-list[b-013ftozgeq] {
    padding: 0;
}

.cm-empty[b-013ftozgeq] {
    font-size: 0.86rem;
    color: var(--color-text-muted);
    padding: 16px 14px;
    text-align: center;
}

.cm-action-chip[b-013ftozgeq] {
    border: none;
    border-radius: 999px;
    background: var(--color-primary);
    color: var(--color-surface);
    font-size: 0.78rem;
    font-weight: 700;
    padding: 7px 12px;
    cursor: pointer;
}

.cm-action-chip.secondary[b-013ftozgeq] {
    background: var(--surface-2);
    color: var(--color-text);
    border: var(--hairline-width) solid var(--color-separator);
}

.cm-action-chip:disabled[b-013ftozgeq] {
    opacity: 0.45;
    cursor: not-allowed;
}

.cm-error-banner[b-013ftozgeq],
.cm-info-banner[b-013ftozgeq],
.cm-success-banner[b-013ftozgeq] {
    margin: 10px 14px;
    border-radius: 10px;
    padding: 8px 10px;
    font-size: 0.78rem;
}

.cm-error-banner[b-013ftozgeq] {
    color: var(--ui-danger);
    background: var(--danger-soft-10);
    border: var(--hairline-width) solid var(--danger-soft-35);
}

.cm-info-banner[b-013ftozgeq] {
    color: var(--color-primary);
    background: var(--accent-soft-08);
    border: var(--hairline-width) solid var(--accent-border-40);
}

.cm-success-banner[b-013ftozgeq] {
    color: var(--color-primary);
    background: var(--accent-soft-12);
    border: var(--hairline-width) solid var(--accent-border-40);
}

.cm-icon-btn[b-013ftozgeq] {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    border: none;
    background: transparent;
    font-size: 1rem;
    color: var(--color-text);
}

.cm-field[b-013ftozgeq] {
    margin-bottom: 12px;
}

.cm-field label[b-013ftozgeq] {
    display: block;
    margin-bottom: 6px;
    font-size: 0.78rem;
    color: var(--color-text-muted);
    font-weight: 700;
}

.cm-icon-mode-row[b-013ftozgeq] {
    display: inline-flex;
    gap: 6px;
    margin-bottom: 8px;
}

.cm-icon-mode-btn[b-013ftozgeq] {
    border: var(--hairline-width) solid var(--color-separator);
    border-radius: 999px;
    color: var(--color-text-secondary);
    font-size: 0.74rem;
    font-weight: 700;
    padding: 5px 12px;
}

.cm-icon-mode-btn.active[b-013ftozgeq] {
    border-color: var(--color-primary);
    color: var(--color-primary);
    background: var(--accent-soft-08);
}

.cm-emoji-grid[b-013ftozgeq] {
    margin-top: 8px;
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 6px;
}

.cm-svg-grid[b-013ftozgeq] {
    margin-top: 8px;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 6px;
}

.cm-emoji-btn[b-013ftozgeq] {
    border: var(--hairline-width) solid var(--color-separator);
    border-radius: 8px;
    height: 32px;
    cursor: pointer;
    font-size: 1rem;
}

.cm-emoji-btn.picked[b-013ftozgeq] {
    background: var(--accent-soft-12);
    border-color: var(--color-primary);
}

.cm-emoji-btn iconify-icon[b-013ftozgeq] {
    width: 18px;
    height: 18px;
}
/* /Pages/Changelog.razor.rz.scp.css */
.cl-container[b-so9tsrli4d] {
        padding: 1.25rem;
        color: var(--ios-label);
        max-width: 720px;
        margin: 0 auto;
    }

    .cl-header h1[b-so9tsrli4d] {
        margin: 0;
        font-size: 1.4rem;
        font-weight: 800;
    }

    .cl-header-row[b-so9tsrli4d] {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        flex-wrap: wrap;
    }

    .cl-sub[b-so9tsrli4d] {
        margin-top: 0.25rem;
        color: var(--ios-gray);
        font-size: 0.9rem;
    }

    .cl-cache-btn[b-so9tsrli4d] {
        background: rgba(255,59,48,0.1);
        color: #FF3B30;
        border: 1px solid rgba(255,59,48,0.2);
        border-radius: 10px;
        padding: 8px 16px;
        font-size: 0.85rem;
        font-weight: 600;
        cursor: pointer;
        white-space: nowrap;
        transition: background 0.15s;
        font-family: inherit;
    }
    .cl-cache-btn:hover[b-so9tsrli4d] { background: rgba(255,59,48,0.18); }
    .cl-cache-btn:disabled[b-so9tsrli4d] { opacity: 0.5; cursor: default; }

    .cl-loading[b-so9tsrli4d], .cl-empty[b-so9tsrli4d] {
        text-align: center;
        color: var(--ios-gray);
        padding: 2rem 0;
        font-size: 0.95rem;
    }

    .cl-list[b-so9tsrli4d] {
        margin-top: 1.25rem;
        display: flex;
        flex-direction: column;
        gap: 0.75rem;
    }

    .cl-card[b-so9tsrli4d] {
        background: var(--color-surface);
        border-radius: 14px;
        border: 1px solid var(--color-separator);
        padding: 0.9rem 1rem;
        cursor: pointer;
        transition: box-shadow 0.15s ease;
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
    }

    .cl-card:hover[b-so9tsrli4d] {
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    }

    .cl-card-current[b-so9tsrli4d] {
        border-left: 3px solid var(--ios-blue, #007AFF);
    }

    .cl-card-header[b-so9tsrli4d] {
        display: flex;
        flex-direction: column;
        gap: 4px;
    }

    .cl-version-row[b-so9tsrli4d] {
        display: flex;
        align-items: center;
        gap: 8px;
        flex-wrap: wrap;
    }

    .cl-version[b-so9tsrli4d] {
        font-weight: 700;
        font-size: 1rem;
        color: var(--ios-label, #1C1C1E);
    }

    .cl-badge-current[b-so9tsrli4d] {
        background: var(--ios-blue, #007AFF);
        color: #fff;
        font-size: 11px;
        font-weight: 600;
        padding: 2px 8px;
        border-radius: 100px;
    }

    .cl-tags[b-so9tsrli4d] {
        display: flex;
        gap: 4px;
        flex-wrap: wrap;
    }

    .cl-tag[b-so9tsrli4d] {
        font-size: 15px;
        line-height: 1;
    }

    .cl-type-icon[b-so9tsrli4d] {
        display: inline-grid;
        place-items: center;
        background: transparent !important;
        padding: 0;
        border-radius: 0;
    }

    .cl-meta-row[b-so9tsrli4d] {
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .cl-date[b-so9tsrli4d] {
        font-size: 0.8rem;
        color: var(--ios-gray, #8E8E93);
    }

    .cl-count[b-so9tsrli4d] {
        font-size: 0.8rem;
        color: var(--ios-gray, #8E8E93);
        flex: 1;
    }

    .cl-chevron[b-so9tsrli4d] {
        font-size: 1.2rem;
        color: var(--ios-gray, #8E8E93);
        transition: transform 0.2s ease;
        display: inline-block;
    }

    .cl-chevron-open[b-so9tsrli4d] {
        transform: rotate(90deg);
    }

    .cl-changes[b-so9tsrli4d] {
        margin-top: 0.75rem;
        border-top: 0.5px solid var(--color-separator);
        padding-top: 0.75rem;
        display: flex;
        flex-direction: column;
        gap: 0.6rem;
    }

    .cl-item[b-so9tsrli4d] {
        background: var(--ios-fill, #F2F2F7);
        border-radius: 10px;
        padding: 0.6rem 0.75rem;
    }

    .cl-item-header[b-so9tsrli4d] {
        display: flex;
        align-items: center;
        gap: 8px;
        flex-wrap: wrap;
    }

    .cl-item-emoji[b-so9tsrli4d] {
        font-size: 16px;
        flex-shrink: 0;
    }

    .cl-item-title[b-so9tsrli4d] {
        font-weight: 600;
        font-size: 0.9rem;
        color: var(--ios-label, #1C1C1E);
        flex: 1;
        min-width: 0;
    }

    .cl-item-type[b-so9tsrli4d] {
        font-size: 11px;
        font-weight: 600;
        padding: 2px 7px;
        border-radius: 100px;
    }

    .cl-item-desc[b-so9tsrli4d] {
        margin: 0.4rem 0 0;
        font-size: 0.82rem;
        color: var(--ios-gray, #8E8E93);
        line-height: 1.5;
    }

    /* Type color tokens */
    .cl-tag-feature[b-so9tsrli4d] { background: rgba(52, 199, 89, 0.15); color: #1A8A3C; }
    .cl-tag-fix[b-so9tsrli4d]     { background: rgba(255, 59, 48, 0.12); color: #C0392B; }
    .cl-tag-ui[b-so9tsrli4d]      { background: rgba(90, 200, 250, 0.15); color: #0A7EA4; }
    .cl-tag-perf[b-so9tsrli4d]    { background: rgba(255, 149, 0, 0.15); color: #C47D00; }
    .cl-tag-refactor[b-so9tsrli4d] { background: rgba(142, 142, 147, 0.15); color: #636366; }

    @media (max-width: 600px) {
        .cl-container[b-so9tsrli4d] { padding: 1rem 0.5rem; }
    }
/* /Pages/CreditCardCycleCard.razor.rz.scp.css */
.credit-card-cycle-card[b-k4qk6i5a1m] {
    padding: 12px 14px;
    border-radius: 16px;
    background: var(--surface-2);
    color: var(--color-text);
}

.ccc-header[b-k4qk6i5a1m] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.ccc-title[b-k4qk6i5a1m] {
    min-width: 0;
    color: var(--color-text);
    font-weight: 700;
}

.ccc-days[b-k4qk6i5a1m] {
    flex-shrink: 0;
    color: var(--color-text);
    font-weight: 800;
}

.cycle-progress-bar[b-k4qk6i5a1m] {
    height: 8px;
    margin: 8px 0 6px;
    border-radius: 999px;
    background: var(--color-separator);
    overflow: hidden;
}

.cycle-progress[b-k4qk6i5a1m] {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--color-primary), var(--color-teal));
    transition: width 0.2s ease;
}

.cycle-info[b-k4qk6i5a1m] {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    color: var(--ios-muted);
    font-size: 0.76rem;
}

.ccc-amounts[b-k4qk6i5a1m] {
    display: flex;
    justify-content: space-around;
    gap: 12px;
    margin-top: 1rem;
    text-align: center;
}

.ccc-amount-cell[b-k4qk6i5a1m] {
    min-width: 0;
}

.ccc-amount-label[b-k4qk6i5a1m] {
    color: var(--color-text-secondary);
    font-size: 0.76rem;
    font-weight: 700;
}

.ccc-amount-value[b-k4qk6i5a1m] {
    margin: 0.18rem 0 0;
    color: var(--color-text);
    font-size: 1.05rem;
    font-weight: 800;
}
/* /Pages/Currencies.razor.rz.scp.css */
.curr-page[b-a8837rrz4b] {
    color: var(--color-text);
}

/* ── Section header ──────────────────────────────────────── */
.curr-section-label[b-a8837rrz4b] {
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--ios-muted);
    padding: 18px 4px 6px;
    display: block;
}

.curr-section-header[b-a8837rrz4b] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 4px 6px;
}

.curr-section-header .curr-section-label[b-a8837rrz4b] {
    padding: 0;
}

.curr-add-btn[b-a8837rrz4b] {
    background: none;
    border: none;
    color: var(--color-primary);
    font-size: 1.35rem;
    line-height: 1;
    padding: 0 4px;
    cursor: pointer;
    font-weight: 400;
}
.curr-add-btn:hover[b-a8837rrz4b] { opacity: 0.7; }

.curr-cache-note[b-a8837rrz4b] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 8px 4px 2px;
    padding: 7px 10px;
    border-radius: 999px;
    background: var(--surface-2);
    color: var(--ios-muted);
    font-size: 0.78rem;
    font-weight: 600;
}

.curr-cache-note.is-cached[b-a8837rrz4b] {
    background: var(--warning-soft-12);
    color: var(--color-warning);
}

/* ── List card ───────────────────────────────────────────── */
.curr-list-card[b-a8837rrz4b] {
    overflow: hidden;
}

.curr-row[b-a8837rrz4b] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 13px 16px;
    cursor: pointer;
    border-bottom: 1px solid var(--ios-separator);
    transition: background 0.12s;
    min-height: 48px;
}
.curr-row:last-child[b-a8837rrz4b] { border-bottom: none; }
.curr-row:hover[b-a8837rrz4b] { background: var(--surface-2); }

.curr-row-arrow[b-a8837rrz4b] { cursor: pointer; }

.curr-code[b-a8837rrz4b] {
    font-size: 0.95rem;
    font-weight: 700;
    min-width: 56px;
}

.curr-row-right[b-a8837rrz4b] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.curr-row-muted[b-a8837rrz4b] {
    font-size: 0.85rem;
    color: var(--ios-muted);
}

.curr-rate[b-a8837rrz4b] {
    font-size: 0.85rem;
    color: var(--ios-muted);
    font-variant-numeric: tabular-nums;
    min-width: 80px;
    text-align: right;
}

.curr-chevron[b-a8837rrz4b] {
    color: var(--ios-muted);
    font-size: 1.1rem;
    font-weight: 300;
}

.curr-remove-btn[b-a8837rrz4b] {
    background: none;
    border: none;
    color: var(--ui-danger);
    font-size: 1.2rem;
    line-height: 1;
    padding: 2px 6px;
    cursor: pointer;
    border-radius: 6px;
    transition: background 0.1s;
}
.curr-remove-btn:hover[b-a8837rrz4b] { background: var(--danger-soft-12); }

.curr-empty-row[b-a8837rrz4b] {
    padding: 16px;
    font-size: 0.85rem;
    color: var(--ios-muted);
    text-align: center;
}

/* ── Picker modal (base / add fiat / add crypto) ─────────── */
.curr-picker-sheet[b-a8837rrz4b] {
    max-height: 72vh;
    display: flex;
    flex-direction: column;
}

.curr-picker-list[b-a8837rrz4b] {
    overflow-y: auto;
    flex: 1;
    padding: 0 0 8px;
}

.curr-picker-row[b-a8837rrz4b] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 12px 20px;
    cursor: pointer;
    border: none;
    border-bottom: 1px solid var(--ios-separator);
    background: transparent;
    color: var(--color-text);
    font: inherit;
    text-align: left;
    transition: background 0.1s;
}
.curr-picker-row:last-child[b-a8837rrz4b] { border-bottom: none; }
.curr-picker-row:hover[b-a8837rrz4b] { background: var(--surface-2); }

.curr-picker-selected[b-a8837rrz4b] { background: var(--accent-soft-12) !important; }

.curr-picker-code[b-a8837rrz4b] {
    font-weight: 700;
    font-size: 0.95rem;
    min-width: 54px;
}
.curr-picker-name[b-a8837rrz4b] {
    font-size: 0.88rem;
    color: var(--ios-muted);
}

/* ── Edit modal ──────────────────────────────────────────── */
.curr-edit-sheet[b-a8837rrz4b] {
    max-width: 420px;
    width: 92vw;
}

/* Header with left/right text buttons */
.ae-modal-text-btn[b-a8837rrz4b] {
    background: none;
    border: none;
    color: var(--ios-muted);
    font-size: 0.9rem;
    padding: 0 4px;
    cursor: pointer;
}
.ae-modal-text-btn-primary[b-a8837rrz4b] { color: var(--color-primary); font-weight: 600; }
.ae-modal-text-btn:hover[b-a8837rrz4b] { opacity: 0.7; }

.curr-edit-body[b-a8837rrz4b] { padding: 8px 16px 20px; }

.curr-edit-group[b-a8837rrz4b] {
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 16px;
}

.curr-edit-row[b-a8837rrz4b] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    border-bottom: 1px solid var(--ios-separator);
    min-height: 46px;
}
.curr-edit-row:last-child[b-a8837rrz4b] { border-bottom: none; }

.curr-edit-label[b-a8837rrz4b] {
    font-size: 0.88rem;
    flex-shrink: 0;
    min-width: 72px;
}
.curr-edit-readonly[b-a8837rrz4b] {
    font-size: 0.88rem;
    color: var(--ios-muted);
    text-align: right;
}
.curr-edit-input[b-a8837rrz4b] {
    background: transparent;
    border: none;
    outline: none;
    font-size: 0.9rem;
    text-align: right;
    width: 100%;
    max-width: 160px;
}
.curr-edit-input[b-a8837rrz4b]::placeholder { color: var(--ios-muted); }
.curr-edit-input-sm[b-a8837rrz4b] { max-width: 80px; }

/* ── 確認 Modal ──────────────────────────────────────────── */
.curr-confirm-sheet[b-a8837rrz4b] {
    max-width: 320px;
    width: 88vw;
    border-radius: 16px;
}

.curr-confirm-body[b-a8837rrz4b] {
    padding: 24px 20px 12px;
    text-align: center;
}

.curr-confirm-msg[b-a8837rrz4b] {
    font-size: 0.93rem;
    color: var(--color-text);
    line-height: 1.5;
    margin: 0;
}

.curr-confirm-actions[b-a8837rrz4b] {
    display: flex;
    border-top: 1px solid var(--ios-separator);
}

.curr-confirm-btn[b-a8837rrz4b] {
    flex: 1;
    background: none;
    border: none;
    padding: 14px 0;
    font-size: 1rem;
    cursor: pointer;
    transition: background 0.1s;
}
.curr-confirm-btn:hover[b-a8837rrz4b] { background: var(--surface-2); }
.curr-confirm-btn + .curr-confirm-btn[b-a8837rrz4b] { border-left: 1px solid var(--ios-separator); }

.curr-confirm-cancel[b-a8837rrz4b] { color: var(--color-text-muted); }
.curr-confirm-ok[b-a8837rrz4b]     { color: var(--ui-danger); font-weight: 600; }
/* /Pages/DataManagement.razor.rz.scp.css */
.dm-container[b-8lmqqd37v7] { padding: 1.25rem; color: var(--ios-label); }
.dm-header h1[b-8lmqqd37v7] { margin: 0; font-size: 1.4rem; font-weight: 800; }
.dm-sub[b-8lmqqd37v7] { margin-top: 0.25rem; color: var(--ios-gray); font-size: 0.85rem; }

.dm-section[b-8lmqqd37v7] { margin-top: 1.5rem; }
.dm-section h2[b-8lmqqd37v7] { font-size: 1rem; font-weight: 700; margin-bottom: 0.4rem; }

.dm-section-title[b-8lmqqd37v7],
.dm-confirm-title[b-8lmqqd37v7],
.dm-file-button[b-8lmqqd37v7] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.dm-section-title[b-8lmqqd37v7] {
    color: var(--color-text);
}
.dm-hint[b-8lmqqd37v7] { color: var(--ios-gray); font-size: 0.82rem; margin-bottom: 0.8rem; }

.dm-section-danger[b-8lmqqd37v7] { border-top: var(--hairline-width) solid var(--danger-soft-35); padding-top: 1.25rem; margin-top: 2rem; }

.dm-export-grid[b-8lmqqd37v7] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 0.8rem;
}

.dm-backup-grid[b-8lmqqd37v7] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 0.8rem;
}

.dm-backup-cloud-grid[b-8lmqqd37v7] {
    margin-top: 0.8rem;
}

.dm-storage-card[b-8lmqqd37v7] {
    margin-bottom: 0.8rem;
}

.dm-card[b-8lmqqd37v7] {
    padding: 1rem;
    border-radius: 12px;
    border: 1px solid transparent;
}

.dm-card-highlight[b-8lmqqd37v7] {
    border-color: var(--accent-border-40);
}

.dm-card-header[b-8lmqqd37v7] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 0.5rem;
}

.dm-card-icon[b-8lmqqd37v7] { font-size: 1.3rem; }
.dm-card-title[b-8lmqqd37v7] { font-weight: 700; font-size: 0.95rem; flex: 1; }
.dm-card-count[b-8lmqqd37v7] { font-size: 0.75rem; color: var(--ios-gray); }
.dm-card-desc[b-8lmqqd37v7] { font-size: 0.82rem; color: var(--ios-gray); margin-bottom: 0.6rem; }

.dm-empty[b-8lmqqd37v7] {
    padding: 0.8rem;
    border-radius: 10px;
    background: var(--ios-fill);
    color: var(--ios-gray);
    font-size: 0.82rem;
}

.dm-card-actions[b-8lmqqd37v7] {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.dm-btn[b-8lmqqd37v7] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 8px 14px;
    border-radius: 8px;
    font-size: 0.82rem;
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: opacity 0.15s ease, transform 0.1s ease;
}
.dm-btn:hover:not(:disabled)[b-8lmqqd37v7] { opacity: 0.85; transform: translateY(-1px); }
.dm-btn:disabled[b-8lmqqd37v7] { opacity: 0.4; cursor: not-allowed; }

.dm-btn-csv[b-8lmqqd37v7] { background: var(--color-teal); color: var(--color-text); }
.dm-btn-json[b-8lmqqd37v7] { background: var(--color-indigo); color: var(--color-text); }
.dm-btn-excel[b-8lmqqd37v7] { background: var(--color-teal); color: var(--color-text); }
.dm-btn-primary[b-8lmqqd37v7] { background: var(--ios-blue); color: var(--color-text); }
.dm-btn-secondary[b-8lmqqd37v7] { background: var(--ios-fill); color: var(--ios-label); }
.dm-btn-danger[b-8lmqqd37v7] { background: var(--ui-danger); color: var(--color-text); }
.dm-btn-danger-outline[b-8lmqqd37v7] {
    background: transparent;
    color: var(--ui-danger);
    border: 1px solid var(--ui-danger);
}
.dm-btn-danger-outline:hover:not(:disabled)[b-8lmqqd37v7] { background: var(--danger-soft-10); }

.dm-confirm-box[b-8lmqqd37v7] {
    padding: 1rem;
    border-radius: 10px;
    margin-top: 0.6rem;
}
.dm-confirm-warning[b-8lmqqd37v7] { background: var(--warning-soft-12); border: 1px solid var(--warning-soft-22); }
.dm-confirm-danger[b-8lmqqd37v7] { background: var(--danger-soft-10); border: 1px solid var(--danger-soft-20); }

.dm-confirm-box p[b-8lmqqd37v7] { margin: 0 0 0.4rem; font-size: 0.88rem; font-weight: 600; }
.dm-confirm-detail[b-8lmqqd37v7] { font-weight: 400 !important; font-size: 0.8rem !important; color: var(--ios-gray); }
.dm-confirm-actions[b-8lmqqd37v7] { display: flex; gap: 8px; margin-top: 0.8rem; }

.dm-confirm-input[b-8lmqqd37v7] { margin-top: 0.6rem; }
.dm-confirm-input label[b-8lmqqd37v7] { font-size: 0.82rem; display: block; margin-bottom: 4px; }
.dm-input[b-8lmqqd37v7] {
    width: 100%;
    padding: 8px 12px;
    border: var(--hairline-width) solid var(--ios-separator);
    border-radius: 8px;
    font-size: 0.88rem;
    box-sizing: border-box;
}

.dm-message[b-8lmqqd37v7] {
    padding: 10px 14px;
    border-radius: 8px;
    margin-top: 0.6rem;
    font-size: 0.85rem;
    font-weight: 600;
}
.dm-message-success[b-8lmqqd37v7] { background: var(--success-soft-12); color: var(--ui-success); border: 1px solid var(--success-soft-15); }
.dm-message-error[b-8lmqqd37v7] { background: var(--danger-soft-12); color: var(--ui-danger); border: 1px solid var(--danger-soft-20); }

.dm-file-label[b-8lmqqd37v7] {
    display: inline-block;
    cursor: pointer;
}
.dm-file-label input[type="file"][b-8lmqqd37v7] { display: none; }

@media (max-width: 600px) {
    .dm-export-grid[b-8lmqqd37v7], .dm-backup-grid[b-8lmqqd37v7] {
        grid-template-columns: 1fr;
    }
}

.dm-section-cache[b-8lmqqd37v7] { border-top: var(--hairline-width) solid var(--accent-border-40); padding-top: 1.25rem; margin-top: 2rem; }

.dm-btn-cache[b-8lmqqd37v7] {
    background: transparent;
    color: var(--ios-blue);
    border: 1px solid var(--ios-blue);
}
.dm-btn-cache:hover:not(:disabled)[b-8lmqqd37v7] { background: var(--accent-soft-08); }

.dm-btn-cache-confirm[b-8lmqqd37v7] { background: var(--ios-blue); color: var(--color-text); }

.dm-confirm-cache[b-8lmqqd37v7] { background: var(--accent-soft-08); border: 1px solid var(--accent-border-40); }

.dm-conflict-box[b-8lmqqd37v7] {
    display: grid;
    gap: 8px;
    margin-top: 0.75rem;
    padding: 12px;
    border-radius: 12px;
    background: var(--warning-soft-12);
    border: 1px solid var(--warning-soft-22);
}

.dm-conflict-title[b-8lmqqd37v7] {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--warning-strong, var(--ios-orange));
    font-weight: 800;
    font-size: 0.88rem;
}

.dm-conflict-box p[b-8lmqqd37v7] {
    margin: 0;
    color: var(--ios-gray);
    font-size: 0.8rem;
    line-height: 1.45;
}

.dm-cloud-list[b-8lmqqd37v7] {
    display: grid;
    gap: 8px;
    margin: 0.8rem 0;
}

.dm-cloud-row[b-8lmqqd37v7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 12px;
    background: var(--ios-fill);
}

.dm-cloud-row span[b-8lmqqd37v7] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
}

.dm-drive-sync-meta[b-8lmqqd37v7] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0.7rem 0;
}

.dm-drive-sync-meta span[b-8lmqqd37v7] {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 8px;
    border-radius: 999px;
    background: var(--ios-fill);
    color: var(--ios-gray);
    font-size: 0.74rem;
    font-weight: 700;
}

.dm-backup-history[b-8lmqqd37v7] {
    display: grid;
    gap: 10px;
}

.dm-backup-history-row[b-8lmqqd37v7] {
    display: grid;
    gap: 8px;
    padding: 10px;
    border-radius: 12px;
    background: var(--ios-fill);
}

.dm-backup-history-meta[b-8lmqqd37v7] {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.dm-backup-history-meta strong[b-8lmqqd37v7] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.86rem;
}

.dm-backup-history-meta span[b-8lmqqd37v7] {
    color: var(--ios-gray);
    font-size: 0.76rem;
}

.dm-auto-backup-card[b-8lmqqd37v7] {
    margin-top: 0.8rem;
}

.dm-backup-options[b-8lmqqd37v7] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.dm-drive-key-panel[b-8lmqqd37v7] {
    display: grid;
    gap: 8px;
    margin-top: 0.75rem;
}

.dm-drive-key-actions[b-8lmqqd37v7] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.dm-drive-key-output[b-8lmqqd37v7] {
    min-height: 72px;
    resize: vertical;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.76rem;
    word-break: break-all;
}

.dm-storage-meter[b-8lmqqd37v7] {
    position: relative;
    height: 8px;
    overflow: hidden;
    border-radius: 999px;
    background: var(--ios-fill);
}

.dm-storage-meter-fill[b-8lmqqd37v7] {
    height: 100%;
    min-width: 3px;
    border-radius: inherit;
    background: var(--ios-blue);
    transition: width 0.2s ease;
}

.dm-storage-meter-fill.danger[b-8lmqqd37v7] {
    background: var(--ui-danger);
}
/* /Pages/Debt.razor.rz.scp.css */
.ae-debt-stats[b-sntd6jiiq6] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.ae-debt-filters[b-sntd6jiiq6] {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 1rem;
    margin-top: 1rem;
    flex-wrap: wrap;
}

.ae-debt-filters .form-select-sm[b-sntd6jiiq6] {
    flex: 1;
    min-width: 120px;
}

.ae-debt-empty[b-sntd6jiiq6] {
    text-align: center;
    color: var(--ios-muted);
    font-size: 0.88rem;
    padding: 1.5rem 0;
    margin: 0;
}

.ae-debt-item[b-sntd6jiiq6] {
    padding: 0.75rem 1rem;
    border-bottom: var(--hairline-width) solid var(--color-separator);
}

.ae-debt-item:last-child[b-sntd6jiiq6] { border-bottom: none; }

.ae-debt-main[b-sntd6jiiq6] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
}

.ae-debt-info[b-sntd6jiiq6] { flex: 1; min-width: 0; }

.ae-debt-name[b-sntd6jiiq6] {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--ios-text);
}

.ae-debt-meta[b-sntd6jiiq6] {
    font-size: 0.75rem;
    color: var(--ios-muted);
    margin-top: 0.1rem;
}

.ae-debt-desc[b-sntd6jiiq6] {
    font-size: 0.78rem;
    color: var(--ios-muted);
    margin-top: 0.25rem;
}

.ae-debt-right[b-sntd6jiiq6] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.2rem;
    flex-shrink: 0;
}

.ae-debt-owed[b-sntd6jiiq6] {
    font-size: 1rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.ae-debt-amount-line[b-sntd6jiiq6] {
    margin-top: 0.25rem;
    text-align: right;
}

.ae-debt-total[b-sntd6jiiq6] {
    font-size: 0.75rem;
    color: var(--ios-muted);
    font-variant-numeric: tabular-nums;
}

.ae-debt-actions[b-sntd6jiiq6] {
    display: flex;
    gap: 0.4rem;
    margin-top: 0.5rem;
    flex-wrap: wrap;
    align-items: center;
}

.ae-debt-details-toggle[b-sntd6jiiq6] {
    margin-left: auto;
}

.ae-debt-toggle[b-sntd6jiiq6] {
    background: transparent;
    border: none;
    font-size: 0.78rem;
    color: var(--color-primary);
    cursor: pointer;
    padding: 0;
    margin-left: auto;
}

.ae-debt-toggle:hover[b-sntd6jiiq6] { text-decoration: underline; }

.ae-debt-repayments[b-sntd6jiiq6] {
    margin-top: 0.5rem;
    padding: 0.5rem;
    border-radius: var(--radius-sm);
    border: var(--hairline-width) solid var(--color-separator);
    background: var(--color-bg);
}

.ae-repay-row[b-sntd6jiiq6] {
    display: flex;
    justify-content: space-between;
    font-size: 0.78rem;
    padding: 0.25rem 0;
    border-bottom: var(--hairline-width) solid var(--color-separator);
    color: var(--ios-muted);
}

.ae-repay-row:last-child[b-sntd6jiiq6] { border-bottom: none; }

.ae-debt-form-field[b-sntd6jiiq6] {
    margin-bottom: 0.85rem;
}

.ae-debt-form-field:last-child[b-sntd6jiiq6] {
    margin-bottom: 0;
}

.ae-debt-form-label[b-sntd6jiiq6] {
    display: block;
    margin-bottom: 0.34rem;
    color: var(--color-text-secondary);
    font-size: 0.82rem;
    font-weight: 750;
}

.ae-debt-required[b-sntd6jiiq6] {
    margin-left: 0.18rem;
    color: var(--ui-danger);
}

.ae-debt-modal-summary[b-sntd6jiiq6] {
    margin: 0 0 0.85rem;
    color: var(--color-text-secondary);
    font-size: 0.88rem;
    line-height: 1.45;
}

.ae-debt-list[b-sntd6jiiq6] {
    display: flex;
    flex-direction: column;
}
/* /Pages/EInvoiceConfig.razor.rz.scp.css */
.einvoice-config-page[b-9g7hsx249e] {
    display: flex;
    justify-content: center;
    padding: 0.75rem 0 1.5rem;
}

.einvoice-config-card[b-9g7hsx249e] {
    width: min(100%, 600px);
    padding: 1.25rem;
    border-radius: 22px;
    border: var(--hairline-width) solid var(--color-separator);
    background: var(--color-surface);
    box-shadow: var(--shadow-xs);
}

.einvoice-config-card h1[b-9g7hsx249e] {
    margin: 0;
    color: var(--color-text);
    font-size: 1.15rem;
    font-weight: 900;
}

.einvoice-config-subtitle[b-9g7hsx249e] {
    margin: 0.35rem 0 1rem;
    color: var(--color-text-muted);
    font-size: 0.86rem;
    line-height: 1.45;
}

.einvoice-config-field[b-9g7hsx249e] {
    margin-bottom: 0.85rem;
}

.einvoice-config-field label[b-9g7hsx249e] {
    display: block;
    margin-bottom: 0.34rem;
    color: var(--color-text-secondary);
    font-size: 0.82rem;
    font-weight: 750;
}

.einvoice-config-actions[b-9g7hsx249e] {
    display: flex;
    justify-content: flex-end;
    gap: 0.65rem;
    margin-top: 1.1rem;
}

.einvoice-alert[b-9g7hsx249e] {
    display: flex;
    align-items: center;
    gap: 0.42rem;
    margin-top: 0.85rem;
    border-radius: 14px;
    padding: 0.65rem 0.8rem;
    font-size: 0.85rem;
    font-weight: 750;
}

.einvoice-alert-error[b-9g7hsx249e] {
    border: var(--hairline-width) solid var(--danger-soft-20);
    background: var(--danger-soft-10);
    color: var(--ui-danger);
}

.einvoice-alert-success[b-9g7hsx249e] {
    border: var(--hairline-width) solid var(--success-soft-15);
    background: var(--success-soft-10);
    color: var(--ui-success);
}

@media (max-width: 520px) {
    .einvoice-config-actions[b-9g7hsx249e] {
        flex-direction: column;
    }
}
/* /Pages/EInvoiceList.razor.rz.scp.css */
.einvoice-page[b-2gc769bk54] {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}

.einvoice-header[b-2gc769bk54] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.einvoice-sync-btn[b-2gc769bk54] {
    gap: 0.4rem;
}

.einvoice-spinner[b-2gc769bk54] {
    display: inline-block;
    width: 0.9rem;
    height: 0.9rem;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 999px;
    animation: einvoice-spin-b-2gc769bk54 0.65s linear infinite;
}

.einvoice-sync-label[b-2gc769bk54] {
    margin-left: 0.45rem;
}

.einvoice-alert[b-2gc769bk54] {
    border-radius: 14px;
    padding: 0.65rem 0.8rem;
    font-size: 0.85rem;
    font-weight: 750;
}

.einvoice-alert-error[b-2gc769bk54] {
    border: var(--hairline-width) solid var(--danger-soft-20);
    background: var(--danger-soft-10);
    color: var(--ui-danger);
}

.einvoice-empty[b-2gc769bk54] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.65rem;
    padding: 2.2rem 1.25rem;
    border-radius: 22px;
    background: var(--color-surface);
    box-shadow: var(--shadow-xs);
    text-align: center;
}

.einvoice-empty-icon[b-2gc769bk54] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 20px;
    background: var(--accent-soft-08);
    color: var(--color-primary);
}

.einvoice-empty h2[b-2gc769bk54] {
    margin: 0;
    color: var(--color-text);
    font-size: 1.05rem;
    font-weight: 850;
}

.einvoice-empty p[b-2gc769bk54] {
    max-width: 28rem;
    margin: 0;
    color: var(--color-text-muted);
    font-size: 0.88rem;
    line-height: 1.55;
}

.einvoice-list[b-2gc769bk54] {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.einvoice-card[b-2gc769bk54] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem;
    padding: 0.9rem 1rem;
    border-radius: 18px;
    border: var(--hairline-width) solid var(--color-separator);
    background: var(--color-surface);
    box-shadow: var(--shadow-xs);
}

.einvoice-card-main[b-2gc769bk54] {
    min-width: 0;
}

.einvoice-card-title[b-2gc769bk54] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    color: var(--color-text);
    font-size: 0.95rem;
    font-weight: 850;
}

.einvoice-id[b-2gc769bk54] {
    padding: 0.12rem 0.38rem;
    border-radius: 8px;
    background: var(--surface-2);
    color: var(--color-text-muted);
    font-family: var(--font-mono);
    font-size: 0.72rem;
    font-weight: 750;
}

.einvoice-meta[b-2gc769bk54] {
    margin-top: 0.22rem;
    color: var(--color-text-muted);
    font-size: 0.78rem;
}

.einvoice-card-side[b-2gc769bk54] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.einvoice-amount[b-2gc769bk54] {
    color: var(--color-text);
    font-size: 0.95rem;
    font-weight: 850;
    font-variant-numeric: tabular-nums;
}

.einvoice-lottery[b-2gc769bk54] {
    display: inline-flex;
    align-items: center;
    gap: 0.22rem;
    min-height: 26px;
    padding: 0 0.55rem;
    border-radius: 999px;
    font-size: 0.76rem;
    font-weight: 850;
}

.einvoice-lottery-win[b-2gc769bk54] {
    background: var(--success-soft-12);
    color: var(--ui-success);
}

.einvoice-lottery-none[b-2gc769bk54] {
    background: var(--surface-2);
    color: var(--color-text-muted);
}

.einvoice-lottery-pending[b-2gc769bk54] {
    background: var(--warning-soft-12);
    color: var(--color-warning);
}

.einvoice-detail-btn[b-2gc769bk54] {
    min-height: 30px;
    padding: 0 0.7rem;
    border-radius: 999px;
    border: var(--hairline-width) solid var(--color-separator);
    background: transparent;
    color: var(--color-primary);
    font-size: 0.78rem;
    font-weight: 850;
}

.einvoice-detail-panel[b-2gc769bk54] {
    margin-top: -0.35rem;
    padding: 0.85rem 1rem;
    border-radius: 16px;
    border: var(--hairline-width) solid var(--color-separator);
    background: var(--surface-2);
}

.einvoice-detail-title[b-2gc769bk54] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.5rem;
    color: var(--color-text-secondary);
    font-size: 0.82rem;
    font-weight: 850;
}

.einvoice-detail-json[b-2gc769bk54] {
    margin: 0;
    white-space: pre-wrap;
    word-break: break-word;
    color: var(--color-text-secondary);
    font-family: var(--font-mono);
    font-size: 0.78rem;
    line-height: 1.5;
}

.einvoice-detail-empty[b-2gc769bk54] {
    color: var(--color-text-muted);
    font-size: 0.84rem;
}

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

@media (max-width: 560px) {
    .einvoice-header[b-2gc769bk54],
    .einvoice-card[b-2gc769bk54] {
        align-items: stretch;
        flex-direction: column;
    }

    .einvoice-card-side[b-2gc769bk54] {
        justify-content: space-between;
    }
}
/* /Pages/FeedbackList.razor.rz.scp.css */
.fl-container[b-lt8kvy7bf0] { padding: 1.25rem; color: var(--ios-label); }
    .fl-header h1[b-lt8kvy7bf0] { margin: 0; font-size: 1.4rem; font-weight: 800; }
    .fl-title-row[b-lt8kvy7bf0] { display: flex; align-items: center; gap: 6px; }
    .fl-sub[b-lt8kvy7bf0] { margin-top: 0.25rem; color: var(--ios-gray); font-size: 0.85rem; }

    /* ── 統計卡 ── */
    .fl-stats-row[b-lt8kvy7bf0] { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 1rem 0; }
    .fl-stat-card[b-lt8kvy7bf0] {
        text-align: center; padding: 12px 4px; border-radius: 12px;
        background: var(--color-surface); border: 1px solid var(--color-separator);
    }
    .fl-stat-num[b-lt8kvy7bf0] { font-size: 1.6rem; font-weight: 800; line-height: 1; }
    .fl-stat-label[b-lt8kvy7bf0] { font-size: 0.72rem; color: var(--ios-gray); margin-top: 4px; font-weight: 600; }
    .fl-stat-bug  .fl-stat-num[b-lt8kvy7bf0] { color: #FF3B30; }
    .fl-stat-suggest .fl-stat-num[b-lt8kvy7bf0] { color: #FF9500; }
    .fl-stat-note .fl-stat-num[b-lt8kvy7bf0] { color: #34C759; }
    .fl-stat-all  .fl-stat-num[b-lt8kvy7bf0] { color: #007AFF; }

    /* ── 篩選 ── */
    .fl-filter-row[b-lt8kvy7bf0] { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 12px; }
    .fl-select[b-lt8kvy7bf0] {
        flex: 1; min-width: 120px; padding: 8px 12px; border-radius: 10px;
        border: var(--hairline-width) solid var(--color-separator); background: var(--color-surface);
        font-size: 0.88rem; color: var(--ios-text); outline: none;
    }
    .fl-filter-clear[b-lt8kvy7bf0] {
        background: none; border: var(--hairline-width) solid var(--color-separator);
        border-radius: 10px; padding: 8px 12px;
        font-size: 0.85rem; color: var(--ios-gray); cursor: pointer;
    }

    /* ── 操作按鈕 ── */
    .fl-action-row[b-lt8kvy7bf0] { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 16px; }
    .fl-btn[b-lt8kvy7bf0] {
        flex: 1; min-width: 90px; padding: 10px 8px; border-radius: 10px;
        border: none; font-size: 0.85rem; font-weight: 700; cursor: pointer;
        background: var(--ios-fill, #F2F2F7); color: var(--ios-label, #1C1C1E);
        transition: opacity 0.15s, transform 0.1s;
    }
    .fl-btn:active[b-lt8kvy7bf0] { transform: scale(0.96); }
    .fl-btn:disabled[b-lt8kvy7bf0] { opacity: 0.4; cursor: default; }
    .fl-btn-export[b-lt8kvy7bf0] { background: #007AFF; color: #fff; }
    .fl-btn-csv[b-lt8kvy7bf0]    { background: #34C759; color: #fff; }
    .fl-btn-danger[b-lt8kvy7bf0] { background: #FF3B30; color: #fff; }

    /* ── 清空確認 ── */
    .fl-confirm-card[b-lt8kvy7bf0] {
        background: rgba(255,59,48,0.08); border: var(--hairline-width) solid rgba(255,59,48,0.3);
        border-radius: 12px; padding: 14px 16px; margin-bottom: 14px;
    }
    .fl-confirm-msg[b-lt8kvy7bf0] { font-size: 0.9rem; margin-bottom: 10px; color: #FF3B30; font-weight: 600; }
    .fl-confirm-btns[b-lt8kvy7bf0] { display: flex; gap: 8px; }
    .fl-confirm-btns .fl-btn[b-lt8kvy7bf0] { flex: none; padding: 8px 16px; }

    /* ── 清單 ── */
    .fl-list[b-lt8kvy7bf0] { display: flex; flex-direction: column; gap: 8px; }
    .fl-item[b-lt8kvy7bf0] {
        background: var(--color-surface); border-radius: 14px;
        border: 1px solid var(--color-separator); padding: 12px 14px;
        cursor: pointer; transition: box-shadow 0.15s ease;
    }
    .fl-item:hover[b-lt8kvy7bf0] { box-shadow: 0 4px 16px rgba(0,0,0,0.1); }

    .fl-item-top[b-lt8kvy7bf0] { display: flex; align-items: center; gap: 6px; margin-bottom: 6px; flex-wrap: wrap; }
    .fl-time[b-lt8kvy7bf0] { margin-left: auto; font-size: 0.75rem; color: var(--ios-gray); }

    .fl-type-badge[b-lt8kvy7bf0] {
        font-size: 0.72rem; font-weight: 700; padding: 3px 8px;
        border-radius: 6px; text-transform: uppercase; letter-spacing: 0.03em;
    }
    .fl-type-bug[b-lt8kvy7bf0]        { background: rgba(255,59,48,0.12);  color: #FF3B30; }
    .fl-type-suggestion[b-lt8kvy7bf0] { background: rgba(255,149,0,0.12);  color: #FF9500; }
    .fl-type-request[b-lt8kvy7bf0]    { background: rgba(88,86,214,0.12);  color: #5856D6; }
    .fl-type-note[b-lt8kvy7bf0]       { background: rgba(52,199,89,0.12);  color: #34C759; }

    .fl-sev-badge[b-lt8kvy7bf0] {
        font-size: 0.72rem; font-weight: 700; padding: 3px 8px;
        border-radius: 6px;
    }
    .fl-sev-high[b-lt8kvy7bf0]   { background: rgba(255,59,48,0.1);  color: #FF3B30; }
    .fl-sev-medium[b-lt8kvy7bf0] { background: rgba(255,149,0,0.1);  color: #FF9500; }
    .fl-sev-low[b-lt8kvy7bf0]    { background: rgba(52,199,89,0.1);  color: #34C759; }

    .fl-item-title[b-lt8kvy7bf0] { font-weight: 700; font-size: 0.95rem; margin-bottom: 4px; }
    .fl-item-page[b-lt8kvy7bf0]  { font-size: 0.78rem; color: var(--ios-gray); }
    .fl-item-detail[b-lt8kvy7bf0] {
        margin-top: 10px; padding: 10px 12px; border-radius: 8px;
        background: var(--ios-fill); font-size: 0.85rem; color: var(--ios-text);
        white-space: pre-wrap; border-left: 3px solid #007AFF;
    }
    .fl-item-meta[b-lt8kvy7bf0] {
        margin-top: 8px; font-size: 0.72rem; color: var(--ios-gray);
        font-family: monospace;
    }

    /* ── 空狀態 ── */
    .fl-empty[b-lt8kvy7bf0] {
        text-align: center; padding: 48px 16px;
        color: var(--ios-gray); font-size: 0.95rem;
    }
    .fl-empty-icon[b-lt8kvy7bf0] { font-size: 2.5rem; margin-bottom: 12px; }

    @media (max-width: 480px) {
        .fl-stats-row[b-lt8kvy7bf0] { grid-template-columns: repeat(2, 1fr); }
    }
/* /Pages/Home.razor.rz.scp.css */
.ae-home-topbar[b-vtbbz998yb] {
    display: grid;
    grid-template-columns: 40px 1fr 40px;
    align-items: center;
    min-height: var(--ae-topbar-height);
    margin-bottom: 0.85rem;
}

.ae-home-topbar-side[b-vtbbz998yb] {
    width: 40px;
    height: 40px;
}

.ae-home-date[b-vtbbz998yb] {
    text-align: center;
    font-size: 1.28rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: var(--aey-text-main);
}

.ae-home-search-btn[b-vtbbz998yb] {
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 50%;
    background: var(--nav-glass-bg);
    box-shadow: var(--shadow-xs);
    color: var(--aey-text-main);
    font-size: 1.2rem;
    cursor: pointer;
}

/* ── Trend Period Chips ── */
.ios-trend-period-chips[b-vtbbz998yb] {
    display: flex;
    gap: 0.4rem;
    padding: 0.3rem 1rem 0.5rem;
}

.ios-trend-period-chip[b-vtbbz998yb] {
    background: var(--surface-2);
    border: none;
    border-radius: 12px;
    font-size: 0.75rem;
    padding: 0.15rem 0.65rem;
    color: var(--ios-muted);
    cursor: pointer;
    transition: all 0.15s ease;
}

.ios-trend-period-chip.active[b-vtbbz998yb] {
    background: var(--color-primary);
    color: var(--color-surface);
}

/* ── Quick Access Grid ── */
.ae-quick-grid[b-vtbbz998yb] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.6rem;
    margin-bottom: 1rem;
}

.ae-quick-item[b-vtbbz998yb] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
    padding: 0.75rem 0.25rem;
    background: var(--aey-card-bg);
    border-radius: var(--aey-radius);
    text-decoration: none;
    color: var(--aey-text-main);
    box-shadow: var(--aey-shadow);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
    -webkit-tap-highlight-color: transparent;
}

.ae-quick-item:hover[b-vtbbz998yb] { text-decoration: none; transform: translateY(-1px); box-shadow: var(--shadow-xs); }
.ae-quick-item:active[b-vtbbz998yb] { transform: scale(0.96); }

.ae-quick-icon[b-vtbbz998yb] {
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
}

.ae-quick-label[b-vtbbz998yb] {
    font-size: 0.68rem;
    font-weight: 600;
    color: var(--ios-secondary);
    text-align: center;
    line-height: 1.2;
}

/* ── Alert Cards ── */
.ios-alerts[b-vtbbz998yb] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.ios-alert[b-vtbbz998yb] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    border-radius: var(--aey-radius);
    text-decoration: none;
    color: inherit;
    -webkit-tap-highlight-color: transparent;
    transition: all 0.2s ease;
}

.ios-alert-warn[b-vtbbz998yb] { background: var(--warning-soft-12); }
.ios-alert-info[b-vtbbz998yb] { background: var(--accent-soft-12); }

.ios-alert-icon[b-vtbbz998yb] { font-size: 1.4rem; flex-shrink: 0; }

.ios-alert-body[b-vtbbz998yb] { flex: 1; min-width: 0; }

.ios-alert-title[b-vtbbz998yb] {
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--aey-text-main);
}

.ios-alert-sub[b-vtbbz998yb] {
    font-size: 0.75rem;
    color: var(--aey-text-muted);
    margin-top: 1px;
}

.ios-alert-arrow[b-vtbbz998yb] {
    font-size: 1.1rem;
    color: var(--ios-separator);
    flex-shrink: 0;
}

/* ── Loading / Error Banner ── */
.ae-banner[b-vtbbz998yb] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.65rem 1rem;
    border-radius: 12px;
    margin-bottom: 1rem;
    font-size: 0.85rem;
}

.ae-banner-info[b-vtbbz998yb] { background: var(--accent-soft-12); color: var(--color-primary); }
.ae-banner-warn[b-vtbbz998yb] { background: var(--warning-soft-12); color: var(--color-warning); }

/* ── Hero Card ── */
.ios-hero[b-vtbbz998yb] {
    background: transparent;
    border-radius: 0;
    padding: 1.4rem 1.4rem 1.1rem;
    margin-bottom: 1rem;
    color: var(--aey-text-main);
    box-shadow: var(--aey-shadow);
}

.ios-hero-label[b-vtbbz998yb] {
    font-size: 0.82rem;
    color: var(--aey-text-muted);
    margin-bottom: 0.2rem;
}

.ios-hero-value[b-vtbbz998yb] {
    font-size: 2.1rem;
    font-weight: 700;
    letter-spacing: -0.5px;
    font-variant-numeric: tabular-nums;
    margin-bottom: 1.1rem;
    line-height: 1.1;
}

/* ── Total Assets / Liabilities Row ── */
.ios-hero-assets-row[b-vtbbz998yb] {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
    background: var(--surface-2);
    border-radius: 10px;
    padding: 0.5rem 1rem;
}

.ios-hero-asset-item[b-vtbbz998yb] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ios-hero-asset-label[b-vtbbz998yb] {
    font-size: 0.72rem;
    color: var(--aey-text-muted);
}

.ios-hero-asset-val[b-vtbbz998yb] {
    font-size: 0.9rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.ios-hero-asset-val.income[b-vtbbz998yb]  { color: var(--aey-primary-green); }
.ios-hero-asset-val.expense[b-vtbbz998yb] { color: var(--aey-primary-red); }

.ios-hero-asset-sep[b-vtbbz998yb] {
    color: var(--ios-separator);
    font-size: 1rem;
}

/* ── Income / Expense Pills inside hero ── */
.ios-hero-pills[b-vtbbz998yb] {
    display: flex;
    background: var(--surface-2);
    border-radius: 14px;
    overflow: hidden;
}

.ios-pill[b-vtbbz998yb] {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 0.7rem 0.9rem;
    gap: 3px;
}

.ios-pill-sep[b-vtbbz998yb] {
    width: 0.5px;
    background: var(--color-separator);
    flex-shrink: 0;
}

.ios-pill-label[b-vtbbz998yb] {
    font-size: 0.68rem;
    color: var(--aey-text-muted);
    font-weight: 500;
}

.ios-pill-val[b-vtbbz998yb] {
    font-size: 0.95rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    line-height: 1.2;
}

.ios-pill-val.income[b-vtbbz998yb]  { color: var(--aey-primary-green); }
.ios-pill-val.expense[b-vtbbz998yb] { color: var(--aey-primary-red); }

.ios-pill-sub[b-vtbbz998yb] {
    font-size: 0.65rem;
    color: var(--aey-text-muted);
}

/* ── Transaction List ── */
.ios-tx-list[b-vtbbz998yb] {
    margin: 0 -0.25rem;
}

.ios-tx-row[b-vtbbz998yb] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.6rem 0.25rem;
    border-bottom: var(--hairline-width) solid var(--color-separator);
    transition: all 0.2s ease;
}

.ios-tx-row:last-child[b-vtbbz998yb] { border-bottom: none; }

.ios-tx-icon[b-vtbbz998yb] {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    flex-shrink: 0;
}

.ios-tx-info[b-vtbbz998yb] {
    flex: 1;
    min-width: 0;
}

.ios-tx-desc[b-vtbbz998yb] {
    font-size: 0.88rem;
    font-weight: 500;
    color: var(--aey-text-main);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ios-tx-meta[b-vtbbz998yb] {
    font-size: 0.72rem;
    color: var(--aey-text-muted);
    margin-top: 0.12rem;
}

.ios-tx-dot[b-vtbbz998yb] {
    margin: 0 0.2rem;
    opacity: 0.6;
}

.ios-tx-amount[b-vtbbz998yb] {
    font-size: 0.9rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    text-align: right;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.ios-tx-amount.income[b-vtbbz998yb]   { color: var(--aey-primary-green); }
.ios-tx-amount.expense[b-vtbbz998yb]  { color: var(--aey-primary-red); }
.ios-tx-amount.transfer[b-vtbbz998yb] { color: var(--ios-blue); }

.ios-tx-currency[b-vtbbz998yb] {
    font-size: 0.65rem;
    font-weight: 400;
    color: var(--aey-text-muted);
}

/* ── Account Rows ── */
.ios-acct-row[b-vtbbz998yb] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.55rem 0;
    border-bottom: var(--hairline-width) solid var(--color-separator);
    transition: all 0.2s ease;
}

.ios-acct-row:last-of-type[b-vtbbz998yb] { border-bottom: none; }

.ios-acct-icon[b-vtbbz998yb] {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    flex-shrink: 0;
}

.ios-acct-info[b-vtbbz998yb] { flex: 1; min-width: 0; }

.ios-acct-name[b-vtbbz998yb] {
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--aey-text-main);
}

.ios-acct-type[b-vtbbz998yb] {
    font-size: 0.72rem;
    color: var(--aey-text-muted);
}

.ios-acct-balance[b-vtbbz998yb] {
    text-align: right;
    color: var(--aey-text-main);
}

.ios-acct-balance.expense[b-vtbbz998yb] { color: var(--aey-primary-red); }

.ios-balance-val[b-vtbbz998yb] {
    display: block;
    font-size: 0.92rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.ios-balance-cur[b-vtbbz998yb] {
    display: block;
    font-size: 0.65rem;
    color: var(--aey-text-muted);
    font-weight: 400;
}

.ios-more-hint[b-vtbbz998yb] {
    text-align: center;
    font-size: 0.78rem;
    color: var(--aey-text-muted);
    padding-top: 0.5rem;
}

/* ── Budget Rows ── */
.ios-budget-row[b-vtbbz998yb] {
    margin-bottom: 0.9rem;
}

.ios-budget-row:last-child[b-vtbbz998yb] { margin-bottom: 0; }

.ios-budget-top[b-vtbbz998yb] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 0.4rem;
}

.ios-budget-label[b-vtbbz998yb] {
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--aey-text-main);
}

.ios-budget-amounts[b-vtbbz998yb] {
    font-size: 0.75rem;
    color: var(--aey-text-muted);
    font-variant-numeric: tabular-nums;
}

/* ── Empty State ── */
.ios-empty[b-vtbbz998yb] {
    text-align: center;
    padding: 1.5rem 1rem;
    color: var(--aey-text-muted);
    font-size: 0.88rem;
    margin: 0;
}

/* ── Monthly Trend Chart ── */
.ios-trend-chart[b-vtbbz998yb] {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    height: 130px;
    padding: 0 0.5rem 0;
}

.ios-trend-col[b-vtbbz998yb] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
}

.ios-trend-bars[b-vtbbz998yb] {
    flex: 1;
    width: 100%;
    display: flex;
    align-items: flex-end;
    gap: 2px;
}

.ios-trend-bar-wrap[b-vtbbz998yb] {
    flex: 1;
    display: flex;
    align-items: flex-end;
    height: 100%;
}

.ios-trend-bar[b-vtbbz998yb] {
    width: 100%;
    border-radius: 4px 4px 0 0;
    min-height: 2px;
    transition: height 0.3s ease;
}

.ios-trend-income[b-vtbbz998yb]  { background: var(--aey-primary-green); }
.ios-trend-expense[b-vtbbz998yb] { background: var(--aey-primary-red); }

.ios-trend-label[b-vtbbz998yb] {
    font-size: 0.72rem;
    color: var(--aey-text-muted);
    margin-top: 4px;
    white-space: nowrap;
}

.ios-trend-legend[b-vtbbz998yb] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 0.5rem 0.5rem 0.75rem;
    font-size: 0.78rem;
    color: var(--aey-text-muted);
}

.ios-legend-dot[b-vtbbz998yb] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: inline-block;
}

.ios-legend-dot.income[b-vtbbz998yb]  { background: var(--aey-primary-green); }
.ios-legend-dot.expense[b-vtbbz998yb] { background: var(--aey-primary-red); }

/* ── Asset Allocation ── */
.ios-alloc-list[b-vtbbz998yb] {
    padding: 0.25rem 0.5rem 0.5rem;
}

.ios-alloc-row[b-vtbbz998yb] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0.25rem;
    border-bottom: 0.5px solid var(--aey-system-bg);
    transition: all 0.2s ease;
}

.ios-alloc-row:last-child[b-vtbbz998yb] { border-bottom: none; }

.ios-alloc-icon[b-vtbbz998yb] {
    font-size: 1.25rem;
    width: 28px;
    text-align: center;
    flex-shrink: 0;
}

.ios-alloc-meta[b-vtbbz998yb] {
    flex: 1;
    min-width: 0;
}

.ios-alloc-name[b-vtbbz998yb] {
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--aey-text-main);
    margin-bottom: 4px;
}

.ios-alloc-bar-wrap[b-vtbbz998yb] {
    background: var(--aey-system-bg);
    border-radius: 4px;
    height: 6px;
    overflow: hidden;
}

.ios-alloc-bar[b-vtbbz998yb] {
    height: 100%;
    border-radius: 4px;
    transition: width 0.3s ease;
}

.ios-alloc-right[b-vtbbz998yb] {
    text-align: right;
    flex-shrink: 0;
}

.ios-alloc-val[b-vtbbz998yb] {
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}

.ios-alloc-pct[b-vtbbz998yb] {
    font-size: 0.73rem;
    color: var(--aey-text-muted);
}

/* ── Pie / Donut Chart ── */
.ios-pie-wrap[b-vtbbz998yb] {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding: 0.75rem 1rem 0.5rem;
}

.ios-pie-donut[b-vtbbz998yb] {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    flex-shrink: 0;
    position: relative;
}

.ios-pie-hole[b-vtbbz998yb] {
    position: absolute;
    inset: 22px;
    background: var(--ios-card);
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.ios-pie-center-val[b-vtbbz998yb] {
    font-size: 0.72rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: var(--ios-text);
}

.ios-pie-center-lbl[b-vtbbz998yb] {
    font-size: 0.6rem;
    color: var(--ios-muted);
}

.ios-pie-legend[b-vtbbz998yb] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.ios-pie-leg-row[b-vtbbz998yb] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.78rem;
}

.ios-pie-dot[b-vtbbz998yb] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}

.ios-pie-leg-name[b-vtbbz998yb] {
    flex: 1;
    color: var(--ios-text);
}

.ios-pie-leg-pct[b-vtbbz998yb] {
    font-weight: 600;
    color: var(--ios-muted);
    font-size: 0.75rem;
}

/* ── 淨資產幣種 badge & modal ─────────────────────────────── */
.ae-nw-currency-badge[b-vtbbz998yb] {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
    border-radius: 6px;
    padding: 2px 7px;
    cursor: pointer;
    vertical-align: middle;
    transition: background 0.15s;
}
.ae-nw-currency-badge:hover[b-vtbbz998yb] { background: var(--nav-glass-bg); }

.ae-nw-modal[b-vtbbz998yb] { max-width: 420px; width: 92vw; }

.ae-nw-table-wrap[b-vtbbz998yb] { padding: 0 16px 16px; }

.ae-nw-table[b-vtbbz998yb] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.93rem;
}
.ae-nw-table th[b-vtbbz998yb] {
    color: var(--ios-muted);
    font-size: 0.78rem;
    font-weight: 500;
    padding: 4px 8px 8px;
    border-bottom: var(--hairline-width) solid var(--glass-border);
}
.ae-nw-table td[b-vtbbz998yb] {
    padding: 10px 8px;
    border-bottom: var(--hairline-width) solid var(--glass-border);
}
.ae-nw-table tbody tr[b-vtbbz998yb] { cursor: pointer; border-radius: 8px; transition: background 0.12s; }
.ae-nw-table tbody tr:hover[b-vtbbz998yb] { background: var(--glass-bg); }
.ae-nw-row-selected[b-vtbbz998yb] { background: var(--nav-glass-bg) !important; }
.ae-nw-total-row td[b-vtbbz998yb] {
    padding-top: 12px;
    font-weight: 700;
    color: var(--ios-blue);
    border-top: var(--hairline-width) solid var(--glass-border);
    border-bottom: none;
}
/* /Pages/IconManagement.razor.rz.scp.css */
.im-page[b-ae6eqa769v] {
    padding-bottom: calc(90px + env(safe-area-inset-bottom));
}

.im-main[b-ae6eqa769v] {
    padding: 0;
}

.im-card[b-ae6eqa769v] {
    border-radius: 18px;
    overflow: hidden;
}

.im-card-header[b-ae6eqa769v] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 14px;
    border-bottom: var(--hairline-width) solid var(--color-separator);
}

.im-card-title[b-ae6eqa769v] {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--color-text);
}

.im-card-sub[b-ae6eqa769v],
.im-main-sub[b-ae6eqa769v],
.im-auth-sub[b-ae6eqa769v] {
    margin-top: 2px;
    font-size: 0.74rem;
    color: var(--color-text);
    opacity: 0.72;
}

.im-auth-card[b-ae6eqa769v] {
    margin: 14px var(--page-padding-x, 16px);
    padding: 16px;
    display: grid;
    gap: 12px;
    border: var(--hairline-width) solid var(--color-separator);
    background: var(--color-surface);
    border-radius: 16px;
    box-shadow: var(--shadow-sm);
}

.im-auth-icon[b-ae6eqa769v] {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    background: var(--accent-soft-12);
    color: var(--color-primary);
    display: grid;
    place-items: center;
}

.im-auth-title[b-ae6eqa769v] {
    font-size: 1rem;
    font-weight: 900;
}

.im-list[b-ae6eqa769v] {
    max-height: none;
    overflow: visible;
}

.im-section-row[b-ae6eqa769v] {
    border-bottom: var(--hairline-width) solid var(--color-separator);
}

.im-section-row:last-child[b-ae6eqa769v] {
    border-bottom: none;
}

.im-main-row[b-ae6eqa769v] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 4px 14px;
    cursor: pointer;
}

.im-display-icon[b-ae6eqa769v] {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: var(--surface-2);
    color: var(--color-text-muted);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.im-main-meta[b-ae6eqa769v] {
    flex: 1;
    min-width: 0;
}

.im-main-name[b-ae6eqa769v] {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    font-size: 0.92rem;
    font-weight: 700;
    color: var(--color-text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.im-system-badge[b-ae6eqa769v],
.im-fixed-badge[b-ae6eqa769v] {
    border-radius: 999px;
    padding: 1px 6px;
    background: var(--surface-2);
    color: var(--color-text-muted);
    font-size: 0.66rem;
    font-weight: 900;
    flex-shrink: 0;
}

.im-main-actions[b-ae6eqa769v],
.im-inline-actions[b-ae6eqa769v] {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-left: 6px;
    flex-shrink: 0;
}

.im-main-act[b-ae6eqa769v] {
    width: 28px;
    height: 28px;
    border: none;
    background: transparent;
    color: var(--color-text-muted);
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
}

.im-main-act:active[b-ae6eqa769v] {
    background: var(--accent-soft-12);
}

.im-main-act:disabled[b-ae6eqa769v] {
    opacity: 0.32;
    cursor: not-allowed;
}

.im-main-act.danger[b-ae6eqa769v] {
    color: var(--ui-danger);
}

.im-drag-handle[b-ae6eqa769v] {
    cursor: grab;
    touch-action: none;
    -webkit-user-drag: none;
    user-select: none;
}

.im-chevron[b-ae6eqa769v] {
    transition: transform 0.16s ease;
}

.im-chevron.open[b-ae6eqa769v] {
    transform: rotate(180deg);
}

.im-inline-icon-list[b-ae6eqa769v] {
    margin-left: 58px;
    border-left: var(--hairline-width) solid var(--color-separator);
}

.im-inline-icon-item[b-ae6eqa769v] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 4px 14px 4px 10px;
    border-top: var(--hairline-width) solid color-mix(in srgb, var(--color-separator) 72%, transparent);
    color: var(--color-text);
}

.im-inline-icon-item.disabled[b-ae6eqa769v] {
    opacity: 0.48;
}

.im-inline-icon-preview[b-ae6eqa769v] {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    background: var(--surface-2);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--color-text-muted);
    flex-shrink: 0;
}

.im-inline-icon-name[b-ae6eqa769v] {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.82rem;
    font-weight: 700;
}

.im-inline-empty[b-ae6eqa769v] {
    margin-left: 58px;
    padding: 10px 14px;
    border-left: var(--hairline-width) solid var(--color-separator);
    border-top: var(--hairline-width) solid color-mix(in srgb, var(--color-separator) 72%, transparent);
    color: var(--color-text-muted);
    font-size: 0.82rem;
}

.im-sheet[b-ae6eqa769v] {
    width: min(540px, 100vw);
}

.im-save-btn[b-ae6eqa769v] {
    width: 100%;
}

.im-form[b-ae6eqa769v] {
    padding: 14px 16px 16px;
    display: grid;
    gap: 9px;
}

.im-form label[b-ae6eqa769v] {
    font-size: 0.78rem;
    font-weight: 900;
    color: var(--color-text-muted);
}

.im-hint[b-ae6eqa769v] {
    margin-top: -4px;
    color: var(--color-text-muted);
    font-size: 0.74rem;
    line-height: 1.45;
}

.im-input[b-ae6eqa769v],
.im-textarea[b-ae6eqa769v] {
    width: 100%;
}

.im-textarea[b-ae6eqa769v] {
    min-height: 138px;
    font-family: var(--font-mono);
    font-size: 0.78rem;
    resize: vertical;
}

.im-check[b-ae6eqa769v] {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--color-text) !important;
}

.im-preview[b-ae6eqa769v] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: var(--hairline-width) solid var(--color-separator);
    border-radius: 12px;
    padding: 8px 10px;
    color: var(--color-text-muted);
    font-size: 0.8rem;
}

.im-preview img[b-ae6eqa769v] {
    width: 42px;
    height: 42px;
    object-fit: contain;
}

.im-error[b-ae6eqa769v] {
    padding: 8px 10px;
    border-radius: 10px;
    background: var(--danger-soft-12);
    color: var(--ui-danger);
    font-size: 0.78rem;
    font-weight: 800;
}

.im-delete-dialog[b-ae6eqa769v] {
    max-width: min(420px, calc(100vw - 32px));
}

.im-delete-copy[b-ae6eqa769v] {
    color: var(--color-text);
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1.45;
}

.im-delete-note[b-ae6eqa769v] {
    margin-top: 10px;
    padding: 10px 12px;
    border-radius: 12px;
    border: var(--hairline-width) solid var(--color-separator);
    background: var(--surface-2);
    color: var(--color-text-muted);
    font-size: 0.78rem;
    line-height: 1.5;
}

@media (max-width: 640px) {
    .im-main-actions[b-ae6eqa769v] {
        gap: 2px;
        margin-left: 0;
    }

    .im-main-act[b-ae6eqa769v] {
        width: 26px;
        height: 26px;
    }

    .im-inline-icon-list[b-ae6eqa769v],
    .im-inline-empty[b-ae6eqa769v] {
        margin-left: 48px;
    }
}
/* /Pages/Import.razor.rz.scp.css */
.import-page[b-v2onvmqoq7]{padding:16px;display:flex;flex-direction:column;gap:16px;color:var(--ios-label)}
.import-hero[b-v2onvmqoq7]{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:20px;border-radius:24px;background:linear-gradient(135deg,var(--color-primary),var(--color-teal));color:var(--color-text)}
.import-hero h1[b-v2onvmqoq7]{margin:0;font-size:1.6rem;font-weight:800}
.import-hero p[b-v2onvmqoq7]{margin:.45rem 0 0;max-width:720px;color:var(--text-secondary)}
.import-badge[b-v2onvmqoq7]{padding:8px 12px;border-radius:999px;background:var(--accent-soft-20);font-weight:700;white-space:nowrap}
.import-grid[b-v2onvmqoq7]{display:grid;grid-template-columns:1.1fr 1.6fr;gap:16px}
.import-card[b-v2onvmqoq7]{padding:18px;border-radius:20px;background:var(--color-surface);border:var(--hairline-width) solid var(--color-separator);box-shadow:var(--shadow-lg)}
.import-card h2[b-v2onvmqoq7]{margin:0;font-size:1.08rem;font-weight:800}
.import-kicker[b-v2onvmqoq7]{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ios-gray);margin-bottom:8px}
.import-upload[b-v2onvmqoq7]{display:flex;justify-content:space-between;align-items:center;gap:16px}
.import-upload-copy p[b-v2onvmqoq7],.import-section-head p[b-v2onvmqoq7]{margin:.4rem 0 0;color:var(--ios-gray)}
.import-file-btn[b-v2onvmqoq7]{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:14px;background:var(--color-teal);color:var(--color-text);font-weight:700;cursor:pointer;overflow:hidden}
.import-file-btn input[b-v2onvmqoq7]{position:absolute;inset:0;opacity:0;cursor:pointer}
.import-file-name[b-v2onvmqoq7]{margin-top:12px;font-size:.88rem;color:var(--ios-gray)}
.import-primary[b-v2onvmqoq7]{border:0;border-radius:14px;background:var(--color-primary);color:var(--color-text);padding:12px 18px;font-weight:800}
.import-primary:disabled[b-v2onvmqoq7]{opacity:.65}
.import-alert[b-v2onvmqoq7]{padding:14px 16px;border-radius:14px;font-weight:600}
.import-alert-error[b-v2onvmqoq7]{background:var(--danger-soft-12);border:1px solid var(--danger-soft-35);color:var(--ui-danger)}
.import-alert-success[b-v2onvmqoq7]{background:var(--success-soft-12);border:1px solid var(--success-soft-15);color:var(--ui-success)}
.import-status[b-v2onvmqoq7]{font-weight:700;color:var(--ios-gray)}
.import-status-line[b-v2onvmqoq7]{margin-bottom:8px}
.import-section-head[b-v2onvmqoq7]{display:flex;justify-content:space-between;gap:12px;align-items:center}
.import-field-inline[b-v2onvmqoq7]{display:flex;align-items:center;gap:8px;margin-top:4px}
.import-field-inline-spaced[b-v2onvmqoq7]{margin-top:10px}
.import-field-label[b-v2onvmqoq7]{font-size:14px;color:var(--ios-secondary-label,#8e8e93);white-space:nowrap}
.import-stats[b-v2onvmqoq7]{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;margin-top:16px}
.import-stat[b-v2onvmqoq7]{padding:14px;border-radius:16px;background:var(--surface-2);display:flex;flex-direction:column;gap:4px}
.import-stat strong[b-v2onvmqoq7]{font-size:1.2rem}
.import-stat-label[b-v2onvmqoq7]{font-size:.78rem;color:var(--ios-gray)}
.import-notes[b-v2onvmqoq7]{display:flex;flex-direction:column;gap:8px;margin-top:16px}
.import-note[b-v2onvmqoq7]{padding:12px 14px;border-radius:14px;background:var(--warning-soft-12);color:var(--color-warning);border:1px solid var(--warning-soft-22)}
.import-list[b-v2onvmqoq7]{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.import-row[b-v2onvmqoq7]{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:16px;background:var(--surface-2)}
.import-row-sub[b-v2onvmqoq7]{margin-top:4px;font-size:.8rem;color:var(--ios-gray)}
.import-row-meta[b-v2onvmqoq7],.import-amount[b-v2onvmqoq7]{font-size:.84rem;font-weight:700;color:var(--text-secondary);text-align:right}
.import-empty[b-v2onvmqoq7]{margin-top:10px;color:var(--ios-gray)}
.import-source-select[b-v2onvmqoq7]{padding:6px 10px;border-radius:10px;background:var(--surface-2);border:var(--hairline-width) solid var(--color-separator);color:var(--ios-label);font-size:.88rem;font-weight:600;cursor:pointer}
.import-source-select:disabled[b-v2onvmqoq7]{opacity:.5;cursor:not-allowed}
.import-help-desc[b-v2onvmqoq7]{margin:.4rem 0 0;color:var(--ios-gray);max-width:920px}
.import-help-details[b-v2onvmqoq7]{margin-top:12px}
.import-help-summary[b-v2onvmqoq7]{cursor:pointer;font-weight:800}
.import-help-steps[b-v2onvmqoq7]{margin:10px 0 0 18px;color:var(--ios-label)}
.import-help-steps li[b-v2onvmqoq7]{margin:6px 0;color:var(--ios-gray)}
.import-help-actions[b-v2onvmqoq7]{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.import-secondary[b-v2onvmqoq7]{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:14px;background:var(--surface-2);border:var(--hairline-width) solid var(--color-separator);color:var(--ios-label);font-weight:800;text-decoration:none}
.import-secondary:hover[b-v2onvmqoq7]{filter:brightness(1.06)}
.import-codebox[b-v2onvmqoq7]{margin-top:14px;padding:14px;border-radius:16px;background:var(--surface-2);border:var(--hairline-width) solid var(--color-separator)}
.import-code-title[b-v2onvmqoq7]{font-size:.78rem;color:var(--ios-gray);font-weight:800;margin-bottom:8px}
.import-code[b-v2onvmqoq7]{width:100%;resize:vertical;border-radius:12px;border:var(--hairline-width) solid var(--color-separator);background:var(--color-surface);color:var(--color-text);padding:10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8rem}
.import-code-hint[b-v2onvmqoq7]{margin-top:8px;color:var(--ios-gray);font-size:.85rem}
.import-code-inline[b-v2onvmqoq7]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}
@media (max-width:900px){.import-grid[b-v2onvmqoq7]{grid-template-columns:1fr}.import-upload[b-v2onvmqoq7],.import-section-head[b-v2onvmqoq7],.import-hero[b-v2onvmqoq7]{flex-direction:column;align-items:flex-start}.import-primary[b-v2onvmqoq7]{width:100%}}

.import-automation[b-v2onvmqoq7]{background:linear-gradient(to bottom right,var(--color-surface),var(--accent-soft-12));border:1px solid var(--accent-border-40)}
.import-automation-list[b-v2onvmqoq7]{display:flex;flex-direction:column;gap:8px;margin:12px 0}
.import-automation-item[b-v2onvmqoq7]{padding:10px 14px;border-radius:12px;background:var(--surface-2);border:var(--hairline-width) solid var(--color-separator)}
.import-automation-info[b-v2onvmqoq7]{display:flex;justify-content:space-between;align-items:center;font-size:.9rem}
.import-automation-info strong[b-v2onvmqoq7]{font-weight:700}
.import-automation-info span[b-v2onvmqoq7]{color:var(--ios-gray);font-size:.85rem}
.import-automation-more[b-v2onvmqoq7]{font-size:.8rem;color:var(--ios-gray);padding-left:14px;font-style:italic}
/* /Pages/Installments.razor.rz.scp.css */
.iv-page[b-l3zuqz0quc] {
    min-height: 100vh;
    padding-bottom: calc(90px + env(safe-area-inset-bottom));
}

.iv-main[b-l3zuqz0quc] {
    display: flex;
    flex-direction: column;
}

.iv-list[b-l3zuqz0quc] {
    display: flex;
    flex-direction: column;
}

/* Centered wrapper for ae-seg tab bar */
.iv-tabs-wrapper[b-l3zuqz0quc] {
    display: flex;
    justify-content: center;
    padding: 10px 14px;
    border-bottom: 0.5px solid var(--color-separator);
}

.iv-item[b-l3zuqz0quc] {
    border-bottom: var(--hairline-width) solid var(--color-separator);
    padding: 10px 14px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px 10px;
    cursor: pointer;
}

.iv-item.ended[b-l3zuqz0quc] {
    opacity: 0.58;
}

.iv-item-left[b-l3zuqz0quc] {
    display: flex;
    gap: 10px;
    min-width: 0;
}

.iv-icon[b-l3zuqz0quc] {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: var(--color-primary);
    color: var(--color-surface);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.iv-icon iconify-icon[b-l3zuqz0quc] {
    width: 14px;
    height: 14px;
}

.iv-meta[b-l3zuqz0quc] {
    min-width: 0;
}

.iv-name[b-l3zuqz0quc] {
    font-size: 0.94rem;
    font-weight: 700;
    color: var(--color-text-strong);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.iv-sub[b-l3zuqz0quc] {
    margin-top: 2px;
    color: var(--color-text-muted);
    font-size: 0.76rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.iv-early-remaining[b-l3zuqz0quc] {
    margin-bottom: 0.75rem;
}

.iv-item-right[b-l3zuqz0quc] {
    text-align: right;
}

.iv-date[b-l3zuqz0quc] {
    color: var(--color-text-muted);
    font-size: 0.72rem;
}

.iv-amount[b-l3zuqz0quc] {
    margin-top: 2px;
    font-size: 1rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.iv-amount.expense[b-l3zuqz0quc] {
    color: var(--amount-expense);
}

.iv-amount.done[b-l3zuqz0quc] {
    color: var(--ui-success);
}

.iv-expand[b-l3zuqz0quc] {
    grid-column: 1 / -1;
    border-top: var(--hairline-width) solid var(--color-separator);
    margin-top: 4px;
    padding-top: 8px;
}

.iv-pay-row[b-l3zuqz0quc] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 0;
    border-bottom: var(--hairline-width) solid var(--color-separator);
    gap: 8px;
}

.iv-pay-row:last-of-type[b-l3zuqz0quc] {
    border-bottom: none;
}

.iv-pay-left[b-l3zuqz0quc],
.iv-pay-right[b-l3zuqz0quc] {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.iv-pay-period[b-l3zuqz0quc] {
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--color-text-strong);
}

.iv-pay-date[b-l3zuqz0quc] {
    font-size: 0.75rem;
    color: var(--color-text-muted);
}

.iv-pay-amt[b-l3zuqz0quc] {
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--color-text-strong);
    font-variant-numeric: tabular-nums;
}

.iv-pay-badge[b-l3zuqz0quc] {
    border-radius: 999px;
    padding: 1px 6px;
    font-size: 0.68rem;
    font-weight: 700;
}

.iv-pay-badge.overdue[b-l3zuqz0quc] {
    color: var(--ui-danger);
    background: var(--danger-soft-10);
}

.iv-pay-badge.paid[b-l3zuqz0quc] {
    color: var(--ui-success);
    background: var(--success-soft-10);
}

.iv-pay-btn[b-l3zuqz0quc],
.iv-early-btn[b-l3zuqz0quc] {
    border: none;
    background: transparent;
    color: var(--color-primary);
    font-size: 0.78rem;
    cursor: pointer;
}

.iv-early-btn[b-l3zuqz0quc] {
    margin-top: 6px;
    display: block;
    width: 100%;
    text-align: right;
}

.iv-summary[b-l3zuqz0quc] {
    position: sticky;
    bottom: calc(var(--ae-tabbar-height, 54px) + env(safe-area-inset-bottom));
    z-index: 11;
    padding: 10px 14px;
    border-top: var(--hairline-width) solid var(--color-separator);
    background: var(--nav-glass-bg);
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.84rem;
    color: var(--color-text-muted);
}

.iv-summary strong[b-l3zuqz0quc] {
    font-size: 1rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.iv-summary .expense[b-l3zuqz0quc] {
    color: var(--amount-expense);
}
/* /Pages/MoreFeatures.razor.rz.scp.css */
:root[b-i0jyxbxgtv]{--mf-card-bg:var(--color-fill);}
.mf-container[b-i0jyxbxgtv]{padding-top:0.5rem;padding-bottom:1.25rem;color:var(--color-text);}
.mf-header[b-i0jyxbxgtv]{padding:0 4px;}
.mf-grid[b-i0jyxbxgtv]{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:0.65rem;padding:0;}
@media(max-width:480px){.mf-grid[b-i0jyxbxgtv]{grid-template-columns:1fr 1fr;gap:0.55rem}}
.mf-card[b-i0jyxbxgtv]{display:flex;gap:0.75rem;align-items:center;padding:0.85rem;border-radius:var(--aey-radius);background:var(--mf-card-bg);border:none;cursor:pointer;text-align:left;color:var(--color-text);appearance:none;-webkit-appearance:none;transition:transform 0.2s ease,box-shadow 0.2s ease}
.mf-card:hover[b-i0jyxbxgtv]{transform:translateY(-4px);box-shadow: var(--shadow-md)}
.mf-icon[b-i0jyxbxgtv]{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;background: var(--surface-2);flex-shrink:0}
.mf-title[b-i0jyxbxgtv]{font-weight:700;font-size:0.92rem;color:var(--color-text)}
.mf-desc[b-i0jyxbxgtv]{font-size:0.78rem;color:var(--color-text-muted);margin-top:0.12rem}
.mf-header h1[b-i0jyxbxgtv]{margin:0;font-size:1.4rem;font-weight:800}
.mf-sub[b-i0jyxbxgtv]{margin-top:0.25rem;color:var(--color-text-muted)}
.mf-section[b-i0jyxbxgtv]{margin-top:1.25rem;}
.mf-section h2[b-i0jyxbxgtv]{font-size:0.95rem;color:var(--color-text-muted);margin-bottom:0.5rem;font-weight:700;padding:0 4px;}

/* Migrated from MoreFeatures.razor inline style. */
.mf-container[b-i0jyxbxgtv] { padding: 1.25rem; color: var(--color-text); }
    .mf-header h1[b-i0jyxbxgtv] { margin: 0; font-size: 1.4rem; font-weight: 800; }
    .mf-sub[b-i0jyxbxgtv] { margin-top: 0.25rem; color: var(--color-text-muted); }

    .mf-section[b-i0jyxbxgtv] { margin-top: 1.25rem; }
    .mf-section h2[b-i0jyxbxgtv] { font-size: 0.95rem; color: var(--color-text-muted); margin-bottom: 0.5rem; font-weight:700 }

    .mf-grid[b-i0jyxbxgtv] { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 0.8rem; }
    .mf-grid-spaced-bottom[b-i0jyxbxgtv] { margin-bottom: 0.8rem; }

    .mf-card[b-i0jyxbxgtv] {
        display: flex; gap: 0.75rem; align-items: center; padding: 0.85rem; border-radius: 12px;
        background: var(--color-fill);
        color: var(--color-text);
        border: none; cursor: pointer; text-align: left;
        transition: transform 0.12s ease, box-shadow 0.12s ease;
        appearance: none;
        -webkit-appearance: none;
    }
    .mf-card:hover[b-i0jyxbxgtv] { transform: translateY(-4px); box-shadow: var(--shadow-md); }

    .mf-icon[b-i0jyxbxgtv] { width: 44px; height:44px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:20px; background: var(--surface-2); }
    .mf-body[b-i0jyxbxgtv] { flex:1; min-width:0 }
    .mf-title[b-i0jyxbxgtv] { font-weight:700; font-size:0.95rem; color: var(--color-text); }
    .mf-desc[b-i0jyxbxgtv] { font-size:0.8rem; color: var(--color-text-muted); margin-top:0.15rem }

    @media(max-width:600px){ .mf-grid[b-i0jyxbxgtv] { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); } }

    /* ── User card ── */
    .mf-user-card[b-i0jyxbxgtv] {
        background: var(--aey-card-bg, var(--color-surface));
        border-radius: 16px;
        padding: 14px 16px;
        margin-bottom: 1rem;
        border: var(--hairline-width) solid var(--color-separator);
    }
    .mf-user-demo[b-i0jyxbxgtv], .mf-user-auth[b-i0jyxbxgtv] {
        display: flex;
        align-items: center;
        gap: 12px;
    }
    .mf-user-avatar[b-i0jyxbxgtv] {
        width: 44px;
        height: 44px;
        border-radius: 50%;
        flex-shrink: 0;
        object-fit: cover;
    }
    .mf-user-avatar-placeholder[b-i0jyxbxgtv] {
        width: 44px;
        height: 44px;
        border-radius: 50%;
        background: var(--surface-2);
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 20px;
        flex-shrink: 0;
    }
    .mf-user-info[b-i0jyxbxgtv] { flex: 1; min-width: 0; }
    .mf-user-name[b-i0jyxbxgtv] { font-weight: 700; font-size: 0.95rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .mf-user-sub[b-i0jyxbxgtv] { font-size: 0.78rem; color: var(--color-text-muted); margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .mf-login-btn[b-i0jyxbxgtv] {
        background: var(--color-primary);
        color: var(--color-surface);
        border: none;
        border-radius: 20px;
        padding: 7px 16px;
        font-size: 0.85rem;
        font-weight: 600;
        cursor: pointer;
        white-space: nowrap;
    }
    .mf-logout-btn[b-i0jyxbxgtv] {
        background: none;
        border: none;
        font-size: 20px;
        cursor: pointer;
        padding: 6px;
        border-radius: 8px;
        opacity: 0.6;
        flex-shrink: 0;
    }
    .mf-logout-btn:hover[b-i0jyxbxgtv] { opacity: 1; background: var(--surface-2); }
    .mf-sync-badge[b-i0jyxbxgtv] {
        display: inline-block;
        margin-top: 4px;
        font-size: 0.72rem;
        font-weight: 600;
        padding: 2px 8px;
        border-radius: 8px;
        cursor: pointer;
    }
    .mf-sync-badge.ok[b-i0jyxbxgtv] { background: var(--success-soft-12); color: var(--ui-success); }
    .mf-sync-badge.pending[b-i0jyxbxgtv] { background: var(--accent-soft-12); color: var(--color-primary); }
    .mf-sync-badge.danger[b-i0jyxbxgtv] { background: var(--danger-soft-12); color: var(--ui-danger); }
    .mf-sync-panel[b-i0jyxbxgtv] {
        margin-top: 12px;
        padding: 12px;
        background: var(--surface-2);
        border-radius: 10px;
    }
    .mf-sync-panel-msg[b-i0jyxbxgtv] { font-size: 0.85rem; color: var(--color-text); }
    .mf-sync-panel-msg.danger[b-i0jyxbxgtv] { color: var(--ui-danger); }
    .mf-sync-panel-note[b-i0jyxbxgtv] {
        margin-top: 8px;
        font-size: 0.78rem;
        font-weight: 700;
        padding: 8px 10px;
        border-radius: 10px;
    }
    .mf-sync-panel-note.ok[b-i0jyxbxgtv] { background: var(--success-soft-12); color: var(--ui-success); }
    .mf-sync-panel-note.danger[b-i0jyxbxgtv] { background: var(--danger-soft-12); color: var(--ui-danger); }
    .mf-sync-source-row[b-i0jyxbxgtv] {
        display: flex;
        gap: 8px;
        margin-bottom: 10px;
    }
    .mf-sync-source-chip[b-i0jyxbxgtv] {
        border: var(--hairline-width) solid var(--color-separator);
        border-radius: 999px;
        background: var(--color-surface);
        color: var(--color-text-muted);
        padding: 6px 12px;
        font-size: 0.78rem;
        font-weight: 800;
        cursor: pointer;
    }
    .mf-sync-source-chip.active[b-i0jyxbxgtv] {
        border-color: var(--color-primary);
        background: var(--accent-soft-12);
        color: var(--color-primary);
    }
    .mf-sync-conflict[b-i0jyxbxgtv] {
        display: grid;
        gap: 3px;
        margin-top: 8px;
        padding: 8px 10px;
        border-radius: 10px;
        background: var(--warning-soft-12);
        border: 1px solid var(--warning-soft-22);
        font-size: 0.78rem;
        color: var(--color-text);
    }
    .mf-sync-conflict span[b-i0jyxbxgtv] {
        color: var(--color-text-muted);
    }
/* /Pages/Preferences.razor.rz.scp.css */
/* ── Section Header ── */
    .pref-section-header[b-a2yfpr4cum] {
        padding: 0.9rem var(--page-padding-x, 16px) 0.3rem;
        font-size: 0.8rem;
        font-weight: 700;
        color: var(--ios-muted);
        text-transform: uppercase;
        letter-spacing: 0.05em;
    }

    /* ── Group (card-like container) ── */
    .pref-group[b-a2yfpr4cum] {
        background: var(--ios-card);
        border-radius: var(--ios-radius-sm);
        margin: 0 var(--page-padding-x, 16px);
        overflow: hidden;
        box-shadow: var(--ios-shadow);
    }

    /* ── Row ── */
    .pref-row[b-a2yfpr4cum] {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        padding: 0.7rem 1rem;
        border-bottom: 0.5px solid var(--ios-separator);
        min-height: 52px;
    }
    .pref-row.pref-row-last[b-a2yfpr4cum] { border-bottom: none; }
    .pref-row-toggle[b-a2yfpr4cum] { gap: 1rem; }
    .pref-row-stacked[b-a2yfpr4cum] {
        align-items: stretch;
        flex-direction: column;
    }

    .pref-row-info[b-a2yfpr4cum] { flex: 1; min-width: 0; }
    .pref-row-label[b-a2yfpr4cum] { font-weight: 600; font-size: 0.9rem; color: var(--ios-text); }
    .pref-row-sub[b-a2yfpr4cum] {
        font-size: 0.78rem;
        color: var(--ios-muted);
        margin-top: 1px;
        line-height: 1.4;
    }

    /* ── Toggle Switch ── */
    .pref-toggle[b-a2yfpr4cum] {
        position: relative;
        display: inline-flex;
        align-items: center;
        cursor: pointer;
        flex-shrink: 0;
    }
    .pref-toggle input[b-a2yfpr4cum] { opacity: 0; width: 0; height: 0; position: absolute; }
    .pref-toggle-track[b-a2yfpr4cum] {
        width: 50px;
        height: 30px;
        border-radius: 15px;
        background: var(--ios-separator);
        transition: background 0.2s ease;
        position: relative;
    }
    .pref-toggle-track[b-a2yfpr4cum]::after {
        content: '';
        position: absolute;
        top: 3px; left: 3px;
        width: 24px; height: 24px;
        border-radius: 50%;
        background: var(--color-surface);
        box-shadow: var(--shadow-sm);
        transition: transform 0.2s ease;
    }
    .pref-toggle input:checked + .pref-toggle-track[b-a2yfpr4cum] {
        background: var(--ios-green);
    }
    .pref-toggle input:checked + .pref-toggle-track[b-a2yfpr4cum]::after {
        transform: translateX(20px);
    }

    /* ── Chips (inline selector) ── */
    .pref-chip-inline[b-a2yfpr4cum] {
        display: flex;
        gap: 0.3rem;
        flex-wrap: wrap;
        justify-content: flex-end;
        flex-shrink: 0;
    }
    .pref-chip-grid[b-a2yfpr4cum] {
        justify-content: flex-start;
        width: 100%;
    }
    .pref-chip[b-a2yfpr4cum] {
        padding: 4px 12px;
        border-radius: 20px;
        border: var(--hairline-width) solid var(--ios-separator);
        background: var(--ios-fill);
        color: var(--ios-secondary);
        font-size: 0.82rem;
        font-weight: 600;
        cursor: pointer;
        font-family: inherit;
        transition: all 0.12s;
        white-space: nowrap;
    }
    .pref-chip:active[b-a2yfpr4cum] { transform: scale(0.95); }
    .pref-chip.active[b-a2yfpr4cum] {
        background: var(--accent-soft-12);
        border-color: var(--ios-blue);
        color: var(--ios-blue);
    }
    .pref-font-chip[b-a2yfpr4cum] {
        min-width: 86px;
        text-align: center;
    }

    .pref-palette-editor[b-a2yfpr4cum] {
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 0.55rem;
    }
    .pref-icon-text-palette-editor[b-a2yfpr4cum] {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
    .pref-palette-slot[b-a2yfpr4cum] {
        position: relative;
        min-height: 46px;
        border-radius: 16px;
        overflow: hidden;
        background: var(--ios-fill);
        border: 1px solid var(--ios-separator);
    }
    .pref-palette-preview[b-a2yfpr4cum] {
        width: 100%;
        height: 100%;
        min-height: 46px;
        border: none;
        display: block;
    }
    .pref-icon-text-preview[b-a2yfpr4cum] {
        box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--color-text) 14%, transparent);
    }
    .pref-palette-more[b-a2yfpr4cum] {
        position: absolute;
        right: 6px;
        bottom: 6px;
        width: 26px;
        height: 26px;
        background: color-mix(in srgb, var(--color-surface) 82%, transparent);
        border-color: color-mix(in srgb, var(--color-text) 18%, transparent);
        box-shadow: var(--shadow-xs);
    }
    .pref-reset-palette-btn[b-a2yfpr4cum] {
        align-self: flex-start;
        border: 1px solid var(--ios-separator);
        background: var(--ios-fill);
        color: var(--ios-secondary);
        border-radius: 999px;
        padding: 6px 12px;
        font-size: 0.78rem;
        font-weight: 700;
        font-family: inherit;
    }
    .pref-reset-palette-btn:active[b-a2yfpr4cum] {
        transform: scale(0.96);
    }

    /* ── Danger button ── */
    .pref-danger-btn[b-a2yfpr4cum] {
        padding: 6px 16px;
        border-radius: 20px;
        border: 1px solid var(--ui-danger);
        background: transparent;
        color: #FF3B30;
        font-size: 0.82rem;
        font-weight: 600;
        cursor: pointer;
        font-family: inherit;
        transition: all 0.12s;
        white-space: nowrap;
        flex-shrink: 0;
    }
    .pref-danger-btn:active[b-a2yfpr4cum] { transform: scale(0.95); background: rgba(255,59,48,0.08); }

    .pref-input[b-a2yfpr4cum] {
        width: 100%;
        padding: 10px 14px;
        border-radius: 12px;
        border: var(--hairline-width) solid var(--ios-separator);
        background: var(--ios-fill);
        color: var(--ios-text);
        font-size: 0.9rem;
        outline: none;
    }

    .pref-secondary-btn[b-a2yfpr4cum] {
        padding: 10px;
        border-radius: 12px;
        background: var(--ios-blue);
        color: #fff;
        font-weight: 700;
        border: none;
        font-size: 0.85rem;
    }
    .pref-secondary-btn:disabled[b-a2yfpr4cum] { opacity: 0.6; }

    /* ── Saved toast ── */
    .pref-saved-toast[b-a2yfpr4cum] {
        position: fixed;
        bottom: calc(env(safe-area-inset-bottom) + 70px);
        left: 50%; transform: translateX(-50%);
        background: var(--overlay-toast-bg); color: var(--color-surface);
        padding: 7px 18px; border-radius: 20px;
        font-size: 0.85rem; font-weight: 600;
        z-index: 3000; white-space: nowrap;
        animation: prefToastFade-b-a2yfpr4cum 1.8s ease forwards;
        pointer-events: none;
    }
    @keyframes prefToastFade-b-a2yfpr4cum {
        0%   { opacity:0; transform:translateX(-50%) translateY(6px); }
        15%  { opacity:1; transform:translateX(-50%) translateY(0); }
        65%  { opacity:1; }
        100% { opacity:0; }
    }
/* /Pages/Projects.razor.rz.scp.css */
.pm-root[b-a0m6d2wrox] {
    min-height: 100%;
    color: var(--color-text);
}

.pm-root-overview[b-a0m6d2wrox] {
    color: var(--color-text);
}

.pm-overview[b-a0m6d2wrox] {
    background: var(--color-bg);
}

.pm-page[b-a0m6d2wrox],
.pm-editor[b-a0m6d2wrox] {
    min-height: 100dvh;
}

.pm-overview-content[b-a0m6d2wrox] {
    padding: 14px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.pm-overview-section-title[b-a0m6d2wrox] {
    font-size: 20px;
    font-weight: 700;
    color: var(--color-text);
    margin-top: 4px;
}

.pm-overview-row[b-a0m6d2wrox] {
    width: 100%;
    border: none;
    background: transparent;
    color: inherit;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 10px 0;
    border-top: var(--hairline-width) solid var(--color-separator);
    text-align: left;
}

.pm-overview-row.archived[b-a0m6d2wrox] {
    opacity: 0.75;
}

.pm-overview-icon[b-a0m6d2wrox] {
    width: 58px;
    height: 58px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--color-surface);
    flex-shrink: 0;
}

.pm-overview-main[b-a0m6d2wrox] {
    flex: 1;
    min-width: 0;
}

.pm-overview-line1[b-a0m6d2wrox] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 8px;
}

.pm-overview-name[b-a0m6d2wrox] {
    font-size: 20px;
    font-weight: 700;
    color: var(--color-text);
}

.pm-overview-amount[b-a0m6d2wrox] {
    font-size: 18px;
    font-weight: 700;
    color: var(--amount-income);
}

.pm-overview-amount.danger[b-a0m6d2wrox] {
    color: var(--amount-expense);
}

.pm-overview-line2[b-a0m6d2wrox] {
    margin-top: 2px;
    font-size: 14px;
    color: var(--color-text-muted);
}

.pm-overview-track[b-a0m6d2wrox] {
    margin-top: 9px;
    width: 100%;
    height: 6px;
    border-radius: 4px;
    background: var(--color-fill);
    overflow: hidden;
}

.pm-overview-fill[b-a0m6d2wrox] {
    height: 100%;
    border-radius: 4px;
    background: var(--ui-danger);
}

.pm-overview-line3[b-a0m6d2wrox] {
    margin-top: 5px;
    display: flex;
    justify-content: space-between;
    color: var(--amount-expense);
    font-size: 14px;
}

.pm-overview-note[b-a0m6d2wrox] {
    margin-top: 4px;
    color: var(--color-text-secondary);
    font-size: 14px;
    line-height: 1.25;
}

.pm-archived-hint[b-a0m6d2wrox] {
    color: var(--color-text-muted);
    font-size: 12px;
}

.pm-overview-empty[b-a0m6d2wrox] {
    color: var(--color-text-muted);
    font-size: 14px;
    padding: 10px 0;
}

.pm-content[b-a0m6d2wrox] {
    padding: 12px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    background: var(--color-surface);
}

.pm-error[b-a0m6d2wrox] {
    border-radius: 12px;
    padding: 10px;
    background: var(--danger-soft-10);
    color: var(--amount-expense);
    font-size: 13px;
}

.pm-card[b-a0m6d2wrox] {
}

.pm-center[b-a0m6d2wrox] {
    display: flex;
    justify-content: center;
}

.pm-main-icon[b-a0m6d2wrox] {
    width: 90px;
    height: 90px;
    border-radius: 999px;
    border: none;
    color: var(--color-surface);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.pm-label[b-a0m6d2wrox] {
    margin-top: 8px;
    margin-bottom: 6px;
    display: block;
}

.pm-input[b-a0m6d2wrox] {
    width: 100%;
    border: var(--hairline-width) solid var(--color-separator);
    border-radius: 12px;
    padding: 10px;
    outline: none;
    background: var(--color-surface);
}

.pm-textarea[b-a0m6d2wrox] {
    min-height: 84px;
    resize: vertical;
}

.pm-segmented[b-a0m6d2wrox] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border: var(--hairline-width) solid var(--color-separator);
    border-radius: 12px;
    overflow: hidden;
}

.pm-segmented button[b-a0m6d2wrox] {
    border: none;
    background: var(--color-surface);
    padding: 10px;
    font-size: 14px;
}

.pm-segmented button.active[b-a0m6d2wrox] {
    background: var(--color-primary);
    color: var(--color-surface);
    font-weight: 700;
}

.pm-switch-row[b-a0m6d2wrox] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 10px;
}

.pm-hint[b-a0m6d2wrox] {
    color: var(--color-text-muted);
    font-size: 12px;
}

.pm-kpi[b-a0m6d2wrox] {
    margin-top: 10px;
    font-size: 13px;
    color: var(--color-text-secondary);
}

.pm-kpi.danger[b-a0m6d2wrox] {
    color: var(--amount-expense);
}

.pm-progress-bg[b-a0m6d2wrox] {
    margin-top: 6px;
    width: 100%;
    height: 10px;
    border-radius: 5px;
    background: var(--color-fill);
    overflow: hidden;
}

.pm-progress[b-a0m6d2wrox] {
    height: 100%;
    background: var(--ui-success);
    border-radius: 5px;
}

.pm-progress.out[b-a0m6d2wrox],
.pm-progress.danger[b-a0m6d2wrox] {
    background: var(--ui-danger);
}

.pm-progress.in[b-a0m6d2wrox] {
    background: var(--ui-success);
}

.pm-section-title[b-a0m6d2wrox] {
    margin-bottom: 6px;
}

.pm-row[b-a0m6d2wrox] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.pm-meta[b-a0m6d2wrox] {
    font-size: 12px;
    color: var(--color-text-muted);
}

.pm-row .out[b-a0m6d2wrox],
.out[b-a0m6d2wrox] {
    color: var(--amount-expense);
}

.pm-row .in[b-a0m6d2wrox],
.in[b-a0m6d2wrox] {
    color: var(--amount-income);
}

.pm-period[b-a0m6d2wrox] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: var(--hairline-width) solid var(--color-separator);
    border-radius: 12px;
    padding: 8px 10px;
}

.pm-period button[b-a0m6d2wrox] {
    border: none;
    background: transparent;
    font-size: 20px;
    line-height: 1;
}

.pm-dual-track[b-a0m6d2wrox] {
    margin-top: 8px;
    height: 10px;
    border-radius: 5px;
    background: var(--color-fill);
    display: flex;
    overflow: hidden;
}

.pm-dual-track .out[b-a0m6d2wrox] {
    background: var(--ui-danger);
}

.pm-dual-track .in[b-a0m6d2wrox] {
    background: var(--ui-success);
}

.pm-category[b-a0m6d2wrox] {
    width: 100%;
    border: none;
    border-top: var(--hairline-width) solid var(--color-separator);
    padding: 10px 0;
    background: transparent;
    display: flex;
    justify-content: space-between;
}

.pm-top-actions[b-a0m6d2wrox] {
    display: flex;
    gap: 4px;
}

.pm-modal[b-a0m6d2wrox] {
    width: 100%;
    border-radius: 20px 20px 0 0;
    background: var(--color-surface);
    padding: 10px;
    display: grid;
    gap: 8px;
}

.pm-modal button[b-a0m6d2wrox] {
    border: var(--hairline-width) solid var(--color-separator);
    border-radius: 12px;
    background: var(--color-surface);
    padding: 12px;
}

.pm-modal button.danger[b-a0m6d2wrox] {
    color: var(--amount-expense);
}

.pm-warn-copy[b-a0m6d2wrox] {
    margin: 0;
    color: var(--color-text-secondary);
    line-height: 1.5;
}

.pm-tx-row[b-a0m6d2wrox] {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    border-top: var(--hairline-width) solid var(--color-separator);
}

.pm-tx-item[b-a0m6d2wrox] {
    margin-left: -0.12rem;
    margin-right: -0.12rem;
    padding-left: 0.12rem !important;
    padding-right: 0.12rem !important;
}

.pm-budget-display[b-a0m6d2wrox] {
    width: 100%;
    border: var(--hairline-width) solid var(--color-separator);
    border-radius: 12px;
    background: var(--color-surface);
    padding: 16px;
    font-size: 24px;
    font-weight: 700;
    text-align: right;
}

.pm-keypad[b-a0m6d2wrox] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border: var(--hairline-width) solid var(--color-separator);
}

.pm-keypad button[b-a0m6d2wrox] {
    border: var(--hairline-width) solid var(--color-separator);
    background: var(--color-surface);
    height: 58px;
    font-size: 24px;
    font-weight: 700;
}

.pm-toast[b-a0m6d2wrox] {
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    bottom: calc(74px + env(safe-area-inset-bottom));
    background: var(--overlay-toast-bg);
    color: var(--color-surface);
    border-radius: 999px;
    padding: 8px 14px;
    font-size: 13px;
    z-index: 60;
}
/* /Pages/Recurring.razor.rz.scp.css */
.ev-page[b-ktlvh7qzd9] {
    min-height: 100vh;
    padding-bottom: calc(90px + env(safe-area-inset-bottom));
}

/* Centered wrapper for ae-seg tab bar */
.ev-tabs-wrapper[b-ktlvh7qzd9] {
    display: flex;
    justify-content: center;
    padding: 10px 14px;
    border-bottom: 0.5px solid var(--color-separator);
}

.ev-main[b-ktlvh7qzd9] {
    padding-bottom: 14px;
}

.ev-list[b-ktlvh7qzd9] {
    width: 100%;
}

.ev-item[b-ktlvh7qzd9] {
    border-bottom: var(--hairline-width) solid var(--color-separator);
    padding: 10px 14px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px 10px;
    cursor: pointer;
}

.ev-item.ended[b-ktlvh7qzd9] {
    opacity: 0.58;
}

.ev-item-left[b-ktlvh7qzd9] {
    display: flex;
    gap: 10px;
    min-width: 0;
}

.ev-icon[b-ktlvh7qzd9] {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--color-text);
    flex-shrink: 0;
}

.ev-icon iconify-icon[b-ktlvh7qzd9] {
    width: 14px;
    height: 14px;
}

.ev-icon.income[b-ktlvh7qzd9] {
    background: var(--color-primary);
}

.ev-icon.expense[b-ktlvh7qzd9] {
    background: var(--color-warning);
}

.ev-meta[b-ktlvh7qzd9] {
    min-width: 0;
}

.ev-name[b-ktlvh7qzd9] {
    font-size: 0.94rem;
    font-weight: 700;
    color: var(--color-text-strong);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ev-sub[b-ktlvh7qzd9] {
    margin-top: 2px;
    color: var(--color-text-muted);
    font-size: 0.76rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ev-item-right[b-ktlvh7qzd9] {
    text-align: right;
}

.ev-amount[b-ktlvh7qzd9] {
    font-size: 1rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.ev-amount.income[b-ktlvh7qzd9] {
    color: var(--amount-income);
}

.ev-amount.expense[b-ktlvh7qzd9] {
    color: var(--amount-expense);
}

.ev-currency[b-ktlvh7qzd9] {
    margin-top: 2px;
    color: var(--color-text-muted);
    font-size: 0.72rem;
}

.ev-actions[b-ktlvh7qzd9] {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.ev-action-btn[b-ktlvh7qzd9] {
    border: none;
    background: transparent;
    color: var(--color-primary);
    font-size: 0.78rem;
    padding: 2px 0;
    cursor: pointer;
}

.ev-action-btn.danger[b-ktlvh7qzd9] {
    color: var(--ui-danger);
}

.ev-summary[b-ktlvh7qzd9] {
    position: sticky;
    bottom: calc(var(--ae-tabbar-height, 54px) + env(safe-area-inset-bottom));
    z-index: 11;
    padding: 10px 14px;
    border-top: var(--hairline-width) solid var(--color-separator);
    background: var(--glass-bg);
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.84rem;
    color: var(--color-text-muted);
}

.ev-summary strong[b-ktlvh7qzd9] {
    font-size: 1rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.ev-summary .expense[b-ktlvh7qzd9] {
    color: var(--ui-danger);
}

.ae-recurring-frequency-picker[b-ktlvh7qzd9] {
    flex: 2;
}

.ae-recurring-interval-input[b-ktlvh7qzd9] {
    flex: 1;
}

.ae-recurring-scope-options[b-ktlvh7qzd9] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 0.25rem;
}

.ae-recurring-scope-option[b-ktlvh7qzd9] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 42px;
    padding: 0.45rem 0.65rem;
    border-radius: 12px;
    border: var(--hairline-width) solid var(--color-separator);
    background: var(--surface-2);
    color: var(--color-text);
}

.ae-recurring-scope-input[b-ktlvh7qzd9] {
    width: 1.05rem;
    height: 1.05rem;
    accent-color: var(--color-primary);
}

.ae-recurring-scope-label[b-ktlvh7qzd9] {
    color: var(--color-text-secondary);
    font-size: 0.86rem;
    font-weight: 700;
}
/* /Pages/ReminderSettings.razor.rz.scp.css */
.pref-notification-status[b-1uqd3rd632] {
    font-weight: 800;
}

.pref-notification-status-granted[b-1uqd3rd632] {
    color: var(--ios-green);
}

.pref-notification-status-denied[b-1uqd3rd632] {
    color: var(--ui-danger);
}

.pref-notification-status-unsupported[b-1uqd3rd632] {
    color: var(--color-warning);
}
/* /Pages/Reports.razor.rz.scp.css */
.table-group-header td[b-rfcbqs76y7] {
    font-weight: bold;
    background-color: var(--ios-bg-tint);
    padding-top: 1rem;
    padding-bottom: 0.5rem;
}

.table-group-footer[b-rfcbqs76y7] {
    border-top: 2px solid var(--ios-bg-tint);
    border-bottom: 2px solid var(--ios-bg-tint);
}

.table-group-footer td[b-rfcbqs76y7] {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

.table-responsive[b-rfcbqs76y7] {
    border-top: 1px solid var(--ios-border);
}
/* /Pages/SavingsGoals.razor.rz.scp.css */
.ae-goal-stats[b-285104ba7r] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 16px;
}

.ae-goal-empty[b-285104ba7r] {
    padding: 1.5rem;
    color: var(--ios-muted);
    text-align: center;
}

.ae-goal-card[b-285104ba7r] {
    padding: 16px;
    margin-bottom: 1rem;
}

.ae-goal-card-archived[b-285104ba7r] {
    opacity: 0.6;
    margin-bottom: 0.5rem;
}

.ae-goal-top[b-285104ba7r] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
}

.ae-goal-icon[b-285104ba7r] {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--color-primary), var(--color-indigo));
    color: var(--color-surface);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.ae-goal-info[b-285104ba7r] {
    flex: 1;
    min-width: 0;
}

.ae-goal-name[b-285104ba7r] {
    font-weight: 700;
    font-size: 1rem;
    margin-bottom: 4px;
}

.ae-goal-meta[b-285104ba7r] {
    font-size: 0.8rem;
    color: var(--ios-muted);
    display: flex;
    align-items: center;
    gap: 6px;
}

.ae-goal-actions[b-285104ba7r] {
    display: flex;
    gap: 6px;
    flex-shrink: 0;
}

.ae-goal-icon-btn[b-285104ba7r] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 10px;
    border: var(--hairline-width) solid var(--color-separator);
    background: var(--color-surface);
    color: var(--color-text-secondary);
    cursor: pointer;
}

.ae-goal-icon-btn:active[b-285104ba7r] {
    background: var(--surface-2);
}

.ae-goal-icon-btn-danger[b-285104ba7r] {
    color: var(--ui-danger);
    border-color: var(--danger-soft-20);
    background: var(--danger-soft-10);
}

.ae-goal-amounts[b-285104ba7r] {
    display: flex;
    align-items: baseline;
    gap: 4px;
    font-size: 0.9rem;
    margin-top: 4px;
}

.ae-goal-current[b-285104ba7r] {
    font-weight: 700;
    font-size: 1.05rem;
    color: var(--amount-income);
}

.ae-goal-slash[b-285104ba7r] {
    color: var(--ios-muted);
}

.ae-goal-target[b-285104ba7r] {
    color: var(--ios-muted);
}

.ae-goal-pct[b-285104ba7r] {
    margin-left: auto;
    font-weight: 700;
    font-size: 0.9rem;
    color: var(--ios-primary);
}

.ae-goal-progress[b-285104ba7r] {
    height: 8px;
    margin-top: 6px;
}

.ae-goal-progress-bar[b-285104ba7r] {
    transition: width 0.5s ease;
}

.ae-goal-linked[b-285104ba7r] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 10px;
}

.ae-goal-archive-toggle[b-285104ba7r] {
    margin-bottom: 0.5rem;
}

/* 關聯帳戶列表 */
.ae-goal-acct-list[b-285104ba7r] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-height: 200px;
    overflow-y: auto;
}

.ae-goal-acct-item[b-285104ba7r] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 8px;
    border: var(--hairline-width) solid var(--color-separator);
    cursor: pointer;
    font-size: 0.88rem;
    transition: background 0.15s;
}

.ae-goal-acct-item:hover[b-285104ba7r] {
    background: var(--surface-2);
}

.ae-goal-acct-item.linked[b-285104ba7r] {
    border-color: var(--ios-primary);
    background: var(--accent-soft-08);
    color: var(--ios-primary);
    font-weight: 600;
}

.ae-goal-acct-balance[b-285104ba7r] {
    margin-left: auto;
    color: var(--ios-muted);
    font-size: 0.8rem;
    font-variant-numeric: tabular-nums;
}

.ae-goal-form-field[b-285104ba7r] {
    margin-bottom: 0.85rem;
}

.ae-goal-form-field:last-child[b-285104ba7r] {
    margin-bottom: 0;
}

.ae-goal-form-label[b-285104ba7r] {
    display: block;
    margin-bottom: 0.34rem;
    color: var(--color-text-secondary);
    font-size: 0.82rem;
    font-weight: 750;
}

.ae-goal-required[b-285104ba7r] {
    margin-left: 0.18rem;
    color: var(--ui-danger);
}

.ae-goal-spinner[b-285104ba7r] {
    display: inline-block;
    width: 0.9rem;
    height: 0.9rem;
    margin-right: 0.25rem;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 999px;
    vertical-align: -0.12em;
    animation: ae-goal-spin-b-285104ba7r 0.65s linear infinite;
}

@keyframes ae-goal-spin-b-285104ba7r {
    to {
        transform: rotate(360deg);
    }
}
/* /Pages/ScheduledIncomes.razor.rz.scp.css */
/* Stats Row */
.si-page-title[b-etj108rcx6] {
  display: flex;
  align-items: center;
  gap: 6px;
}

.si-stats[b-etj108rcx6] {
  display: flex;
  gap: 10px;
  margin-bottom: 16px;
}

.si-stat[b-etj108rcx6] {
  flex: 1;
  background: var(--ae-card-bg);
  border-radius: 12px;
  padding: 14px 16px;
  box-shadow: var(--shadow-sm);
  text-align: center;
}

.si-stat.si-stat-warn .si-stat-val[b-etj108rcx6] {
  color: var(--ui-danger);
}

.si-stat-val[b-etj108rcx6] {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--ae-primary);
}

.si-stat-label[b-etj108rcx6] {
  font-size: 0.78rem;
  color: var(--ae-muted);
  margin-top: 2px;
}

.si-empty[b-etj108rcx6] {
  padding: 2rem;
  color: var(--ae-muted);
  text-align: center;
}

.si-empty-icon[b-etj108rcx6] {
  margin-bottom: 0.5rem;
  color: var(--color-text-muted);
}

.si-empty-sub[b-etj108rcx6] {
  margin-top: 0.3rem;
  font-size: 0.85rem;
}

/* Filter Tabs */
.si-filter-tabs[b-etj108rcx6] {
  display: flex;
  gap: 6px;
  margin-bottom: 12px;
  overflow-x: auto;
}

.si-filter-tab[b-etj108rcx6] {
  padding: 5px 12px;
  border-radius: 20px;
  border: var(--hairline-width) solid var(--color-separator);
  background: transparent;
  font-size: 0.82rem;
  cursor: pointer;
  color: var(--ae-muted);
  white-space: nowrap;
}

.si-filter-tab.active[b-etj108rcx6] {
  background: var(--ae-primary);
  color: var(--color-text);
  border-color: transparent;
}

/* Income Cards */
.si-list[b-etj108rcx6] {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.si-card[b-etj108rcx6] {
  background: var(--ae-card-bg);
  border-radius: 12px;
  padding: 14px 16px;
  box-shadow: var(--shadow-sm);
}

.si-card.si-overdue[b-etj108rcx6] {
  border-left: 3px solid var(--ui-danger);
}

.si-card.si-cancelled[b-etj108rcx6] {
  opacity: 0.6;
}

.si-card-top[b-etj108rcx6] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}

.si-card-left[b-etj108rcx6] { flex: 1; min-width: 0; }
.si-card-right[b-etj108rcx6] { flex-shrink: 0; display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }

.si-amount[b-etj108rcx6] {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--ae-primary);
}

.si-desc[b-etj108rcx6] {
  font-size: 0.9rem;
  margin-top: 2px;
}

.si-meta[b-etj108rcx6] {
  font-size: 0.78rem;
  color: var(--ae-muted);
  margin-top: 4px;
}

.si-dot[b-etj108rcx6] {
  margin: 0 4px;
  opacity: 0.4;
}

.si-actual[b-etj108rcx6] {
  font-size: 0.78rem;
  color: var(--ae-muted);
}

.si-card-actions[b-etj108rcx6] {
  display: flex;
  gap: 8px;
  margin-top: 12px;
  padding-top: 10px;
  border-top: var(--hairline-width) solid var(--color-separator);
}

.si-form-field[b-etj108rcx6] {
  margin-bottom: 0.85rem;
}

.si-form-field:last-child[b-etj108rcx6] {
  margin-bottom: 0;
}

.si-form-label[b-etj108rcx6] {
  display: block;
  margin-bottom: 0.34rem;
  color: var(--color-text-secondary);
  font-size: 0.82rem;
  font-weight: 750;
}

.si-required[b-etj108rcx6] {
  margin-left: 0.18rem;
  color: var(--ui-danger);
}

.si-money-row[b-etj108rcx6] {
  display: flex;
  align-items: stretch;
  gap: 0.45rem;
}

.si-money-row-wide[b-etj108rcx6] {
  max-width: 260px;
}

.si-money-row-narrow[b-etj108rcx6] {
  max-width: 220px;
}

.si-money-row .ios-input[b-etj108rcx6] {
  min-width: 0;
  flex: 1;
}

.si-date-field[b-etj108rcx6] {
  max-width: 180px;
}

.si-currency-chip[b-etj108rcx6] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 4.5rem;
  padding: 0 0.7rem;
  border-radius: 12px;
  border: var(--hairline-width) solid var(--color-separator);
  background: var(--surface-2);
  color: var(--color-text-secondary);
  font-size: 0.82rem;
  font-weight: 800;
}

.si-modal-summary[b-etj108rcx6] {
  margin: 0 0 0.85rem;
  color: var(--color-text-secondary);
  font-size: 0.88rem;
  line-height: 1.45;
}

.si-form-hint[b-etj108rcx6] {
  margin-top: 0.34rem;
  color: var(--color-text-muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.si-spinner[b-etj108rcx6] {
  display: inline-block;
  width: 0.9rem;
  height: 0.9rem;
  margin-right: 0.25rem;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 999px;
  vertical-align: -0.12em;
  animation: si-spin-b-etj108rcx6 0.65s linear infinite;
}

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

.sched-currency-picker[b-etj108rcx6] {
  max-width: 90px;
  flex: 0 0 90px;
}
/* /Pages/SwipeableItem.razor.rz.scp.css */
.swipeable-container[b-cfnl2zjfuk] {
    position: relative;
    overflow: hidden;
    user-select: none;
    touch-action: pan-y; /* 確保單指上下滑動（垂直捲動）依然有效 */
}

.swipeable-action[b-cfnl2zjfuk] {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 60px;
    background-color: var(--ios-green);
    color: var(--color-text);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    font-weight: bold;
    opacity: 0;
    transition: opacity 0.2s ease;
}

.swipeable-action.visible[b-cfnl2zjfuk] {
    opacity: 1;
}

.swipeable-content[b-cfnl2zjfuk] {
    position: relative;
    z-index: 1;
    background-color: var(--color-surface);
}

/* Two-action panel (reconcile + defer) */
.swipeable-actions-dual[b-cfnl2zjfuk] {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 120px;
    display: flex;
    opacity: 0;
    transition: opacity 0.2s ease;
}

.swipeable-actions-dual.visible[b-cfnl2zjfuk] {
    opacity: 1;
}

.swipeable-btn[b-cfnl2zjfuk] {
    flex: 1;
    border: none;
    color: var(--color-text);
    font-size: 1.2rem;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
}

.swipeable-btn-reconcile[b-cfnl2zjfuk] {
    background-color: var(--ios-green);
}

.swipeable-btn-defer[b-cfnl2zjfuk] {
    background-color: var(--color-warning);
}
/* /Pages/TemplateEdit.razor.rz.scp.css */
.tmpl-edit-page[b-3cli2uxfri] {
    position: fixed;
    inset: 0;
    z-index: 200;
    display: flex;
    flex-direction: column;
    min-height: 100dvh;
    background: var(--color-bg);
    color: var(--color-text);
    padding-top: env(safe-area-inset-top);
}

.ae-addtx button[b-3cli2uxfri],
.ae-addtx input[b-3cli2uxfri],
.ae-addtx textarea[b-3cli2uxfri] {
    font-family: inherit;
}

.ae-addtx-header[b-3cli2uxfri] {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr) 72px;
    align-items: center;
    gap: var(--space-2);
    padding: 12px 16px 10px;
    background: var(--color-bg);
    border-bottom: var(--hairline-width) solid var(--color-separator);
}

.ae-addtx-title[b-3cli2uxfri] {
    min-width: 0;
    color: var(--color-text);
    font-size: 1.02rem;
    font-weight: 800;
    text-align: center;
}

.ae-icon-btn[b-3cli2uxfri],
.ae-confirm-btn[b-3cli2uxfri] {
    min-height: 38px;
    border: none;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
}

.ae-icon-btn[b-3cli2uxfri] {
    background: transparent;
    color: var(--ios-muted);
}

.ae-confirm-btn[b-3cli2uxfri] {
    justify-self: end;
    width: 38px;
    height: 38px;
    background: var(--color-primary);
    color: var(--color-surface);
    box-shadow: var(--shadow-sm);
}

.ae-icon-btn:disabled[b-3cli2uxfri],
.ae-confirm-btn:disabled[b-3cli2uxfri] {
    opacity: 0.55;
}

.tmpl-spinner[b-3cli2uxfri] {
    display: inline-block;
    width: 0.95rem;
    height: 0.95rem;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 999px;
    animation: tmpl-spin-b-3cli2uxfri 0.65s linear infinite;
}

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

.ae-addtx-tabs[b-3cli2uxfri] {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 10px 16px;
    background: var(--color-bg);
    border-bottom: var(--hairline-width) solid var(--color-separator);
    scrollbar-width: none;
}

.ae-addtx-tabs[b-3cli2uxfri]::-webkit-scrollbar {
    display: none;
}

.ae-tab[b-3cli2uxfri] {
    flex: 0 0 auto;
    min-height: 34px;
    border: var(--hairline-width) solid var(--color-separator);
    border-radius: 999px;
    background: var(--color-surface);
    color: var(--ios-muted);
    padding: 0 14px;
    font-size: 0.9rem;
    font-weight: 800;
}

.ae-tab.active[b-3cli2uxfri] {
    border-color: var(--accent-border-50);
    background: var(--accent-soft-12);
    color: var(--color-primary);
}

.ae-addtx-scroll[b-3cli2uxfri] {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

.tmpl-edit-scroll[b-3cli2uxfri] {
    padding-top: 12px;
    padding-bottom: calc(96px + env(safe-area-inset-bottom));
}

.ae-confirm-error[b-3cli2uxfri] {
    margin: 0 16px 12px;
    border: var(--hairline-width) solid color-mix(in srgb, var(--danger, #D9534F) 45%, transparent);
    border-radius: var(--radius-md);
    background: color-mix(in srgb, var(--danger, #D9534F) 12%, transparent);
    color: var(--danger, #D9534F);
    padding: 10px 12px;
    font-size: 0.88rem;
    font-weight: 700;
}

.ae-attr-card[b-3cli2uxfri] {
    margin: 0 16px 12px;
}

.ae-attr-sep[b-3cli2uxfri] {
    height: var(--hairline-width);
    margin: 13px -16px;
    background: var(--color-separator);
}

.tmpl-main-card[b-3cli2uxfri] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.tmpl-main-icon[b-3cli2uxfri] {
    width: 54px;
    height: 54px;
    border: none;
    border-radius: 18px;
    background: linear-gradient(135deg, var(--color-primary), var(--color-indigo));
    color: var(--color-surface);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    box-shadow: var(--shadow-sm);
}

.tmpl-main-fields[b-3cli2uxfri] {
    flex: 1 1 auto;
    min-width: 0;
}

.tmpl-main-name[b-3cli2uxfri] {
    width: 100%;
    border: none;
    outline: none;
    background: transparent;
    color: var(--color-text);
    font-size: 1.18rem;
    font-weight: 800;
    font-family: inherit;
    padding: 4px 0 0;
}

.tmpl-field[b-3cli2uxfri] {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.tmpl-field-label[b-3cli2uxfri] {
}

.tmpl-field-hint[b-3cli2uxfri] {
    color: var(--ios-muted);
    font-size: 0.76rem;
}

.tmpl-input[b-3cli2uxfri],
.tmpl-picker-trigger[b-3cli2uxfri] {
    width: 100%;
    min-height: 42px;
    border: var(--hairline-width) solid var(--color-separator);
    border-radius: var(--radius-md);
    background: var(--surface-2);
    color: var(--color-text);
    font-size: 0.95rem;
    font-family: inherit;
    padding: 0 12px;
}

.tmpl-input:focus[b-3cli2uxfri] {
    outline: none;
    border-color: var(--accent-border-50);
    box-shadow: 0 0 0 3px var(--accent-soft-12);
}

.tmpl-amount-row[b-3cli2uxfri] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.tmpl-currency-picker[b-3cli2uxfri] {
    flex: 0 0 96px;
}

.tmpl-amount-input[b-3cli2uxfri] {
    flex: 1 1 auto;
    min-width: 0;
}

.ae-tags-row[b-3cli2uxfri] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.ae-tag-chip[b-3cli2uxfri] {
    min-height: 32px;
    border-radius: 999px;
    background: var(--accent-soft-12);
    color: var(--color-primary);
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 0 8px 0 12px;
    font-size: 0.88rem;
    font-weight: 800;
}

.ae-tag-remove[b-3cli2uxfri] {
    width: 24px;
    height: 24px;
    border: none;
    border-radius: 999px;
    background: transparent;
    color: inherit;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.ae-tag-input[b-3cli2uxfri] {
    flex: 1 1 140px;
    min-width: 120px;
    min-height: 34px;
    border: none;
    outline: none;
    background: transparent;
    color: var(--color-text);
    font-size: 0.95rem;
}

.ae-tag-input[b-3cli2uxfri]::placeholder,
.ae-notes-input[b-3cli2uxfri]::placeholder,
.tmpl-input[b-3cli2uxfri]::placeholder,
.tmpl-main-name[b-3cli2uxfri]::placeholder {
    color: color-mix(in srgb, var(--color-text) 45%, transparent);
}

.ae-notes-input[b-3cli2uxfri] {
    width: 100%;
    min-height: 108px;
    resize: vertical;
    border: none;
    outline: none;
    background: transparent;
    color: var(--color-text);
    font-size: 0.98rem;
    line-height: 1.55;
}

@media (prefers-color-scheme: dark) {
    .ae-attr-card[b-3cli2uxfri],
    .ae-tab[b-3cli2uxfri] {
        border-color: color-mix(in srgb, var(--color-text) 14%, transparent);
    }
}
/* /Pages/Templates.razor.rz.scp.css */
.ae-templates-main[b-arql5rl0d0] {
    padding-top: 4px;
}

.ae-templates-subtitle[b-arql5rl0d0] {
    margin: 0 2px 8px;
}

.ae-tmpl-list[b-arql5rl0d0] {
    display: flex;
    flex-direction: column;
    gap: 0;
    overflow: hidden;
}

.ae-tmpl-empty[b-arql5rl0d0] {
    padding: 18px 14px;
    text-align: center;
    color: var(--ios-muted);
}

.ae-tmpl-card[b-arql5rl0d0] {
    display: flex;
    align-items: stretch;
    gap: 12px;
    padding: 12px;
    border-bottom: var(--hairline-width) solid var(--color-separator);
    min-height: 68px;
}

.ae-tmpl-card:last-child[b-arql5rl0d0] {
    border-bottom: none;
}

.ae-tmpl-card-icon[b-arql5rl0d0] {
    width: 40px;
    min-height: 40px;
    border-radius: 10px;
    background: linear-gradient(135deg, var(--color-primary), var(--color-indigo));
    color: var(--color-surface);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    align-self: center;
}

.ae-tmpl-cat-meta[b-arql5rl0d0] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.ae-tmpl-cat-icon[b-arql5rl0d0] {
    width: 18px;
    height: 18px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--color-surface);
}

.ae-tmpl-card-body[b-arql5rl0d0] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
}

.ae-tmpl-card-name[b-arql5rl0d0] {
    font-weight: 700;
    font-size: 0.92rem;
    color: var(--ios-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ae-tmpl-card-meta[b-arql5rl0d0] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    font-size: 0.76rem;
    color: var(--ios-muted);
    align-items: center;
}

/* Badges – light-mode iOS semantic colors */
.ae-tmpl-badge[b-arql5rl0d0] {
    padding: 2px 7px;
    border-radius: 10px;
    font-size: 0.72rem;
    font-weight: 600;
}
.badge-expense[b-arql5rl0d0]  { background: var(--warning-soft-12); color: var(--color-warning); }
.badge-income[b-arql5rl0d0]   { background: var(--accent-soft-12);  color: var(--color-primary); }
.badge-transfer[b-arql5rl0d0] { background: var(--accent-soft-08);  color: var(--ios-blue); }

.ae-tmpl-card-tags[b-arql5rl0d0] {
    margin-top: 4px;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.ae-tmpl-tag[b-arql5rl0d0] {
    padding: 2px 7px;
    border-radius: 20px;
    background: var(--accent-soft-08);
    border: 1px solid var(--accent-border-40);
    color: var(--ios-blue);
    font-size: 0.72rem;
    font-weight: 600;
}

/* Action buttons */
.ae-tmpl-card-actions[b-arql5rl0d0] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex-shrink: 0;
    justify-content: center;
}

.ae-tmpl-act-btn[b-arql5rl0d0] {
    background: transparent;
    border: var(--hairline-width) solid var(--color-separator);
    border-radius: var(--ios-radius-xs);
    padding: 5px 8px;
    cursor: pointer;
    font-size: 0.85rem;
    color: var(--ios-secondary);
    transition: background 0.15s, border-color 0.15s;
    line-height: 1;
}
.ae-tmpl-act-btn:hover[b-arql5rl0d0]        { background: var(--ios-fill); }
.ae-tmpl-act-btn.danger:hover[b-arql5rl0d0] { background: var(--danger-soft-10); border-color: var(--danger-soft-35); color: var(--ui-danger); }

.ae-tmpl-delete-copy[b-arql5rl0d0] {
    margin: 0;
    color: var(--color-text);
    font-size: 0.92rem;
    line-height: 1.45;
}

.tmpl-currency-picker[b-arql5rl0d0] {
    max-width: 90px;
    flex: 0 0 90px;
}
/* /Pages/ThemeSettings.razor.rz.scp.css */
.theme-page-main[b-0c3im3g0qh] {
        padding: 14px var(--page-padding-x, 16px) calc(env(safe-area-inset-bottom) + 20px);
    }

    .theme-grid[b-0c3im3g0qh] {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .theme-card[b-0c3im3g0qh] {
        position: relative;
        text-align: left;
        border: var(--hairline-width) solid var(--color-separator);
        border-radius: var(--radius-lg);
        background: var(--color-surface);
        padding: 10px;
        cursor: pointer;
        box-shadow: var(--shadow-sm);
        transition: transform var(--transition-fast), border-color var(--transition-base), box-shadow var(--transition-base), background-color var(--transition-base);
    }

    .theme-card:active[b-0c3im3g0qh] { transform: scale(0.98); }

    .theme-card.selected[b-0c3im3g0qh] {
        border-color: var(--color-primary);
        box-shadow: 0 0 0 2px rgba(0, 122, 255, 0.22), var(--shadow-sm);
    }

    .theme-preview[b-0c3im3g0qh] {
        height: 92px;
        border-radius: 12px;
        border: var(--hairline-width) solid rgba(255, 255, 255, 0.12);
        padding: 10px;
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    .theme-preview-title[b-0c3im3g0qh] {
        font-size: 0.88rem;
        font-weight: 700;
        letter-spacing: 0.01em;
    }

    .theme-preview-row[b-0c3im3g0qh] {
        height: 10px;
        border-radius: 999px;
        background: color-mix(in srgb, currentColor 24%, transparent);
    }

    .theme-preview-row.short[b-0c3im3g0qh] { width: 68%; }

    .theme-meta[b-0c3im3g0qh] {
        margin-top: 9px;
    }

    .theme-name[b-0c3im3g0qh] {
        font-size: 0.88rem;
        font-weight: 700;
        color: var(--color-text);
    }

    .theme-code[b-0c3im3g0qh] {
        margin-top: 2px;
        font-size: 0.74rem;
        color: var(--color-text-muted);
        font-family: var(--font-mono);
    }

    .theme-check[b-0c3im3g0qh] {
        position: absolute;
        right: 9px;
        bottom: 9px;
        width: 24px;
        height: 24px;
        border-radius: 999px;
        background: var(--color-primary);
        color: #fff;
        font-size: 0.86rem;
        display: grid;
        place-items: center;
        box-shadow: 0 6px 16px rgba(0, 122, 255, 0.36);
    }

    @media (min-width: 900px) {
        .theme-grid[b-0c3im3g0qh] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    }
/* /Pages/TotpAuth.razor.rz.scp.css */
.totp-container[b-38rke991dl] {
        width: 100%;
        max-width: 360px;
        padding: 40px 24px 32px;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0;
    }

    .totp-icon[b-38rke991dl] {
        margin-bottom: 20px;
    }

    .totp-icon-symbol[b-38rke991dl] {
        color: #007AFF;
    }

    .totp-title[b-38rke991dl] {
        font-size: 24px;
        font-weight: 700;
        color: #1C1C1E;
        margin: 0 0 8px;
        letter-spacing: -0.5px;
    }

    .totp-subtitle[b-38rke991dl] {
        font-size: 14px;
        color: #8E8E93;
        margin: 0 0 24px;
        text-align: center;
        line-height: 1.5;
    }

    .totp-security-note[b-38rke991dl] {
        width: 100%;
        display: flex;
        align-items: flex-start;
        gap: 8px;
        margin: 0 0 18px;
        padding: 11px 12px;
        border: 1px solid rgba(191, 142, 75, 0.28);
        border-radius: 14px;
        background: rgba(191, 142, 75, 0.08);
        color: #7a5a31;
        font-size: 12px;
        line-height: 1.5;
        text-align: left;
    }

    .totp-security-note iconify-icon[b-38rke991dl] {
        flex: 0 0 auto;
        margin-top: 1px;
    }

    .totp-error-msg[b-38rke991dl] {
        font-size: 13px;
        color: #FF3B30;
        margin-bottom: 12px;
        display: flex;
        align-items: center;
        gap: 5px;
        text-align: center;
    }

    .totp-boxes[b-38rke991dl] {
        display: flex;
        gap: 10px;
        margin-bottom: 24px;
    }

    .totp-box[b-38rke991dl] {
        width: 45px;
        height: 55px;
        border: 0.5px solid #D1D1D6;
        border-radius: 8px;
        font-size: 24px;
        font-weight: 600;
        color: #1C1C1E;
        text-align: center;
        background: #FAFAFA;
        outline: none;
        caret-color: transparent;
        transition: border-color 0.15s, box-shadow 0.15s;
        -webkit-appearance: none;
        appearance: none;
    }

    .totp-box.active[b-38rke991dl],
    .totp-box:focus[b-38rke991dl] {
        border-color: #007AFF;
        border-width: 1.5px;
        box-shadow: 0 0 0 3px rgba(0, 122, 255, 0.12);
        background: #FFFFFF;
    }

    .totp-error-border .totp-box[b-38rke991dl] {
        border-color: #FF3B30;
        border-width: 1.5px;
    }

    /* Shake animation */
    @keyframes totpShake-b-38rke991dl {
        0%, 100% { transform: translateX(0); }
        15%       { transform: translateX(-6px); }
        30%       { transform: translateX(6px); }
        45%       { transform: translateX(-5px); }
        60%       { transform: translateX(5px); }
        75%       { transform: translateX(-3px); }
        90%       { transform: translateX(3px); }
    }
    .totp-shake[b-38rke991dl] {
        animation: totpShake-b-38rke991dl 0.45s ease;
    }

    .totp-verifying[b-38rke991dl] {
        display: flex;
        align-items: center;
        gap: 8px;
        font-size: 14px;
        color: #007AFF;
        margin-bottom: 16px;
    }

    .totp-spinner[b-38rke991dl] {
        width: 18px;
        height: 18px;
        border: 2px solid rgba(0, 122, 255, 0.2);
        border-top-color: #007AFF;
        border-radius: 50%;
        animation: totpSpin-b-38rke991dl 0.7s linear infinite;
    }

    @keyframes totpSpin-b-38rke991dl {
        to { transform: rotate(360deg); }
    }

    .totp-divider[b-38rke991dl] {
        width: 100%;
        display: flex;
        align-items: center;
        gap: 10px;
        margin: 8px 0 16px;
        color: #C7C7CC;
        font-size: 12px;
    }
    .totp-divider[b-38rke991dl]::before,
    .totp-divider[b-38rke991dl]::after {
        content: '';
        flex: 1;
        height: 0.5px;
        background: #D1D1D6;
    }

    .totp-google-btn[b-38rke991dl] {
        width: 100%;
        height: 48px;
        border: 1px solid #D1D1D6;
        border-radius: 12px;
        background: #FFFFFF;
        color: #1C1C1E;
        font-size: 15px;
        font-weight: 500;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        cursor: pointer;
        transition: background 0.15s;
    }
    .totp-google-btn:active[b-38rke991dl] {
        background: #F2F2F7;
    }

    .totp-footer-hint[b-38rke991dl] {
        font-size: 12px;
        color: #8E8E93;
        margin-top: 16px;
        text-align: center;
    }

    .totp-remember[b-38rke991dl] {
        display: flex;
        align-items: center;
        gap: 8px;
        cursor: pointer;
        margin-bottom: 16px;
        user-select: none;
    }
    .totp-remember input[type="checkbox"][b-38rke991dl] {
        width: 18px;
        height: 18px;
        accent-color: #007AFF;
        cursor: pointer;
        flex-shrink: 0;
    }
    .totp-remember-label[b-38rke991dl] {
        font-size: 13px;
        color: #3C3C43;
        line-height: 1.4;
    }
/* /Pages/TotpSetup.razor.rz.scp.css */
.setup-container[b-11yhv10vz4] {
        width: 100%;
        max-width: 380px;
        padding: 40px 24px 32px;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0;
    }

    .setup-icon[b-11yhv10vz4] { margin-bottom: 16px; }

    .setup-icon-symbol[b-11yhv10vz4] {
        color: #007AFF;
    }

    .setup-title[b-11yhv10vz4] {
        font-size: 22px;
        font-weight: 700;
        color: #1C1C1E;
        margin: 0 0 8px;
        letter-spacing: -0.4px;
        text-align: center;
    }

    .setup-subtitle[b-11yhv10vz4] {
        font-size: 13px;
        color: #8E8E93;
        margin: 0 0 28px;
        text-align: center;
        line-height: 1.6;
    }

    .setup-warning[b-11yhv10vz4] {
        background: #FFF3CD;
        border: 1px solid #FFEEBA;
        border-radius: 10px;
        padding: 12px 16px;
        font-size: 13px;
        color: #856404;
        line-height: 1.6;
        margin-bottom: 20px;
        display: flex;
        align-items: flex-start;
        gap: 8px;
    }
    .setup-warning-critical[b-11yhv10vz4] {
        width: 100%;
        background: rgba(191, 142, 75, 0.08);
        border-color: rgba(191, 142, 75, 0.28);
        color: #7a5a31;
    }
    .setup-warning code[b-11yhv10vz4] {
        font-family: monospace;
        background: rgba(0,0,0,0.06);
        border-radius: 4px;
        padding: 1px 4px;
    }

    .setup-qr-wrapper[b-11yhv10vz4] {
        background: #FFFFFF;
        border: 1px solid #E5E5EA;
        border-radius: 16px;
        padding: 16px;
        margin-bottom: 20px;
        box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    }

    .setup-qr[b-11yhv10vz4] {
        display: block;
        border-radius: 4px;
    }

    .setup-manual[b-11yhv10vz4] {
        width: 100%;
        background: #F2F2F7;
        border-radius: 12px;
        padding: 12px 14px;
        margin-bottom: 24px;
    }

    .setup-manual-label[b-11yhv10vz4] {
        font-size: 11px;
        font-weight: 600;
        color: #8E8E93;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        margin-bottom: 6px;
    }

    .setup-manual-value[b-11yhv10vz4] {
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .setup-manual-value code[b-11yhv10vz4] {
        flex: 1;
        font-size: 13px;
        font-family: 'SF Mono', monospace;
        color: #1C1C1E;
        word-break: break-all;
        letter-spacing: 1px;
    }

    .setup-copy-btn[b-11yhv10vz4] {
        background: none;
        border: none;
        cursor: pointer;
        color: #007AFF;
        padding: 4px;
        flex-shrink: 0;
    }

    .setup-steps[b-11yhv10vz4] {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 10px;
        margin-bottom: 28px;
    }

    .setup-step[b-11yhv10vz4] {
        display: flex;
        align-items: flex-start;
        gap: 10px;
        font-size: 13px;
        color: #3C3C43;
        line-height: 1.5;
    }

    .setup-step-num[b-11yhv10vz4] {
        width: 22px;
        height: 22px;
        border-radius: 50%;
        background: #007AFF;
        color: #FFFFFF;
        font-size: 12px;
        font-weight: 700;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
    }

    .setup-back-btn[b-11yhv10vz4] {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        font-size: 14px;
        color: #007AFF;
        text-decoration: none;
        padding: 8px 16px;
        border-radius: 10px;
        transition: background 0.15s;
    }
    .setup-back-btn:hover[b-11yhv10vz4] {
        background: rgba(0, 122, 255, 0.08);
    }
/* /Pages/TransactionDetailSheet.razor.rz.scp.css */
/* ── Transaction Detail Sheet ── */

.ae-txd-sheet[b-47w86on68p] {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--color-bg);
    border-radius: 20px 20px 0 0;
    max-height: 92dvh;
    overflow-y: auto;
    overflow-x: hidden;
    box-shadow: var(--shadow-lg);
    z-index: 1051;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    transform: translateY(100%);
    transition: transform 0.3s cubic-bezier(0.32, 0.72, 0, 1);
}

.ios-sheet-overlay.show .ae-txd-sheet[b-47w86on68p] {
    transform: translateY(0);
}

/* ── Top bar ── */
.ae-txd-topbar[b-47w86on68p] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.5rem 1rem 0.25rem;
}

.ae-txd-close-btn[b-47w86on68p] {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: var(--surface-2);
    border: none;
    font-size: 0.85rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-text-secondary);
    font-family: inherit;
    transition: background 0.15s;
    flex-shrink: 0;
}

.ae-txd-close-btn:hover[b-47w86on68p] {
    background: var(--surface-2);
    filter: brightness(1.06);
}

.ae-txd-type-chip[b-47w86on68p] {
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.2rem 0.7rem;
    border-radius: 20px;
    letter-spacing: 0;
}

.ae-txd-chip-income[b-47w86on68p]     { background: var(--accent-soft-12);  color: var(--color-primary); }
.ae-txd-chip-expense[b-47w86on68p]    { background: var(--warning-soft-12);  color: var(--color-warning); }
.ae-txd-chip-transfer[b-47w86on68p]   { background: var(--accent-soft-12);  color: var(--color-primary); }
.ae-txd-chip-debtlend[b-47w86on68p]   { background: var(--warning-soft-12); color: var(--color-warning); }
.ae-txd-chip-debtrepay[b-47w86on68p]  { background: var(--success-soft-12);  color: var(--ui-success); }
.ae-txd-chip-split[b-47w86on68p]      { background: var(--accent-purple-soft-12); color: var(--color-accent); }
.ae-txd-chip-installment[b-47w86on68p] { background: var(--accent-soft-12); color: var(--color-primary); }
.ae-txd-chip-adjustment[b-47w86on68p] { background: var(--surface-2); color: var(--color-text-secondary); }
.ae-txd-chip-refund[b-47w86on68p]     { background: var(--success-soft-12);  color: var(--ui-success); }

/* ── Hero ── */
.ae-txd-hero[b-47w86on68p] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0.75rem 1.25rem 1.5rem;
    text-align: center;
}

.ae-txd-hero-icon[b-47w86on68p] {
    width: 4rem;
    height: 4rem;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.75rem;
    margin-bottom: 0.75rem;
    box-shadow: var(--shadow-md);
    color: var(--color-surface);
}

.ae-txd-hero-name[b-47w86on68p] {
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--color-text-strong);
    margin-bottom: 0.35rem;
    max-width: 16rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ae-txd-voided[b-47w86on68p] {
    opacity: 0.5;
    text-decoration: line-through;
}

.ae-txd-hero-amount[b-47w86on68p] {
    font-size: 2.25rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0;
    margin-bottom: 0.3rem;
    line-height: 1.1;
}

.ae-txd-hero-currency[b-47w86on68p] {
    font-size: 1rem;
    font-weight: 500;
}

.ae-txd-hero-sub[b-47w86on68p] {
    font-size: 0.82rem;
    color: var(--color-text-muted);
    font-weight: 500;
}

/* ── Action Bar ── */
.ae-txd-actions[b-47w86on68p] {
    display: flex;
    gap: 0.75rem;
    padding: 0 1.25rem 0.75rem;
    justify-content: center;
}

.ae-txd-action-btn[b-47w86on68p] {
    flex: 1;
    max-width: 6rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.3rem;
    padding: 0.6rem 0.5rem;
    background: var(--color-surface);
    border: none;
    border-radius: var(--radius-md);
    cursor: pointer;
    font-family: inherit;
    box-shadow: var(--shadow-sm);
    transition: background 0.15s, transform 0.1s;
    min-height: 60px;
}

.ae-txd-action-btn:active:not(:disabled)[b-47w86on68p] {
    background: var(--surface-2);
    transform: scale(0.97);
}

.ae-txd-action-btn:disabled[b-47w86on68p] {
    opacity: 0.38;
    cursor: not-allowed;
}

.ae-txd-action-icon[b-47w86on68p] {
    font-size: 1.2rem;
    line-height: 1;
}

.ae-txd-action-label[b-47w86on68p] {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--color-text-secondary);
}

.ae-txd-action-danger .ae-txd-action-icon[b-47w86on68p] {
    color: var(--ui-danger);
}

.ae-txd-action-danger .ae-txd-action-label[b-47w86on68p] {
    color: var(--ui-danger);
}

@media (max-width: 430px) {
    .ae-txd-sheet[b-47w86on68p] {
        border-radius: 18px 18px 0 0;
        max-height: 94dvh;
    }

    .ae-txd-topbar[b-47w86on68p] {
        padding: 0.45rem 0.85rem 0.18rem;
    }

    .ae-txd-hero[b-47w86on68p] {
        padding: 0.55rem 1rem 1rem;
    }

    .ae-txd-hero-icon[b-47w86on68p] {
        width: 3.35rem;
        height: 3.35rem;
        border-radius: 14px;
        margin-bottom: 0.58rem;
    }

    .ae-txd-hero-name[b-47w86on68p] {
        max-width: min(18rem, 86vw);
        font-size: 1rem;
    }

    .ae-txd-hero-amount[b-47w86on68p] {
        font-size: 1.95rem;
    }

    .ae-txd-actions[b-47w86on68p] {
        gap: 0.55rem;
        padding: 0 0.9rem 0.65rem;
    }

    .ae-txd-action-btn[b-47w86on68p] {
        min-height: 54px;
        padding: 0.5rem 0.42rem;
        border-radius: 10px;
    }

    .ae-txd-action-label[b-47w86on68p] {
        font-size: 0.7rem;
    }

    .ae-txd-group[b-47w86on68p] {
        margin-inline: 0.62rem;
    }

    .ae-txd-row[b-47w86on68p] {
        padding-inline: 0.82rem;
    }
}

/* ── Body / Groups ── */
.ae-txd-body[b-47w86on68p] {
    padding: 0 0 0.5rem;
}

.ae-txd-group[b-47w86on68p] {
    background: var(--color-surface);
    border-radius: var(--radius-md);
    margin: 0 0.75rem 0.5rem;
    overflow: hidden;
    box-shadow: var(--shadow-xs);
}

.ae-txd-row[b-47w86on68p] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.7rem 1rem;
    border-bottom: var(--hairline-width) solid var(--color-separator);
    min-height: 44px;
    gap: 0.5rem;
}

.ae-txd-row:last-child[b-47w86on68p] {
    border-bottom: none;
}

.ae-txd-row-block[b-47w86on68p] {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.4rem;
}

.ae-txd-row-header[b-47w86on68p] {
    background: var(--surface-2);
    padding-block: 0.45rem;
}
.ae-txd-header-hint[b-47w86on68p] {
    font-size: 0.75rem;
    color: var(--ios-gray);
}

.ae-txd-label[b-47w86on68p] {
    font-size: var(--text-sm);
    color: var(--color-text-muted);
    flex-shrink: 0;
    min-width: 4.5rem;
    font-weight: 500;
}

.ae-txd-value[b-47w86on68p] {
    font-size: var(--text-base);
    color: var(--color-text-strong);
    font-weight: 500;
    text-align: right;
    flex: 1;
}
.ae-txd-value-strong[b-47w86on68p] {
    font-weight: 700;
}

.ae-txd-row-block .ae-txd-value[b-47w86on68p] {
    text-align: left;
    width: 100%;
}

.ae-txd-notes[b-47w86on68p] {
    font-size: 0.85rem;
    color: var(--color-text-secondary);
    white-space: pre-wrap;
    word-break: break-word;
    font-weight: 400;
    line-height: 1.5;
}

.ae-txd-cat-parent[b-47w86on68p] {
    color: var(--color-text-muted);
    font-weight: 400;
}

.ae-txd-cat-sep[b-47w86on68p] {
    color: var(--color-separator);
}

.ae-txd-tags[b-47w86on68p] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    justify-content: flex-end;
}

.ae-txd-cur-badge[b-47w86on68p] {
    font-size: 0.72rem;
    background: var(--surface-2);
    padding: 0.1rem 0.35rem;
    border-radius: 4px;
    margin-left: 0.25rem;
    font-weight: 600;
}

.ae-txd-mono[b-47w86on68p] {
    font-family: var(--font-mono);
    font-size: 0.78rem;
    color: var(--color-text-secondary);
}

/* ── Event type badge ── */
.ae-txd-event-badge[b-47w86on68p] {
    display: inline-block;
    padding: 0.15rem 0.55rem;
    border-radius: 6px;
    font-size: 0.75rem;
    font-weight: 700;
}

.ae-txd-event-週期[b-47w86on68p]    { background: var(--accent-soft-12); color: var(--color-primary); }
.ae-txd-event-分期[b-47w86on68p]    { background: var(--accent-purple-soft-12); color: var(--color-accent); }
.ae-txd-event-延後入帳[b-47w86on68p] { background: var(--warning-soft-12); color: var(--color-warning); }
.ae-txd-event-單次[b-47w86on68p]    { background: var(--surface-2);  color: var(--color-text-secondary); }

/* ── Installment Progress ── */
.ae-txd-progress-wrap[b-47w86on68p] {
    padding: 0.5rem 1rem 0.85rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.ae-txd-progress-bar[b-47w86on68p] {
    flex: 1;
    height: 5px;
    background: var(--surface-2);
    border-radius: 3px;
    overflow: hidden;
}

.ae-txd-progress-fill[b-47w86on68p] {
    height: 100%;
    background: var(--color-primary);
    border-radius: 3px;
    transition: width 0.4s ease;
}

.ae-txd-progress-label[b-47w86on68p] {
    font-size: 0.72rem;
    color: var(--color-text-muted);
    font-weight: 500;
    flex-shrink: 0;
}

/* ── Void panel ── */
.ae-txd-void-panel[b-47w86on68p] {
    background: var(--color-surface);
    border-radius: var(--radius-md);
    margin: 0 0.75rem 0.5rem;
    padding: 1rem;
    box-shadow: var(--shadow-xs);
}

.ae-txd-void-title[b-47w86on68p] {
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--ui-danger);
    margin-bottom: 0.5rem;
}

/* ── Refund badges & info ── */
.ae-txd-refund-badge[b-47w86on68p] {
    display: inline-block;
    font-size: 0.65rem;
    font-weight: 700;
    padding: 0.15rem 0.45rem;
    border-radius: 8px;
    background: var(--ui-success);
    color: var(--color-surface);
    vertical-align: middle;
    margin-right: 0.3rem;
}

.ae-txd-refund-summary[b-47w86on68p] {
    font-size: 0.8rem;
    color: var(--ui-success);
    font-weight: 600;
    margin-top: 0.2rem;
}

.ae-txd-refund-link[b-47w86on68p] {
    font-size: 0.78rem;
    color: var(--ios-blue);
    cursor: pointer;
    margin-top: 0.15rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    text-decoration: none;
}

.ae-txd-inline-icon[b-47w86on68p] {
    margin-left: 0.18rem;
    vertical-align: -0.12em;
}

/* ── Split refund row ── */
.ae-txd-split-refund-row[b-47w86on68p] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.45rem 0;
    border-bottom: var(--hairline-width) solid var(--color-separator);
}

.ae-txd-split-refund-row:last-child[b-47w86on68p] {
    border-bottom: none;
}

.ae-txd-split-main[b-47w86on68p] {
    flex: 1;
    min-width: 0;
}

.ae-txd-split-account[b-47w86on68p] {
    font-size: 0.75rem;
    color: var(--color-text-muted);
}

.ae-txd-split-refunded[b-47w86on68p] {
    font-size: 0.75rem;
    color: var(--ui-success);
}

.ae-txd-split-actions[b-47w86on68p] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.ae-txd-split-amount[b-47w86on68p] {
    text-align: right;
}

.ae-txd-split-refund-btn[b-47w86on68p] {
    flex-shrink: 0;
    background: var(--success-soft-12);
    border: 1px solid var(--success-soft-15);
    border-radius: var(--radius-sm);
    color: var(--ui-success);
    font-size: 0.85rem;
    font-weight: 700;
    width: 2rem;
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.15s;
}

.ae-txd-split-refund-btn:active:not(:disabled)[b-47w86on68p] {
    background: var(--success-soft-15);
}

.ae-txd-split-refund-btn:disabled[b-47w86on68p] {
    opacity: 0.4;
    cursor: not-allowed;
}

/* ── Refund history link row ── */
.ae-txd-refund-link-row[b-47w86on68p] {
    cursor: pointer;
    transition: background 0.12s;
    border-radius: 8px;
    padding: 0.3rem 0.25rem;
}

.ae-txd-refund-link-row:active[b-47w86on68p] {
    background: var(--surface-2);
}

.ae-txd-refund-history-text[b-47w86on68p] {
    color: var(--ios-gray);
    font-size: 0.85rem;
    text-align: left;
}

.ae-txd-receipt-preview[b-47w86on68p] {
    margin-top: 0.5rem;
    cursor: zoom-in;
}

.ae-txd-receipt-image[b-47w86on68p] {
    max-width: 100%;
    max-height: 180px;
    border-radius: 10px;
    object-fit: cover;
}

.ae-txd-refund-context[b-47w86on68p] {
    font-size: 0.85rem;
    color: var(--ios-gray);
    font-weight: 400;
}

.ae-txd-form-group[b-47w86on68p] {
    margin-bottom: 0.5rem;
}

.ae-txd-inline-error[b-47w86on68p] {
    margin: 0.5rem 0.75rem;
    padding: 0.55rem 0.75rem;
    font-size: 0.84rem;
}

.ae-txd-input[b-47w86on68p] {
    width: 100%;
}

.ae-txd-input-spaced[b-47w86on68p] {
    margin-bottom: 0.75rem;
}

.ae-txd-spinner[b-47w86on68p] {
    display: inline-block;
    width: 0.9rem;
    height: 0.9rem;
    margin-right: 0.25rem;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 999px;
    vertical-align: -0.12em;
    animation: ae-txd-spin-b-47w86on68p 0.65s linear infinite;
}

@keyframes ae-txd-spin-b-47w86on68p {
    to {
        transform: rotate(360deg);
    }
}

.ae-txd-form-group-last[b-47w86on68p] {
    margin-bottom: 1rem;
}

.ae-txd-form-label[b-47w86on68p] {
    font-size: 0.8rem;
    color: var(--ios-gray);
    margin-bottom: 0.3rem;
}

.ae-txd-safe-bottom[b-47w86on68p] {
    height: max(env(safe-area-inset-bottom), 1.25rem);
}

.ae-txd-receipt-zoom-backdrop[b-47w86on68p] {
    z-index: 1100;
}

/* ── Semantic color helpers (replaces inline style colors) ── */
.ae-txd-val-warning[b-47w86on68p] { color: var(--color-warning); }
.ae-txd-val-income[b-47w86on68p]  { color: var(--ui-success); font-weight: 600; }
.ae-txd-val-muted[b-47w86on68p]   { color: var(--color-text-muted); }
.ae-txd-val-muted-sm[b-47w86on68p] { font-size: 0.75rem; color: var(--color-text-muted); }
.ae-txd-refund-form-title[b-47w86on68p] { color: var(--ui-success); }

@media (max-width: 430px) {
    .ae-txd-group[b-47w86on68p],
    .ae-txd-void-panel[b-47w86on68p] {
        margin-inline: 0.62rem;
        margin-bottom: 0.42rem;
    }

    .ae-txd-row[b-47w86on68p] {
        min-height: 42px;
        gap: 0.45rem;
        padding: 0.62rem 0.82rem;
    }

    .ae-txd-row-header[b-47w86on68p] {
        padding-block: 0.4rem;
    }

    .ae-txd-label[b-47w86on68p] {
        min-width: 4rem;
        font-size: 0.78rem;
    }

    .ae-txd-value[b-47w86on68p] {
        font-size: 0.9rem;
        line-height: 1.35;
    }

    .ae-txd-row-block[b-47w86on68p] {
        gap: 0.32rem;
    }

    .ae-txd-tags[b-47w86on68p] {
        gap: 0.2rem;
    }

    .ae-txd-progress-wrap[b-47w86on68p] {
        padding: 0.48rem 0.82rem 0.72rem;
        gap: 0.55rem;
    }

    .ae-txd-split-refund-row[b-47w86on68p] {
        align-items: flex-start;
        gap: 0.45rem;
        padding: 0.55rem 0;
    }

    .ae-txd-split-actions[b-47w86on68p] {
        align-items: flex-end;
        flex-direction: column;
        gap: 0.3rem;
    }

    .ae-txd-split-amount[b-47w86on68p] {
        font-size: 0.86rem;
    }

    .ae-txd-split-refund-btn[b-47w86on68p] {
        width: 1.85rem;
        height: 1.85rem;
        border-radius: 9px;
    }

    .ae-txd-refund-link-row[b-47w86on68p] {
        padding: 0.5rem 0.35rem;
    }

    .ae-txd-refund-history-text[b-47w86on68p] {
        flex: 1 1 auto;
        min-width: 0;
    }

    .ae-txd-refund-link-row .ae-txd-val-income[b-47w86on68p] {
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .ae-txd-form-group[b-47w86on68p] {
        margin-bottom: 0.65rem;
    }

    .ae-txd-form-label[b-47w86on68p] {
        font-size: 0.78rem;
    }

    .ae-txd-receipt-image[b-47w86on68p] {
        max-height: 150px;
        border-radius: 9px;
    }
}
/* /Pages/Transactions.razor.rz.scp.css */
/* ── Monthly Stats Pills ── */
.ios-stat-pills[b-1ihua2bhe3] {
    display: flex;
    background: var(--surface-2);
    border-top: none;
    border-radius: 0 0 var(--aey-radius) var(--aey-radius);
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.ios-stat-pill[b-1ihua2bhe3] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0.4rem 0.5rem;
    gap: 2px;
}

.ios-sp-sep[b-1ihua2bhe3] {
    width: 0.5px;
    background: var(--color-separator);
    flex-shrink: 0;
}

.ios-sp-label[b-1ihua2bhe3] {
    font-size: 0.65rem;
    color: var(--ios-muted);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.ios-sp-val[b-1ihua2bhe3] {
    font-size: 0.9rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.ios-sp-val.income[b-1ihua2bhe3]  { color: var(--amount-income); }
.ios-sp-val.expense[b-1ihua2bhe3] { color: var(--amount-expense); }

/* ── Filter Card ── */
.ios-filter-card[b-1ihua2bhe3] {
    padding: 1rem;
}

.tx-filter-card[b-1ihua2bhe3] {
    margin-bottom: 0.75rem;
}

.tx-flow-card[b-1ihua2bhe3] {
    margin-top: 0.75rem;
}

/* ── Quick add entry ── */
.tx-quick-add-card[b-1ihua2bhe3] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.65rem;
    align-items: stretch;
    margin: 0.85rem 0 0.75rem;
    padding: 0.65rem;
    border-radius: 18px;
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--color-primary) 10%, transparent), transparent 62%),
        var(--color-surface);
    border: var(--hairline-width) solid var(--color-separator);
}

.tx-quick-primary[b-1ihua2bhe3],
.tx-quick-actions button[b-1ihua2bhe3] {
    border: none;
    border-radius: 14px;
    font: inherit;
    font-weight: 850;
    -webkit-tap-highlight-color: transparent;
}

.tx-quick-primary[b-1ihua2bhe3] {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 0.72rem;
    padding: 0.25rem 0.15rem;
    background: transparent;
    color: var(--color-text);
    text-align: left;
}

.tx-quick-primary strong[b-1ihua2bhe3],
.tx-quick-primary small[b-1ihua2bhe3] {
    display: block;
    min-width: 0;
}

.tx-quick-primary strong[b-1ihua2bhe3] {
    font-size: 1rem;
    letter-spacing: -0.01em;
}

.tx-quick-primary small[b-1ihua2bhe3] {
    margin-top: 0.08rem;
    color: var(--color-text-muted);
    font-size: 0.74rem;
    font-weight: 700;
}

.tx-quick-icon[b-1ihua2bhe3] {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    flex-shrink: 0;
}

.tx-quick-icon.expense[b-1ihua2bhe3] {
    background: var(--danger-soft-12);
    color: var(--ui-danger);
}

.tx-quick-actions[b-1ihua2bhe3] {
    display: flex;
    align-items: stretch;
    gap: 0.42rem;
}

.tx-quick-actions button[b-1ihua2bhe3] {
    min-width: 58px;
    padding: 0.2rem 0.55rem;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.15rem;
    background: var(--surface-2);
    color: var(--color-text);
    font-size: 0.76rem;
}

@media (max-width: 430px) {
    .tx-quick-add-card[b-1ihua2bhe3] {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.55rem;
        padding: 0.58rem;
    }

    .tx-quick-actions[b-1ihua2bhe3] {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.5rem;
    }

    .tx-quick-actions button[b-1ihua2bhe3] {
        flex-direction: row;
        min-height: 38px;
        justify-content: center;
    }

    .tx-quick-primary[b-1ihua2bhe3] {
        gap: 0.6rem;
    }

    .tx-quick-primary strong[b-1ihua2bhe3] {
        font-size: 0.95rem;
    }

    .tx-quick-primary small[b-1ihua2bhe3] {
        font-size: 0.72rem;
    }
}

/* ── Date preset chips ── */
.ios-date-chips[b-1ihua2bhe3] {
    margin-bottom: 0.2rem;
}

.ios-date-chip[b-1ihua2bhe3] {
    padding: 0.25rem 0.7rem;
    border-radius: 20px;
    border: none;
    background: var(--surface-2);
    color: var(--ios-secondary);
    font-size: 0.78rem;
    font-weight: 500;
    cursor: pointer;
    font-family: inherit;
    transition: all 0.15s ease;
    white-space: nowrap;
}

.ios-date-chip.active[b-1ihua2bhe3] {
    background: var(--ios-blue);
    border-color: transparent;
    color: var(--color-text);
}

.ios-filter-row[b-1ihua2bhe3] {
    margin-bottom: 0.6rem;
    flex-wrap: wrap;
}

.ios-filter-row .form-select-sm[b-1ihua2bhe3] {
    flex: 1;
    min-width: 90px;
}

.tx-filter-date-field[b-1ihua2bhe3] {
    flex: 1;
    min-width: 0;
    min-height: 38px;
}

.tx-refund-note[b-1ihua2bhe3] {
    color: var(--amount-income);
    font-size: 0.7rem;
    font-weight: 700;
    margin-top: 0.08rem;
}

.ios-search-input[b-1ihua2bhe3] {
    width: 100%;
    padding: 0.45rem 0.875rem;
    font-size: 0.85rem;
    border: none;
    border-radius: var(--aey-radius);
    background: var(--surface-2);
    color: var(--ios-text);
    appearance: none;
    font-family: inherit;
    transition: all 0.2s ease;
}

.ios-search-input:focus[b-1ihua2bhe3] {
    outline: none;
    background: var(--color-surface);
    box-shadow: 0 0 0 3px var(--accent-soft-12);
}

/* ── Split modal ── */
.tx-split-modal[b-1ihua2bhe3] {
    max-height: 85dvh;
    overflow-y: auto;
}

.tx-split-body[b-1ihua2bhe3] {
    display: flex;
    flex-direction: column;
    gap: 0.72rem;
}

.tx-split-error[b-1ihua2bhe3] {
    margin: 0;
    padding: 0.55rem 0.7rem;
    font-size: 0.84rem;
}

.tx-split-field[b-1ihua2bhe3] {
    display: flex;
    flex-direction: column;
    gap: 0.34rem;
}

.tx-split-label[b-1ihua2bhe3] {
    margin: 0;
    color: var(--color-text-secondary);
    font-size: 0.82rem;
    font-weight: 750;
}

.tx-split-required[b-1ihua2bhe3] {
    color: var(--ui-danger);
    margin-left: 0.2rem;
}

.tx-split-input[b-1ihua2bhe3],
.tx-split-picker[b-1ihua2bhe3] {
    width: 100%;
    min-height: 42px;
}

.tx-split-input[b-1ihua2bhe3] {
    border: var(--hairline-width) solid var(--color-border);
    border-radius: 12px;
    background: var(--color-surface);
    color: var(--color-text);
    padding: 0.62rem 0.75rem;
    font: inherit;
    font-size: 0.92rem;
    outline: none;
}

.tx-split-input:focus[b-1ihua2bhe3] {
    border-color: var(--accent-border-40);
    box-shadow: 0 0 0 3px var(--accent-soft-08);
}

.tx-split-mode-row[b-1ihua2bhe3] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
}

.tx-split-mode[b-1ihua2bhe3],
.tx-split-add-btn[b-1ihua2bhe3],
.tx-split-footer-btn[b-1ihua2bhe3],
.tx-split-remove-btn[b-1ihua2bhe3] {
    border: none;
    font: inherit;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.tx-split-mode[b-1ihua2bhe3] {
    min-height: 38px;
    border-radius: 999px;
    background: var(--surface-2);
    color: var(--color-text-secondary);
    font-weight: 800;
}

.tx-split-mode.active[b-1ihua2bhe3] {
    background: var(--color-primary);
    color: var(--color-surface);
}

.tx-split-divider[b-1ihua2bhe3] {
    height: var(--hairline-width);
    background: var(--color-separator);
    opacity: 0.7;
    margin: 0.28rem 0;
}

.tx-split-participant-header[b-1ihua2bhe3] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.tx-split-add-btn[b-1ihua2bhe3] {
    min-height: 32px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 0.22rem;
    padding: 0 0.68rem;
    background: var(--surface-2);
    color: var(--color-text-secondary);
    font-size: 0.78rem;
    font-weight: 800;
}

.tx-split-participant-row[b-1ihua2bhe3] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) minmax(5.8rem, 0.46fr) auto;
    align-items: center;
    gap: 0.5rem;
}

.tx-split-radio-wrap[b-1ihua2bhe3] {
    flex-shrink: 0;
}

.tx-split-radio[b-1ihua2bhe3] {
    accent-color: var(--color-primary);
}

.tx-split-amount-input[b-1ihua2bhe3] {
    font-variant-numeric: tabular-nums;
}

.tx-split-remove-btn[b-1ihua2bhe3] {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--danger-soft-12);
    color: var(--ui-danger);
    flex-shrink: 0;
}

.tx-split-footer[b-1ihua2bhe3] {
    gap: 0.55rem;
}

.tx-split-footer-btn[b-1ihua2bhe3] {
    flex: 1;
    min-height: 42px;
    border-radius: 12px;
    font-weight: 850;
}

.tx-split-footer-btn.secondary[b-1ihua2bhe3] {
    background: var(--surface-2);
    color: var(--color-text-secondary);
}

.tx-split-footer-btn.primary[b-1ihua2bhe3] {
    background: var(--color-primary);
    color: var(--color-surface);
}

.tx-split-footer-btn:disabled[b-1ihua2bhe3] {
    opacity: 0.45;
    cursor: not-allowed;
}

@media (max-width: 430px) {
    .tx-split-participant-row[b-1ihua2bhe3] {
        grid-template-columns: auto minmax(0, 1fr) 5.6rem auto;
        gap: 0.42rem;
    }

    .tx-split-input[b-1ihua2bhe3] {
        padding-inline: 0.62rem;
        font-size: 0.88rem;
    }
}

/* ── Count label ── */
.ios-count[b-1ihua2bhe3] {
    font-size: 0.8rem;
    color: var(--color-text-muted);
    font-variant-numeric: tabular-nums;
}

/* ── Date Group Header (modifier on top of .ae-tx-date-header) ── */
.tx-list-date-header[b-1ihua2bhe3] {
    margin-top: 0.4rem;
}

.tx-list-date-header:first-child[b-1ihua2bhe3] {
    margin-top: 0;
}

.ios-date-total[b-1ihua2bhe3] {
    font-variant-numeric: tabular-nums;
}

.ios-date-total.income[b-1ihua2bhe3]  { color: var(--amount-income); }
.ios-date-total.expense[b-1ihua2bhe3] { color: var(--amount-expense); }

/* ── Transaction Item (clickable button) ── */
.ios-tx-item[b-1ihua2bhe3] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.68rem;
    padding: 0.62rem 0;
    border: none;
    background: none;
    cursor: pointer;
    text-align: left;
    border-bottom: var(--hairline-width) solid var(--color-separator);
    transition: background 0.15s ease;
    border-radius: var(--radius-sm);
    margin: 0 -0.12rem;
    padding-left: 0.12rem;
    padding-right: 0.12rem;
    -webkit-tap-highlight-color: transparent;
    font-family: inherit;
}

.ios-tx-item:last-child[b-1ihua2bhe3] {
    border-bottom: none;
}

.ios-tx-item:active[b-1ihua2bhe3] {
    background: var(--surface-2);
    transform: scale(0.97);
}

.ios-tx-item.voided[b-1ihua2bhe3] {
    opacity: 0.45;
}

/* ── Icon ── */
.ios-tx-icon[b-1ihua2bhe3] {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    flex-shrink: 0;
    color: var(--color-surface);
}

/* ── Info ── */
.ios-tx-info[b-1ihua2bhe3] {
    flex: 1;
    min-width: 0;
}

.ios-tx-desc[b-1ihua2bhe3] {
    font-size: 0.88rem;
    font-weight: 500;
    color: var(--aey-text-main);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ios-tx-meta[b-1ihua2bhe3] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.72rem;
    color: var(--aey-text-muted);
    margin-top: 0.12rem;
    flex-wrap: wrap;
}

/* ── Tags (拆分, 週期, etc.) ── */
.ios-tag[b-1ihua2bhe3] {
    display: inline-block;
    padding: 0.05rem 0.5rem;
    border-radius: 100px;
    font-size: 0.65rem;
    font-weight: 600;
    background: var(--surface-2);
    color: var(--ios-muted);
}

.ios-tag.danger[b-1ihua2bhe3] {
    background: var(--danger-soft-12);
    color: var(--ui-danger);
}

.ios-tag.debt-link[b-1ihua2bhe3] {
    background: var(--warning-soft-12);
    color: var(--color-warning);
    text-decoration: none;
    cursor: pointer;
}
.ios-tag.debt-link:hover[b-1ihua2bhe3] {
    background: var(--warning-soft-22);
}

/* ── Right Side ── */
.ios-tx-right[b-1ihua2bhe3] {
    text-align: right;
    flex-shrink: 0;
}

.ios-tx-amount[b-1ihua2bhe3] {
    font-size: 0.92rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    display: block;
}

.ios-tx-amount.amount-income[b-1ihua2bhe3]   { color: var(--amount-income); }
.ios-tx-amount.amount-expense[b-1ihua2bhe3]  { color: var(--amount-expense); }
.ios-tx-amount.amount-transfer[b-1ihua2bhe3] { color: var(--color-primary); }

.ios-tx-runbal[b-1ihua2bhe3] {
    font-size: 0.72rem;
    color: var(--aey-text-muted);
    font-variant-numeric: tabular-nums;
    font-weight: 500;
}

.ios-tx-currency[b-1ihua2bhe3] {
    font-size: 0.65rem;
    color: var(--aey-text-muted);
    font-weight: 400;
    display: block;
}

.ios-tx-fee[b-1ihua2bhe3] {
    font-size: 0.65rem;
    color: var(--color-warning);
    display: block;
}

/* ── Empty State ── */
.ios-empty[b-1ihua2bhe3] {
    text-align: center;
    padding: 2rem 1rem;
    color: var(--color-text-muted);
    font-size: 0.88rem;
    margin: 0;
}

/* ── Batch Selection ── */
.ios-tx-item.selected[b-1ihua2bhe3] {
    background: var(--accent-soft-08);
    border-left: 3px solid var(--ios-blue);
}

.ae-batch-bar[b-1ihua2bhe3] {
    position: sticky;
    bottom: calc(env(safe-area-inset-bottom) + 4.5rem);
    background: var(--ios-card);
    border-radius: var(--ios-radius);
    box-shadow: var(--shadow-md);
    padding: 0.75rem 1rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    z-index: 100;
}

.ae-batch-count[b-1ihua2bhe3] {
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--ios-text);
    flex: 1;
}
/* /Pages/WorkJournal.razor.rz.scp.css */
.wj-container[b-yyht9fkmdu] {
        padding: 1rem 1.25rem 2rem;
        max-width: 900px;
        margin: 0 auto;
        color: var(--ios-label, #1c1c1e);
        font-family: var(--font-body);
    }

    /* Header */
    .wj-header[b-yyht9fkmdu] {
        display: flex; align-items: center; justify-content: space-between;
        flex-wrap: wrap; gap: 0.75rem; margin-bottom: 1rem;
    }
    .wj-header-left[b-yyht9fkmdu] { display: flex; align-items: center; gap: 0.75rem; }
    .wj-icon[b-yyht9fkmdu] { font-size: 2.2rem; line-height: 1; }
    .wj-header h1[b-yyht9fkmdu] { margin: 0; font-size: 1.35rem; font-weight: 800; }
    .wj-sub[b-yyht9fkmdu] { margin: 0.1rem 0 0; color: var(--ios-gray, #8e8e93); font-size: 0.82rem; }
    .wj-actions[b-yyht9fkmdu] { display: flex; gap: 0.5rem; flex-wrap: wrap; }

    /* Buttons */
    .wj-btn[b-yyht9fkmdu] {
        padding: 0.4rem 0.85rem; border-radius: 8px; font-size: 0.83rem;
        font-weight: 600; cursor: pointer; border: none; white-space: nowrap;
        transition: opacity 0.15s, transform 0.1s;
    }
    .wj-btn:active[b-yyht9fkmdu] { transform: scale(0.96); }
    .wj-btn-outline[b-yyht9fkmdu] {
        background: transparent; border: 1px solid var(--ios-blue, #007aff);
        color: var(--ios-blue, #007aff);
    }
    .wj-btn-danger[b-yyht9fkmdu] { background: var(--ios-red, #ff3b30); color: #fff; }

    /* Filters */
    .wj-filters[b-yyht9fkmdu] {
        display: flex; align-items: center; gap: 0.65rem; flex-wrap: wrap;
        margin-bottom: 0.85rem;
    }
    .wj-select[b-yyht9fkmdu], .wj-search[b-yyht9fkmdu] {
        padding: 0.4rem 0.65rem; border-radius: 8px; font-size: 0.85rem;
        border: var(--hairline-width) solid var(--color-separator);
        background: var(--ios-fill);
        color: inherit; outline: none;
    }
    .wj-search[b-yyht9fkmdu] { flex: 1; min-width: 160px; }
    .wj-checkbox-label[b-yyht9fkmdu] {
        display: flex; align-items: center; gap: 0.35rem;
        font-size: 0.85rem; cursor: pointer; white-space: nowrap;
    }
    .wj-checkbox[b-yyht9fkmdu] {
        accent-color: var(--color-primary);
    }
    .wj-count[b-yyht9fkmdu] {
        margin-left: auto; font-size: 0.8rem;
        color: var(--ios-gray, #8e8e93); white-space: nowrap;
    }

    /* List */
    .wj-list[b-yyht9fkmdu] {
        display: flex; flex-direction: column; gap: 0.4rem;
    }
    .wj-entry[b-yyht9fkmdu] {
        display: flex; align-items: flex-start; gap: 0.6rem;
        padding: 0.6rem 0.75rem; border-radius: 10px;
        background: var(--ios-fill);
        border: 1px solid transparent; transition: border-color 0.15s;
    }
    .wj-entry:hover[b-yyht9fkmdu] { border-color: rgba(128,128,128,0.15); }
    .wj-error[b-yyht9fkmdu] { background: rgba(255,59,48,0.06); border-color: rgba(255,59,48,0.15) !important; }

    .wj-cat-badge[b-yyht9fkmdu] {
        flex-shrink: 0; width: 30px; height: 30px; border-radius: 8px;
        display: flex; align-items: center; justify-content: center;
        font-size: 1rem; background: rgba(128,128,128,0.1);
    }

    .wj-entry-body[b-yyht9fkmdu] { flex: 1; min-width: 0; }
    .wj-entry-action[b-yyht9fkmdu] {
        font-size: 0.88rem; font-weight: 600; display: flex; align-items: center; gap: 0.4rem;
        color: var(--ios-label, #1c1c1e);
    }
    .wj-err-badge[b-yyht9fkmdu] { color: var(--ios-red, #ff3b30); }
    .wj-code[b-yyht9fkmdu] {
        font-size: 0.72rem; padding: 0.1rem 0.4rem; border-radius: 5px;
        background: rgba(255,59,48,0.12); color: var(--ios-red, #ff3b30); font-weight: 700;
    }
    .wj-detail[b-yyht9fkmdu] {
        font-size: 0.78rem; color: var(--ios-gray, #8e8e93);
        margin-top: 0.15rem; overflow: hidden; text-overflow: ellipsis;
        white-space: nowrap;
    }

    .wj-time[b-yyht9fkmdu] {
        flex-shrink: 0; font-size: 0.75rem;
        color: var(--ios-gray, #8e8e93); white-space: nowrap; padding-top: 0.1rem;
    }

    /* Empty */
    .wj-empty[b-yyht9fkmdu] {
        text-align: center; padding: 3rem 1rem;
        color: var(--ios-gray, #8e8e93); font-size: 0.9rem;
    }
    .wj-empty-icon[b-yyht9fkmdu] { font-size: 3rem; margin-bottom: 0.5rem; }

    .wj-dialog-copy[b-yyht9fkmdu] {
        margin: 0;
        font-size: 0.88rem;
        color: var(--ios-gray, #8e8e93);
    }
/* /Shared/AccountEditorForm.razor.rz.scp.css */
.ae-account-editor[b-5i5jleein8] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 12px;
}

.ae-account-editor-card[b-5i5jleein8] {
    padding: 14px;
    border-radius: 16px;
    background: var(--color-surface);
    border: var(--hairline-width) solid var(--color-separator);
    box-shadow: var(--shadow-xs);
}

.ae-account-editor-error[b-5i5jleein8] {
    margin: 0;
    padding: 0.55rem 0.7rem;
    font-size: 0.84rem;
}

.ae-account-editor-hero[b-5i5jleein8] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.ae-account-editor-hero-fields[b-5i5jleein8] {
    flex: 1;
    min-width: 0;
}

.ae-account-editor-section-title[b-5i5jleein8] {
    margin-bottom: 10px;
}

.ae-account-editor-field[b-5i5jleein8] {
    margin-bottom: 0.85rem;
}

.ae-account-editor-field:last-child[b-5i5jleein8] {
    margin-bottom: 0;
}

.ae-account-editor-label[b-5i5jleein8] {
    display: block;
    margin-bottom: 0.34rem;
    color: var(--color-text-secondary);
    font-size: 0.82rem;
    font-weight: 750;
}

.ae-account-editor-required[b-5i5jleein8] {
    margin-left: 0.2rem;
    color: var(--ui-danger);
}

.ae-account-editor-hint[b-5i5jleein8] {
    margin-top: 6px;
    color: var(--color-text-muted);
    font-size: 0.76rem;
    line-height: 1.45;
}

.ae-account-editor-pick-btn[b-5i5jleein8] {
    min-height: 40px;
    padding: 0 12px;
    border-radius: 12px;
    border: var(--hairline-width) solid var(--color-separator);
    background: var(--surface-2);
    color: var(--color-text);
    font-size: 0.82rem;
    font-weight: 800;
    white-space: nowrap;
}

.ae-account-editor-icon-row[b-5i5jleein8] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.ae-account-editor-icon-row .ios-input[b-5i5jleein8] {
    min-width: 0;
    flex: 1;
}

.ae-account-editor-top-gap[b-5i5jleein8] {
    margin-top: 0.5rem;
}

.ae-account-editor-inline[b-5i5jleein8] {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--color-text-muted);
    font-size: 0.85rem;
}

.ae-account-editor-day-input[b-5i5jleein8] {
    max-width: 86px;
}

.ae-account-editor-muted[b-5i5jleein8] {
    margin-left: 4px;
    color: var(--color-text-muted);
    font-size: 0.78rem;
}

.ae-account-editor-toggle[b-5i5jleein8] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 0 0;
    color: var(--color-text);
}

.ae-account-editor-toggle input[b-5i5jleein8] {
    margin-top: 3px;
}

.ae-account-editor-toggle span[b-5i5jleein8] {
    display: grid;
    gap: 2px;
}

.ae-account-editor-toggle small[b-5i5jleein8] {
    color: var(--color-text-muted);
    font-size: 0.75rem;
    line-height: 1.45;
}

.ae-account-editor-danger-zone[b-5i5jleein8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.ae-account-editor-danger-zone .ae-account-editor-section-title[b-5i5jleein8] {
    margin-bottom: 0;
}

.ae-account-editor-footer-danger[b-5i5jleein8] {
    margin-right: auto;
}

.ae-account-editor-spinner[b-5i5jleein8] {
    display: inline-block;
    width: 0.9rem;
    height: 0.9rem;
    margin-right: 0.25rem;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 999px;
    vertical-align: -0.12em;
    animation: ae-account-editor-spin-b-5i5jleein8 0.65s linear infinite;
}

@keyframes ae-account-editor-spin-b-5i5jleein8 {
    to {
        transform: rotate(360deg);
    }
}

.ae-account-editor-delete-copy[b-5i5jleein8] {
    margin: 0;
    color: var(--color-text);
    font-size: 0.92rem;
    line-height: 1.45;
}

/* ── iOS Segmented Control (currency tabs) ── */
.ios-segmented[b-5i5jleein8] {
    display: flex;
    background: transparent;
    padding: 2px;
    border-radius: 8px;
    justify-content: center;
    border: none;
}

.ios-seg[b-5i5jleein8] {
    background: transparent;
    border: none;
    padding: 6px 12px;
    font-size: 13px;
    font-weight: 600;
    border-radius: 7px;
    cursor: pointer;
    color: var(--ios-label);
    font-family: inherit;
    flex: 1;
    text-align: center;
    transition: background 0.15s, box-shadow 0.15s;
}

.ae-account-editor-segmented[b-5i5jleein8] {
    margin-bottom: 0.5rem;
}

.ios-seg.active[b-5i5jleein8] {
    background: var(--color-surface);
    box-shadow: var(--shadow-sm);
    color: var(--color-text);
}

.ae-due-type-row[b-5i5jleein8] {
    display: flex;
    gap: 8px;
}

.ae-account-editor-option-row[b-5i5jleein8] {
    margin-bottom: 0.5rem;
}

.ae-radio-opt[b-5i5jleein8] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 8px;
    background: var(--surface-2);
    border: var(--hairline-width) solid var(--color-separator);
    cursor: pointer;
    font-size: 0.85rem;
    flex: 1;
    justify-content: center;
}

.ae-radio-opt.active[b-5i5jleein8] {
    background: var(--accent-soft-08);
    border-color: var(--accent-border-40);
    color: var(--color-primary);
    font-weight: 600;
}

.ae-radio-opt input[type=radio][b-5i5jleein8] {
    display: none;
}

/* 額度共用清單 */
.ae-shared-limit-list[b-5i5jleein8] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-height: 160px;
    overflow-y: auto;
}

.ae-shared-limit-item[b-5i5jleein8] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 10px;
    border-radius: 8px;
    background: var(--surface-2);
    border: var(--hairline-width) solid var(--color-separator);
    cursor: pointer;
    font-size: 0.85rem;
}

.ae-shared-limit-item.selected[b-5i5jleein8] {
    background: var(--accent-soft-08);
    border-color: var(--accent-border-40);
    color: var(--color-primary);
    font-weight: 600;
}

/* ── Icon trigger (GlobalIconPicker) ── */
.add-acct-icon-trigger[b-5i5jleein8] {
    width: 48px;
    height: 48px;
    border-radius: var(--ios-radius-xs);
    border: var(--hairline-width) solid var(--ios-separator);
    background: var(--ios-bg);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--ios-text);
}

@media (max-width: 520px) {
    .ae-account-editor[b-5i5jleein8] {
        padding: 10px;
    }

    .ae-account-editor-danger-zone[b-5i5jleein8] {
        align-items: stretch;
        flex-direction: column;
    }
}
/* /Shared/AccountPickerField.razor.rz.scp.css */
.ae-account-picker-trigger[b-eitah0linn] {
        width: 100%;
        min-height: 36px;
        border: 0.5px solid var(--ios-separator);
        border-radius: 10px;
        background: var(--ios-card);
        color: var(--ios-text);
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding: 8px 10px;
        font-size: 0.9rem;
    }

    .ae-account-picker-trigger:disabled[b-eitah0linn] {
        opacity: 0.6;
        cursor: not-allowed;
    }

    .ae-account-picker-trigger-label[b-eitah0linn] {
        min-width: 0;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .ae-account-picker-trigger-sm[b-eitah0linn] {
        min-height: 31px;
        font-size: 0.82rem;
        border-radius: 8px;
        padding: 6px 8px;
    }

    .ae-account-picker-sheet[b-eitah0linn] {
        max-height: min(72vh, 560px);
        overflow: hidden;
        width: min(92vw, 520px);
        display: flex;
        flex-direction: column;
    }

    .ae-account-picker-list[b-eitah0linn] {
        overflow: auto;
        padding-bottom: 8px;
    }

    .ae-acct-group-header[b-eitah0linn] {
        padding: 8px 12px 6px;
        color: var(--ios-muted);
        font-size: 0.76rem;
        font-weight: 700;
    }

    .ae-acct-row[b-eitah0linn] {
        width: 100%;
        border: none;
        background: transparent;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
        padding: 10px 12px;
        border-bottom: var(--hairline-width) solid var(--color-separator);
        color: var(--ios-text);
        text-align: left;
        font-size: 0.9rem;
    }

    .ae-acct-row:last-child[b-eitah0linn] { border-bottom: none; }
    .ae-acct-row:active[b-eitah0linn] { background: var(--surface-2); }

    .ae-acct-row.picked[b-eitah0linn] {
        color: var(--ios-blue);
        font-weight: 700;
    }

    .ae-acct-name[b-eitah0linn] {
        min-width: 0;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .ae-acct-bal[b-eitah0linn] {
        color: var(--ios-muted);
        font-size: 0.8rem;
        font-weight: 600;
        font-variant-numeric: tabular-nums;
        flex-shrink: 0;
    }
/* /Shared/AmountKeyboard.razor.rz.scp.css */
/* ── Amount Keyboard – Light Mode ─────────────────────────────────────── */
.ae-amtkbd[b-d0w0201j33] {
    background: var(--amount-kbd-bg);
    border-top: var(--hairline-width) solid var(--color-separator);
    flex-shrink: 0;
}

/* Quick Amount Bar */
.ae-amtkbd-quick[b-d0w0201j33] {
    display: flex;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    overflow-x: auto;
    scrollbar-width: none;
    background: var(--amount-kbd-bg);
    border-bottom: var(--hairline-width) solid var(--color-separator);
}
.ae-amtkbd-quick[b-d0w0201j33]::-webkit-scrollbar { display: none; }

.ae-amtkbd-quick-chip[b-d0w0201j33] {
    padding: 10px 16px;
    background: var(--amount-kbd-func-bg);
    border: none;
    border-radius: var(--radius-sm);
    font-size: 1rem;
    font-weight: 600;
    color: var(--color-text-secondary);
    white-space: nowrap;
    cursor: pointer;
    flex-shrink: 0;
    -webkit-tap-highlight-color: transparent;
    transition: background 0.1s;
}
.ae-amtkbd-quick-chip:active[b-d0w0201j33] { background: var(--color-fill); }

/* Amount Display */
.ae-amtkbd-display[b-d0w0201j33] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: 14px var(--space-4);
    background: var(--amount-kbd-bg);
    border-bottom: var(--hairline-width) solid var(--color-separator);
    min-height: 64px;
}

.ae-amtkbd-currency[b-d0w0201j33] {
    background: var(--color-fill);
    color: var(--color-text);
    font-size: 0.9rem;
    font-weight: 700;
    padding: var(--space-1) var(--space-2);
    border-radius: 6px;
    flex-shrink: 0;
}

.ae-amtkbd-expr[b-d0w0201j33] {
    flex: 1;
    text-align: right;
    font-size: 32px;
    font-weight: 700;
    color: var(--color-text);
    font-variant-numeric: tabular-nums;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Key Grid – hairline borders via gap on coloured background */
.ae-amtkbd-grid[b-d0w0201j33] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--hairline-width);
    background: var(--color-separator);
}

/* Base button */
.ae-amtkbd-btn[b-d0w0201j33] {
    height: 64px;
    border: none;
    background: var(--amount-kbd-key-bg);
    font-size: 23px;
    font-weight: 600;
    color: var(--amount-kbd-key-text);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-tap-highlight-color: transparent;
    transition: background 0.08s;
    font-family: inherit;
}
.ae-amtkbd-btn:active[b-d0w0201j33] { background: var(--color-fill) !important; }

.ae-amtkbd-num[b-d0w0201j33] {
    font-variant-numeric: tabular-nums;
}

/* Empty cell */
.ae-amtkbd-empty[b-d0w0201j33] {
    background: var(--color-bg);
    height: 64px;
}

/* Operator keys (÷ × - + ↵) */
.ae-amtkbd-op[b-d0w0201j33] {
    font-size: 25px;
    color: var(--amount-kbd-key-muted);
    background: var(--amount-kbd-func-bg);
}

/* Backspace key */
.ae-amtkbd-del[b-d0w0201j33] {
    color: var(--amount-kbd-key-muted);
    font-size: 21px;
    background: var(--amount-kbd-func-bg);
}

/* Clear (C) key */
.ae-amtkbd-func[b-d0w0201j33] {
    color: var(--amount-kbd-key-muted);
    font-size: 20px;
    font-weight: 700;
    background: var(--amount-kbd-func-bg);
}

/* Confirm (✓) key */
.ae-amtkbd-confirm[b-d0w0201j33] {
    color: var(--color-primary);
    font-size: 25px;
    font-weight: 700;
    background: var(--amount-kbd-key-bg);
}
.ae-amtkbd-confirm:active[b-d0w0201j33] { background: var(--amount-kbd-confirm-bg) !important; }
/* /Shared/FeedbackButton.razor.rz.scp.css */
/* ── 浮動按鈕 ── */
    .fb-fab[b-4q658lais4] {
        position: fixed;
        bottom: calc(env(safe-area-inset-bottom) + 70px);
        right: 18px;
        width: 46px;
        height: 46px;
        border-radius: 50%;
        background: linear-gradient(135deg, var(--danger-soft-35), var(--ui-danger));
        color: var(--color-surface);
        font-size: 20px;
        border: none;
        cursor: pointer;
        box-shadow: var(--expense-shadow-45);
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 900;
        transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
    }
    .fb-fab:active[b-4q658lais4] { transform: scale(0.92); }
    .fb-fab-active[b-4q658lais4] {
        background: linear-gradient(135deg, var(--color-text-muted), var(--color-text-secondary));
        box-shadow: var(--shadow-sm);
    }

    @media (min-width: 1024px) {
        .fb-fab[b-4q658lais4] { bottom: 24px; }
    }

    /* ── Overlay & Sheet ── */
    .fb-overlay[b-4q658lais4] {
        position: fixed; inset: 0; z-index: 1500;
        background: var(--modal-backdrop-bg);
        display: flex; align-items: flex-end; justify-content: center;
    }
    .fb-sheet[b-4q658lais4] {
        width: 100%; max-width: 540px;
        background: var(--color-bg);
        border-radius: 24px 24px 0 0;
        padding: 12px 20px calc(env(safe-area-inset-bottom) + 20px);
        animation: fbSlideUp-b-4q658lais4 0.25s ease;
        max-height: 90vh;
        overflow-y: auto;
    }
    @keyframes fbSlideUp-b-4q658lais4 {
        from { transform: translateY(100%); opacity: 0; }
        to   { transform: translateY(0);    opacity: 1; }
    }
    .fb-handle[b-4q658lais4] {
        width: 36px; height: 4px; border-radius: 2px;
        background: var(--color-separator); margin: 0 auto 16px;
        /* 加大拖曳感應區域，提高手機可操控性 */
        padding: 12px 0;
        cursor: grab;
    }
    .fb-sheet-title[b-4q658lais4] {
        font-size: 1.1rem; font-weight: 800; color: var(--color-text);
        text-align: center; margin-bottom: 12px;
    }

    /* ── 當前頁面標籤 ── */
    .fb-page-badge[b-4q658lais4] {
        display: flex; align-items: center; gap: 6px;
        background: var(--accent-soft-12); border-radius: 8px;
        padding: 6px 10px; margin-bottom: 16px;
        font-size: 0.8rem; color: var(--color-primary); font-weight: 600;
    }
    .fb-page-path[b-4q658lais4] { word-break: break-all; }

    /* ── 欄位標籤 ── */
    .fb-field-label[b-4q658lais4] {
        font-size: 0.78rem; font-weight: 700; color: var(--color-text-muted);
        text-transform: uppercase; letter-spacing: 0.04em;
        margin-bottom: 6px; margin-top: 14px;
    }
    .fb-required[b-4q658lais4] { color: var(--ui-danger); }
    .fb-badge-icon[b-4q658lais4] {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    /* ── 類型選擇 ── */
    .fb-type-row[b-4q658lais4] {
        display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px;
    }
    .fb-type-btn[b-4q658lais4] {
        display: flex; flex-direction: column; align-items: center; gap: 4px;
        padding: 10px 4px; border-radius: 12px;
        border: 1px solid transparent;
        background: var(--color-surface); cursor: pointer;
        font-size: 0.75rem; font-weight: 600; color: var(--color-text-secondary);
        transition: all 0.15s ease;
    }
    .fb-type-btn span:first-child[b-4q658lais4] { font-size: 1.4rem; }
    .fb-type-active[b-4q658lais4] {
        border-color: var(--color-primary);
        background: var(--accent-soft-08);
        color: var(--color-primary);
    }

    /* ── 嚴重程度 ── */
    .fb-severity-row[b-4q658lais4] { display: flex; gap: 8px; }
    .fb-sev-btn[b-4q658lais4] {
        flex: 1; padding: 8px 4px; border-radius: 10px;
        border: 1px solid transparent;
        background: var(--color-surface); cursor: pointer;
        font-size: 0.82rem; font-weight: 700;
        transition: all 0.15s ease;
    }
    .fb-sev-high[b-4q658lais4]   { color: var(--ui-danger); }
    .fb-sev-medium[b-4q658lais4] { color: var(--color-warning); }
    .fb-sev-low[b-4q658lais4]    { color: var(--ui-success); }
    .fb-sev-active.fb-sev-high[b-4q658lais4]   { background: var(--danger-soft-10); border-color: var(--ui-danger); }
    .fb-sev-active.fb-sev-medium[b-4q658lais4] { background: var(--warning-soft-12); border-color: var(--color-warning); }
    .fb-sev-active.fb-sev-low[b-4q658lais4]    { background: var(--success-soft-10);  border-color: var(--ui-success); }

    /* ── 輸入欄位 ── */
    .fb-input[b-4q658lais4], .fb-textarea[b-4q658lais4] {
        width: 100%; border: var(--hairline-width) solid var(--color-separator);
        border-radius: 12px; padding: 10px 14px;
        font-size: 0.95rem; background: var(--color-surface);
        outline: none; font-family: inherit;
        box-sizing: border-box; color: var(--color-text);
        transition: border-color 0.15s ease;
    }
    .fb-input:focus[b-4q658lais4], .fb-textarea:focus[b-4q658lais4] { border-color: var(--color-primary); }
    .fb-textarea[b-4q658lais4] { resize: none; }
    .fb-error[b-4q658lais4] { color: var(--ui-danger); font-size: 0.78rem; margin-top: 4px; }

    /* ── 送出按鈕 ── */
    .fb-submit[b-4q658lais4] {
        width: 100%; margin-top: 18px; padding: 14px;
        border-radius: 14px; border: none;
        background: linear-gradient(135deg, var(--color-primary), var(--ae-primary-dark));
        color: var(--color-surface); font-size: 1rem; font-weight: 700;
        cursor: pointer; transition: opacity 0.15s ease, transform 0.1s ease;
    }
    .fb-submit:active[b-4q658lais4] { transform: scale(0.98); }
    .fb-submit:disabled[b-4q658lais4] { opacity: 0.5; cursor: default; }

    /* ── Toast ── */
    .fb-toast[b-4q658lais4] {
        position: fixed;
        bottom: calc(env(safe-area-inset-bottom) + 130px);
        left: 50%; transform: translateX(-50%);
        background: var(--overlay-toast-bg); color: var(--color-surface);
        padding: 9px 20px; border-radius: 20px;
        font-size: 0.88rem; font-weight: 600;
        z-index: 3000; white-space: nowrap;
        animation: fbToastFade-b-4q658lais4 2.5s ease forwards;
        pointer-events: none;
    }
    @keyframes fbToastFade-b-4q658lais4 {
        0%   { opacity: 0; transform: translateX(-50%) translateY(6px); }
        12%  { opacity: 1; transform: translateX(-50%) translateY(0); }
        75%  { opacity: 1; }
        100% { opacity: 0; }
    }
/* /Shared/IconPicker.razor.rz.scp.css */
/* ══════════════════════════════════════════════
   IconPicker — Global Icon Picker Component
   ══════════════════════════════════════════════ */

/* Sheet container — bottom sheet on mobile, centered on desktop */
.ip-sheet[b-j2lr2vsuc3] {
    background: var(--ios-card);
    border-radius: var(--ios-radius) var(--ios-radius) 0 0;
    width: 100%;
    max-height: 82vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: var(--ios-shadow-lg);
    align-self: flex-end;
}

@media (min-width: 640px) {
    .ip-sheet[b-j2lr2vsuc3] {
        border-radius: var(--ios-radius);
        width: min(540px, 95vw);
        max-height: 78vh;
        align-self: center;
    }
}

/* Header */
.ip-header[b-j2lr2vsuc3] {
    display: grid;
    grid-template-columns: 44px 1fr 44px;
    align-items: center;
    padding: var(--space-3) var(--space-4);
    border-bottom: var(--hairline-width, 0.5px) solid var(--ios-separator);
    background: var(--ios-card);
    flex-shrink: 0;
}

.ip-title[b-j2lr2vsuc3] {
    text-align: center;
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--ios-text);
}

.ip-close-btn[b-j2lr2vsuc3] {
    width: 32px;
    height: 32px;
    border: none;
    background: none;
    cursor: pointer;
    color: var(--ios-muted);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--ios-radius-xs);
    transition: background 0.15s;
    padding: 0;
}

.ip-close-btn:active[b-j2lr2vsuc3] { background: var(--ios-fill); transform: scale(0.97); }

.ip-header-spacer[b-j2lr2vsuc3] { width: 44px; }

/* Category tabs */
.ip-tabs[b-j2lr2vsuc3] {
    display: flex;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    overflow-x: auto;
    scrollbar-width: none;
    flex-shrink: 0;
    -webkit-overflow-scrolling: touch;
}

.ip-tabs[b-j2lr2vsuc3]::-webkit-scrollbar { display: none; }

.ip-tab[b-j2lr2vsuc3] {
    flex-shrink: 0;
    padding: 4px var(--space-3);
    border-radius: 999px;
    border: none;
    font-size: 0.78rem;
    font-weight: 600;
    cursor: pointer;
    background: var(--ios-fill);
    color: var(--ios-muted);
    transition: background 0.15s, color 0.15s, transform 0.1s;
    white-space: nowrap;
    min-height: 28px;
}

.ip-tab:active[b-j2lr2vsuc3] { transform: scale(0.97); }

.ip-tab.active[b-j2lr2vsuc3] {
    background: var(--ios-blue);
    color: #fff;
}

.ip-tab-mark[b-j2lr2vsuc3] {
    margin-left: 4px;
    opacity: 0.72;
    font-size: 0.62rem;
    font-weight: 800;
}

/* Badge colour hints for inactive tabs */
.ip-tab.ae-badge-income:not(.active)[b-j2lr2vsuc3] { color: var(--ui-success); }
.ip-tab.ae-badge-expense:not(.active)[b-j2lr2vsuc3] { color: var(--ui-danger); }
.ip-tab.ae-badge-transfer:not(.active)[b-j2lr2vsuc3] { color: var(--ios-blue); }
.ip-tab.ae-badge-purple:not(.active)[b-j2lr2vsuc3] { color: var(--ios-purple); }
.ip-tab.ae-badge-inactive:not(.active)[b-j2lr2vsuc3] { color: var(--ios-muted); }

/* Separator */
.ip-separator[b-j2lr2vsuc3] {
    height: var(--hairline-width, 0.5px);
    background: var(--ios-separator);
    flex-shrink: 0;
}

/* Search bar */
.ip-search-wrap[b-j2lr2vsuc3] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    border-bottom: var(--hairline-width, 0.5px) solid var(--ios-separator);
    flex-shrink: 0;
    position: relative;
}

.ip-search-icon[b-j2lr2vsuc3] {
    color: var(--ios-muted);
    flex-shrink: 0;
}

.ip-search-input[b-j2lr2vsuc3] {
    flex: 1;
    min-width: 0;
    height: 36px;
    padding: 0 var(--space-3);
    border-radius: var(--ios-radius-sm);
    border: none;
    background: var(--ios-fill);
    font-size: 0.9rem;
    color: var(--ios-text);
    outline: none;
}

.ip-search-input:focus[b-j2lr2vsuc3] {
    box-shadow: 0 0 0 3px rgba(10, 132, 255, 0.12);
}

.ip-search-clear[b-j2lr2vsuc3] {
    width: 28px;
    height: 28px;
    border: none;
    background: none;
    cursor: pointer;
    color: var(--ios-muted);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    flex-shrink: 0;
    padding: 0;
}

.ip-search-clear:active[b-j2lr2vsuc3] { background: var(--ios-fill); }

/* Grid area */
.ip-grid-wrap[b-j2lr2vsuc3] {
    flex: 1;
    overflow-y: auto;
    padding: var(--space-3) var(--space-4);
    -webkit-overflow-scrolling: touch;
}

.ip-grid[b-j2lr2vsuc3] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(44px, 1fr));
    gap: var(--space-3);
}

/* Icon item — 44×44 thumb target */
.ip-item[b-j2lr2vsuc3] {
    width: 44px;
    height: 44px;
    border-radius: var(--ios-radius-xs);
    border: var(--hairline-width) solid var(--ios-separator);
    background: var(--ios-bg);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.13s, border-color 0.13s, transform 0.1s;
    color: var(--ios-text);
    padding: 0;
}

.ip-item:active[b-j2lr2vsuc3] { transform: scale(0.97); }

.ip-item:hover[b-j2lr2vsuc3] {
    background: var(--ios-fill);
}

.ip-item.selected[b-j2lr2vsuc3] {
    border-color: var(--ios-blue);
    background: rgba(0, 122, 255, 0.10);
    color: var(--ios-blue);
}

.ip-item-icon[b-j2lr2vsuc3] {
    max-width: 26px;
    max-height: 26px;
}

/* Loading state */
.ip-loading[b-j2lr2vsuc3] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    padding: var(--space-8) 0;
    color: var(--ios-muted);
    font-size: 0.85rem;
}

/* Empty state */
.ip-empty[b-j2lr2vsuc3] {
    text-align: center;
    padding: var(--space-8) 0;
    color: var(--ios-muted);
    font-size: 0.85rem;
}
/* /Shared/MasterDetailListPage.razor.rz.scp.css */
/* ── Page ──────────────────────────────────────────────── */
.mdl-page[b-62m7uw7vdn] {
    padding: 0 0 80px;
    overflow-x: hidden;
}

/* ── Top Meta ──────────────────────────────────────────── */
.mdl-meta-row[b-62m7uw7vdn] {
    padding: 8px 14px 6px;
}
.mdl-count[b-62m7uw7vdn] {
    font-size: 0.78rem;
    color: var(--ios-muted);
}

/* ── Search ─────────────────────────────────────────────── */
.mdl-search-panel[b-62m7uw7vdn] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px 2px;
}

.mdl-search-input[b-62m7uw7vdn] {
    background: var(--surface-2);
    border: var(--hairline-width) solid var(--color-separator);
    border-radius: 10px;
    padding: 8px 10px;
    outline: none;
    font-size: 0.88rem;
    width: calc(100% - 40px);
    min-width: 0px;
}

.mdl-search-clear-btn[b-62m7uw7vdn] {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    border: none;
    background: transparent;
    color: var(--color-text-muted);
    font-size: 0.9rem;
    cursor: pointer;
}

/* ── Empty ──────────────────────────────────────────────── */
.mdl-empty[b-62m7uw7vdn] {
    text-align: center;
    padding: 48px 16px;
    color: var(--ios-muted);
    font-size: 0.9rem;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.mdl-empty-icon[b-62m7uw7vdn] { font-size: 2.5rem; display: flex; justify-content: center; }

/* ── List ───────────────────────────────────────────────── */
.mdl-list[b-62m7uw7vdn] {
    padding: 0 10px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.mdl-item[b-62m7uw7vdn] {
    background: transparent;
    border-radius: 12px;
    overflow: hidden;
}

.mdl-item-row[b-62m7uw7vdn] {
    width: 100%;
    border: none;
    background: transparent;
    color: inherit;
    font: inherit;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 13px 12px;
    cursor: pointer;
    min-height: 50px;
    transition: background 0.1s;
    text-align: left;
}
.mdl-item-row:hover[b-62m7uw7vdn] { background: var(--surface-2); }

.mdl-item-left[b-62m7uw7vdn] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.mdl-item-key[b-62m7uw7vdn] {
    font-size: 0.95rem;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mdl-item-badge[b-62m7uw7vdn] {
    font-size: 0.68rem;
    background: var(--accent-soft-20);
    color: var(--color-primary);
    border-radius: 5px;
    padding: 1px 5px;
    flex-shrink: 0;
}

.mdl-item-right[b-62m7uw7vdn] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.mdl-item-count[b-62m7uw7vdn] {
    font-size: 0.78rem;
    color: var(--ios-muted);
}

.mdl-chevron[b-62m7uw7vdn] {
    color: var(--ios-muted);
    font-size: 1.2rem;
    font-weight: 300;
    transition: transform 0.2s;
    display: inline-block;
}
.mdl-chevron-open[b-62m7uw7vdn] { transform: rotate(90deg); }

/* ── Detail / Transaction rows ──────────────────────────── */
.mdl-detail[b-62m7uw7vdn] {
    border-top: var(--hairline-width) solid var(--color-separator);
    padding: 4px 0;
}

.mdl-detail-empty[b-62m7uw7vdn] {
    padding: 12px 12px;
    font-size: 0.82rem;
    color: var(--ios-muted);
}

/* ── Inline detail page ──────────────────────────────────── */
.mdl-detail-inline[b-62m7uw7vdn] {
    padding: 0 10px calc(88px + env(safe-area-inset-bottom));
}

.mdl-back-link[b-62m7uw7vdn] {
    max-width: 100%;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: none;
    background: transparent;
    color: var(--color-text-muted);
    font: inherit;
    font-size: 0.74rem;
    font-weight: 700;
    padding: 2px 0 8px;
    margin: 0;
    cursor: pointer;
}

.mdl-back-link .dot[b-62m7uw7vdn] {
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: var(--color-text-muted);
    flex-shrink: 0;
}

.mdl-back-link span:last-child[b-62m7uw7vdn] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mdl-inline-stats[b-62m7uw7vdn] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
    margin-bottom: 0.8rem;
}

.mdl-inline-stat[b-62m7uw7vdn] {
    min-height: 64px;
    border-radius: 16px;
    background: var(--surface-2);
    border: var(--hairline-width) solid var(--color-separator);
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.16rem;
    padding: 0.65rem 0.8rem;
}

.mdl-inline-stat span[b-62m7uw7vdn] {
    color: var(--color-text-muted);
    font-size: 0.76rem;
    font-weight: 800;
}

.mdl-inline-stat strong[b-62m7uw7vdn] {
    font-size: 1.08rem;
    font-weight: 950;
    font-variant-numeric: tabular-nums;
}

.mdl-inline-stat strong.income[b-62m7uw7vdn] { color: var(--amount-income); }
.mdl-inline-stat strong.expense[b-62m7uw7vdn] { color: var(--amount-expense); }

.mdl-inline-flow[b-62m7uw7vdn] {
    padding: 0 0 8px;
}

/* ── Stats Summary (income/expense totals) ───────────────── */
.stats-summary[b-62m7uw7vdn] {
    padding: 8px 12px 4px;
    border-bottom: var(--hairline-width) solid var(--color-separator);
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.stats-summary-row[b-62m7uw7vdn] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 3px 0;
}

.stats-summary-label[b-62m7uw7vdn] {
    font-size: 0.82rem;
    color: var(--ios-muted);
}

.stats-summary-val[b-62m7uw7vdn] {
    font-size: 0.88rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.stats-summary-val.income[b-62m7uw7vdn] { color: var(--amount-income); }
.stats-summary-val.expense[b-62m7uw7vdn] { color: var(--amount-expense); }

/* ── Stats TX rows ───────────────────────────────────────── */
.stats-modal-body[b-62m7uw7vdn] {
    padding: 0 0 8px;
}

.mdl-modal-tx-item[b-62m7uw7vdn] {
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
}

.stats-empty[b-62m7uw7vdn] {
    padding: 32px 16px;
    text-align: center;
    font-size: 0.88rem;
    color: var(--ios-muted);
}

/* ── Title Badge ─────────────────────────────────────────── */
.mdl-title-badge[b-62m7uw7vdn] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    background: var(--ios-muted);
    color: var(--color-surface);
    border-radius: 9px;
    font-size: 0.65rem;
    font-weight: 700;
    padding: 0 5px;
    margin-left: 6px;
    vertical-align: middle;
    position: relative;
    top: -1px;
}
.mdl-add-sheet[b-62m7uw7vdn] { max-width: 360px; width: 88vw; }

.mdl-add-body[b-62m7uw7vdn] { padding: 16px; }

.mdl-add-input[b-62m7uw7vdn] {
    width: 100%;
    background: var(--surface-2);
    border: none;
    border-radius: 10px;
    padding: 11px 14px;
    font-size: 0.95rem;
    outline: none;
    box-sizing: border-box;
}
.mdl-add-input:focus[b-62m7uw7vdn] { background: var(--accent-soft-12); }

.mdl-add-error[b-62m7uw7vdn] {
    font-size: 0.8rem;
    color: var(--ui-danger);
    margin-top: var(--space-2);
}

.mdl-add-footer[b-62m7uw7vdn] {
    padding: 0 16px 16px;
}

.mdl-add-confirm[b-62m7uw7vdn] {
    width: 100%;
    background: var(--color-primary);
    border: none;
    border-radius: var(--radius-md);
    color: var(--color-surface);
    font-size: 0.95rem;
    font-weight: 600;
    padding: var(--space-3);
    cursor: pointer;
    transition: opacity 0.15s;
}
.mdl-add-confirm:disabled[b-62m7uw7vdn] { opacity: 0.4; cursor: default; }
.mdl-add-confirm:not(:disabled):hover[b-62m7uw7vdn] { opacity: 0.85; }
/* /Shared/QuickAddSheet.razor.rz.scp.css */
.qa-body[b-jh6zjp9qda] {
    display: flex;
    flex-direction: column;
    gap: 0.86rem;
    padding: 0.15rem 0 0.3rem;
    width: 100%;
    box-sizing: border-box;
}

.qa-body *[b-jh6zjp9qda],
.qa-body *[b-jh6zjp9qda]::before,
.qa-body *[b-jh6zjp9qda]::after {
    box-sizing: border-box;
}

.qa-type-row[b-jh6zjp9qda] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
}

.qa-type-btn[b-jh6zjp9qda] {
    min-height: 42px;
    border: var(--hairline-width) solid var(--color-separator);
    border-radius: 14px;
    background: var(--color-surface);
    color: var(--color-text-muted);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.42rem;
    font-weight: 800;
    font-family: inherit;
}

.qa-type-btn.active.expense[b-jh6zjp9qda] {
    background: var(--danger-soft-12);
    color: var(--ui-danger);
    border-color: var(--danger-soft-24);
}

.qa-type-btn.active.income[b-jh6zjp9qda] {
    background: var(--success-soft-12);
    color: var(--ui-success);
    border-color: var(--success-soft-24);
}

.qa-label[b-jh6zjp9qda] {
    margin: 0 0 -0.45rem;
    font-size: 0.78rem;
    font-weight: 800;
    color: var(--color-text-muted);
}

.qa-amount-box[b-jh6zjp9qda] {
    min-height: 62px;
    border-radius: 18px;
    background: var(--surface-2);
    border: var(--hairline-width) solid var(--color-separator);
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.3rem 0.95rem;
}

.qa-currency[b-jh6zjp9qda] {
    flex-shrink: 0;
    min-width: 3.2rem;
    color: var(--color-text-muted);
    font-size: 0.86rem;
    font-weight: 900;
    letter-spacing: 0.05em;
}

.qa-amount-input[b-jh6zjp9qda] {
    min-width: 0;
    width: 100%;
    border: none;
    background: transparent;
    color: var(--color-text);
    text-align: right;
    font-size: clamp(2rem, 10vw, 3.4rem);
    font-weight: 900;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    outline: none;
}

.qa-text-input[b-jh6zjp9qda] {
    width: 100%;
    min-height: 44px;
    border: var(--hairline-width) solid var(--color-separator);
    border-radius: 14px;
    background: var(--color-surface);
    color: var(--color-text);
    padding: 0 0.9rem;
    font: inherit;
    font-weight: 700;
    outline: none;
}

.qa-field-grid > div[b-jh6zjp9qda] {
    min-width: 0;
}

.qa-text-input[b-jh6zjp9qda]::placeholder {
    color: var(--color-text-muted);
    opacity: 0.72;
}

.qa-field-grid[b-jh6zjp9qda] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.7rem;
}


.qa-error[b-jh6zjp9qda] {
    margin: 0;
}

.qa-actions[b-jh6zjp9qda] {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    gap: 0.65rem;
    padding-top: 0.1rem;
}

.qa-secondary[b-jh6zjp9qda],
.qa-primary[b-jh6zjp9qda] {
    min-height: 46px;
    border: none;
    border-radius: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.42rem;
    font: inherit;
    font-weight: 900;
}

.qa-secondary[b-jh6zjp9qda] {
    background: var(--surface-2);
    color: var(--color-text);
}

.qa-primary[b-jh6zjp9qda] {
    background: var(--color-primary);
    color: var(--color-primary-contrast);
}

.qa-primary:disabled[b-jh6zjp9qda] {
    opacity: 0.62;
}

@media (min-width: 520px) {
    .qa-field-grid[b-jh6zjp9qda] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
/* /Shared/TransactionItem.razor.rz.scp.css */
.ios-tx-item[b-5u1rtvpu1t] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.68rem;
    padding: 0.62rem 0;
    border: none;
    background: none;
    cursor: pointer;
    text-align: left;
    border-bottom: var(--hairline-width) solid var(--color-separator);
    transition: background 0.15s ease;
    border-radius: 8px;
    margin: 0 -0.12rem;
    padding-left: 0.12rem;
    padding-right: 0.12rem;
    -webkit-tap-highlight-color: transparent;
    font-family: inherit;
}

.ios-tx-item:last-child[b-5u1rtvpu1t] { border-bottom: none; }
.ios-tx-item:active[b-5u1rtvpu1t] { background: var(--surface-2); transform: scale(0.97); }
.ios-tx-item.voided[b-5u1rtvpu1t] { opacity: 0.45; }

.ios-tx-icon[b-5u1rtvpu1t] {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    flex-shrink: 0;
    color: var(--color-surface);
}

.ios-tx-info[b-5u1rtvpu1t] { flex: 1; min-width: 0; }
.ios-tx-desc[b-5u1rtvpu1t] { font-size: 0.88rem; font-weight: 500; color: var(--color-text-strong); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ios-tx-meta[b-5u1rtvpu1t] { display: flex; align-items: center; gap: 0.35rem; font-size: 0.72rem; color: var(--color-text-muted); margin-top: 0.12rem; flex-wrap: wrap; }
.ios-tag[b-5u1rtvpu1t] { display: inline-block; padding: 0.05rem 0.4rem; border-radius: 4px; font-size: 0.65rem; font-weight: 600; background: var(--surface-2); color: var(--color-text-muted); }
.ios-tag.danger[b-5u1rtvpu1t] { background: var(--danger-soft-12); color: var(--ui-danger); }
.ios-tag.debt-link[b-5u1rtvpu1t] { background: var(--warning-soft-12); color: var(--color-warning); text-decoration: none; cursor: pointer; }
.ios-tag.debt-link:hover[b-5u1rtvpu1t] { background: var(--warning-soft-22); }
.ios-tag-warning[b-5u1rtvpu1t] { background: var(--warning-soft-12); color: var(--color-warning); }
.ios-tag-income[b-5u1rtvpu1t] { background: var(--accent-soft-12); color: var(--color-primary); }
.ios-tag-refund[b-5u1rtvpu1t] { background: var(--success-soft-15) !important; color: var(--ui-success) !important; }
.ios-tag-refunded[b-5u1rtvpu1t] { background: var(--success-soft-10) !important; color: var(--ui-success) !important; }

.ios-tx-right[b-5u1rtvpu1t] { text-align: right; flex-shrink: 0; }
.ios-tx-runbal[b-5u1rtvpu1t] { font-size: 0.78rem; color: var(--color-text-muted); }
.ios-tx-currency[b-5u1rtvpu1t] { font-size: 0.68rem; color: var(--color-text-muted); margin-left: 0.15rem; }
/* /Shared/UI/AeColorPicker.razor.rz.scp.css */
.ae-color-more-trigger[b-ogxyh3t184] {
    width: 32px;
    height: 32px;
    border: 1px dashed var(--color-border);
    border-radius: 999px;
    background: var(--color-surface-muted);
    color: var(--color-text-muted);
    display: inline-grid;
    place-items: center;
    align-items: center;
    flex: 0 0 auto;
    padding: 0;
    font: inherit;
    cursor: pointer;
}

.ae-color-more-trigger:active[b-ogxyh3t184] {
    transform: scale(0.94);
    background: var(--accent-soft-12);
    color: var(--color-primary);
}

[b-ogxyh3t184] .ae-color-picker-sheet {
    width: min(420px, calc(100vw - 24px));
    max-height: min(86dvh, 680px);
    overflow-y: auto;
    overscroll-behavior: contain;
    margin: 0 auto;
}

.ae-color-picker[b-ogxyh3t184] {
    padding: 16px;
    display: grid;
    gap: 16px;
}

.ae-color-preview-card[b-ogxyh3t184] {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px;
    border-radius: 20px;
    background: color-mix(in srgb, var(--color-primary) 8%, var(--color-surface));
    border: 1px solid var(--color-border);
}

.ae-color-preview[b-ogxyh3t184] {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .4), 0 10px 24px rgba(0, 0, 0, .14);
}

.ae-color-preview-copy[b-ogxyh3t184] {
    min-width: 0;
}

.ae-color-preview-label[b-ogxyh3t184],
.ae-color-section-title[b-ogxyh3t184] {
    color: var(--color-text-muted);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
}

.ae-color-preview-value[b-ogxyh3t184] {
    margin-top: 4px;
    color: var(--color-text);
    font-size: 20px;
    font-weight: 900;
    letter-spacing: .03em;
}

.ae-color-section[b-ogxyh3t184] {
    display: grid;
    gap: 10px;
}

.ae-color-palette[b-ogxyh3t184] {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 10px;
}

.ae-color-swatch[b-ogxyh3t184] {
    position: relative;
    width: 100%;
    aspect-ratio: 1;
    min-height: 40px;
    border: 0;
    border-radius: 15px;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .35), 0 0 0 1px rgba(0, 0, 0, .08);
    color: #fff;
    display: grid;
    place-items: center;
    cursor: pointer;
}

.ae-color-swatch.active[b-ogxyh3t184] {
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .65), 0 0 0 3px var(--color-primary);
}

.ae-color-wheel[b-ogxyh3t184] {
    position: relative;
    min-height: 54px;
    border-radius: 18px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    isolation: isolate;
    cursor: pointer;
}

.ae-color-wheel-gradient[b-ogxyh3t184] {
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        radial-gradient(circle at 20% 20%, #fff, transparent 26%),
        linear-gradient(90deg, #ff004c, #ff9500, #ffcc00, #34c759, #00c7be, #007aff, #af52de, #ff2d55);
}

.ae-color-wheel-text[b-ogxyh3t184] {
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(0, 0, 0, .48);
    color: #fff;
    font-size: 14px;
    font-weight: 900;
    backdrop-filter: blur(10px);
}

.ae-color-wheel input[b-ogxyh3t184] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.ae-color-hex-row[b-ogxyh3t184] {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
}

.ae-color-hex-input[b-ogxyh3t184] {
    min-height: 44px;
    border: 1px solid var(--color-border);
    border-radius: 14px;
    background: var(--color-surface);
    color: var(--color-text);
    padding: 0 12px;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: .04em;
    outline: none;
}

.ae-color-hex-input:focus[b-ogxyh3t184] {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 18%, transparent);
}

.ae-color-apply-hex[b-ogxyh3t184],
.ae-color-action[b-ogxyh3t184] {
    border: 0;
    border-radius: 14px;
    background: var(--color-primary);
    color: #fff;
    padding: 0 16px;
    font-size: 14px;
    font-weight: 900;
    cursor: pointer;
}

.ae-color-error[b-ogxyh3t184] {
    color: var(--ui-danger);
    font-size: 12px;
    font-weight: 800;
}

.ae-color-actions[b-ogxyh3t184] {
    position: sticky;
    bottom: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    padding-top: 2px;
    padding-bottom: env(safe-area-inset-bottom);
    background: var(--color-surface);
    z-index: 2;
}

.ae-color-action[b-ogxyh3t184] {
    min-height: 46px;
}

.ae-color-action.secondary[b-ogxyh3t184] {
    background: var(--color-surface-muted);
    color: var(--color-text);
}
/* /Shared/UI/AeColorSwatchRow.razor.rz.scp.css */
.ae-color-swatch-row[b-0sm06qy3mr] {
    display: grid;
    grid-template-columns: repeat(10, minmax(0, 1fr));
    gap: 7px;
    width: 100%;
    align-items: center;
}

.ae-color-row-dot[b-0sm06qy3mr],
[b-0sm06qy3mr] .ae-color-row-more {
    width: 100%;
    aspect-ratio: 1;
    min-width: 0;
    min-height: 28px;
    max-height: 36px;
    border-radius: 999px;
    border: var(--hairline-width) solid color-mix(in srgb, var(--color-text) 18%, transparent);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .26);
    display: grid;
    place-items: center;
    padding: 0;
    color: #fff;
    cursor: pointer;
}

.ae-color-row-dot.active[b-0sm06qy3mr] {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--color-primary) 24%, transparent), inset 0 0 0 1px rgba(255, 255, 255, .42);
}

[b-0sm06qy3mr] .ae-color-row-more {
    border-style: dashed;
    background: var(--surface-2);
    color: var(--color-text-muted);
    max-width: none;
}

@media (max-width: 380px) {
    .ae-color-swatch-row[b-0sm06qy3mr] {
        gap: 5px;
    }

    .ae-color-row-dot[b-0sm06qy3mr],
    [b-0sm06qy3mr] .ae-color-row-more {
        min-height: 24px;
    }
}
/* /Shared/UI/AeCurrencyPicker.razor.rz.scp.css */
.ae-currency-picker-trigger[b-qh09pms23e] {
    width: 100%;
    min-height: 40px;
    border: var(--hairline-width) solid var(--color-separator);
    border-radius: 12px;
    background: var(--field-bg, var(--color-surface));
    color: var(--color-text);
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    padding: 8px 11px;
    font: inherit;
    text-align: left;
}

.ae-currency-picker-trigger:disabled[b-qh09pms23e] {
    opacity: 0.55;
    cursor: not-allowed;
}

.ae-currency-picker-code[b-qh09pms23e] {
    font-size: 0.88rem;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
}

.ae-currency-picker-name[b-qh09pms23e] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--color-text-muted);
    font-size: 0.86rem;
    font-weight: 700;
}

.ae-currency-picker-sheet[b-qh09pms23e] {
    width: min(92vw, 520px);
    max-height: min(76vh, 620px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.ae-currency-picker-tabs[b-qh09pms23e] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    padding: 10px 12px 8px;
}

.ae-currency-picker-tabs button[b-qh09pms23e] {
    min-height: 34px;
    border: 0;
    border-radius: 999px;
    background: var(--surface-2);
    color: var(--color-text-muted);
    font-weight: 900;
}

.ae-currency-picker-tabs button.active[b-qh09pms23e] {
    background: var(--accent-soft-12);
    color: var(--color-primary);
}

.ae-currency-picker-list[b-qh09pms23e] {
    overflow: auto;
    padding: 0 12px 12px;
    -webkit-overflow-scrolling: touch;
}

.ae-currency-picker-header[b-qh09pms23e] {
    padding: 12px 2px 7px;
    color: var(--color-text-muted);
    font-size: 0.76rem;
    font-weight: 900;
}

.ae-currency-picker-row[b-qh09pms23e] {
    width: 100%;
    min-height: 48px;
    border: 0;
    border-bottom: var(--hairline-width) solid var(--color-separator);
    background: transparent;
    color: var(--color-text);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 9px 2px;
    text-align: left;
    font: inherit;
}

.ae-currency-picker-row:last-child[b-qh09pms23e] { border-bottom: 0; }
.ae-currency-picker-row:active[b-qh09pms23e] { background: var(--surface-2); }
.ae-currency-picker-row.picked[b-qh09pms23e] { color: var(--color-primary); }

.ae-currency-picker-row-main[b-qh09pms23e] {
    min-width: 0;
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    align-items: baseline;
    gap: 8px;
}

.ae-currency-picker-row-code[b-qh09pms23e] {
    font-weight: 950;
    font-size: 0.95rem;
}

.ae-currency-picker-row-label[b-qh09pms23e] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--color-text-muted);
    font-size: 0.88rem;
    font-weight: 700;
}
/* /Shared/UI/AeDatePicker.razor.rz.scp.css */
.ae-cal-picker-sheet[b-uqkg4r5d1w] { max-height: 88vh; }

.ae-cal-picker-nav[b-uqkg4r5d1w] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 16px 4px;
  border-bottom: var(--hairline-width) solid var(--color-separator);
}

.ae-cal-picker-title[b-uqkg4r5d1w] {
  font-weight: 700;
  font-size: 1rem;
  color: var(--color-text);
}

.ae-cal-picker-grid[b-uqkg4r5d1w] {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 2px;
  padding: 8px 12px;
}

.ae-kbd-error[b-uqkg4r5d1w] {
  font-size: 0.78rem;
  color: var(--ui-danger);
  text-align: center;
  font-weight: 600;
  padding: 4px 16px;
}

.ae-numpad[b-uqkg4r5d1w] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  width: 100%;
  max-width: 280px;
  margin: 0 auto;
}

.ae-numpad-btn[b-uqkg4r5d1w] {
  background: var(--color-surface);
  border: var(--hairline-width) solid var(--color-separator);
  border-radius: 12px;
  padding: 14px 8px;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--color-text);
  cursor: pointer;
  text-align: center;
  -webkit-tap-highlight-color: transparent;
  transition: background 0.12s;
}

.ae-numpad-btn:active[b-uqkg4r5d1w] { background: var(--color-fill); }

.ae-numpad-del[b-uqkg4r5d1w] {
  background: var(--danger-soft-12);
  color: var(--ui-danger);
}

.ae-dt-picker-actions[b-uqkg4r5d1w] {
  padding: 12px 16px;
}

.ae-picker-sheet-title[b-uqkg4r5d1w] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  border-bottom: var(--hairline-width) solid var(--color-separator);
  font-weight: 700;
  font-size: 1rem;
  color: var(--color-text);
  position: sticky;
  top: 0;
  background: var(--color-surface);
  z-index: 1;
}

.ae-picker-kbd-header[b-uqkg4r5d1w] {
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  color: var(--color-text);
  font-variant-numeric: tabular-nums;
}

.ae-dialog-btn-today[b-uqkg4r5d1w] {
  background: var(--accent-soft-12);
  border: var(--hairline-width) solid var(--accent-border-40);
  border-radius: 14px;
  color: var(--color-primary);
  font-size: 0.82rem;
  font-weight: 600;
  padding: 4px 12px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.ae-dialog-btn-today:active[b-uqkg4r5d1w] { background: var(--accent-soft-20); }

.txh-arrow[b-uqkg4r5d1w] {
  background: transparent;
  border: none;
  color: var(--color-primary);
  font-size: 1.4rem;
  cursor: pointer;
  padding: 4px 10px;
  border-radius: 8px;
  -webkit-tap-highlight-color: transparent;
}

.txh-arrow:active[b-uqkg4r5d1w] { background: var(--accent-soft-12); }

.txh-cal-hdr[b-uqkg4r5d1w] {
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--color-text-muted);
  text-align: center;
  padding: 4px 0;
}

.txh-cal-hdr.sunday[b-uqkg4r5d1w] { color: var(--ui-danger); }
.txh-cal-hdr.saturday[b-uqkg4r5d1w] { color: var(--color-primary); }

.txh-cal-day[b-uqkg4r5d1w] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 4px 2px;
  border: none;
  background: transparent;
  border-radius: 8px;
  cursor: pointer;
  min-height: 36px;
  -webkit-tap-highlight-color: transparent;
  transition: background 0.12s;
}

.txh-cal-day:active[b-uqkg4r5d1w] { background: var(--surface-2); }

.txh-cal-day.active .txh-num[b-uqkg4r5d1w] {
  background: transparent;
  color: var(--color-primary) !important;
  border: 1px solid var(--color-primary);
  border-radius: 50%;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
}

[data-theme="pitch-black"] .txh-cal-day.active .txh-num[b-uqkg4r5d1w],
[data-theme="midnight"] .txh-cal-day.active .txh-num[b-uqkg4r5d1w],
[data-theme="modern-slate"] .txh-cal-day.active .txh-num[b-uqkg4r5d1w] {
  border-color: #fff !important;
  color: #fff !important;
}

.txh-cal-day.today .txh-num[b-uqkg4r5d1w] { color: var(--color-primary); font-weight: 700; }
.txh-cal-day.other-month[b-uqkg4r5d1w] { opacity: 0.3; }
.txh-cal-day.is-sun .txh-num[b-uqkg4r5d1w] { color: var(--ui-danger); }
.txh-cal-day.is-sat .txh-num[b-uqkg4r5d1w] { color: var(--color-primary); }

.txh-num[b-uqkg4r5d1w] {
  font-size: 0.88rem;
  font-weight: 500;
}

.ae-dt-picker-actions[b-uqkg4r5d1w] {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}

.ae-dialog-btn[b-uqkg4r5d1w] {
  flex: 1;
  padding: 10px;
  border-radius: 10px;
  border: none;
  font-size: 0.88rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s;
  background: var(--surface-2);
  color: var(--color-text);
}

.ae-dialog-btn:active[b-uqkg4r5d1w] { background: var(--neutral-soft-08); }

.ae-dialog-btn-primary[b-uqkg4r5d1w] {
  background: var(--accent-soft-12);
  color: var(--color-primary);
}

.ae-dialog-btn-primary:active[b-uqkg4r5d1w] { background: var(--accent-soft-20); }
/* /Shared/UI/AeDatePickerField.razor.rz.scp.css */
.ae-date-picker-trigger[b-hr7hv9bk9h],
.ae-time-picker-trigger[b-hr7hv9bk9h] {
  width: 100%;
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border: var(--hairline-width) solid var(--color-separator);
  border-radius: 12px;
  background: var(--color-surface);
  color: var(--color-text);
  padding: 8px 11px;
  font: inherit;
  font-weight: 650;
  text-align: center;
  -webkit-tap-highlight-color: transparent;
}

.ae-date-picker-trigger > span[b-hr7hv9bk9h],
.ae-time-picker-trigger > span[b-hr7hv9bk9h] {
  flex: 1 1 auto;
  text-align: center;
}

.ae-date-picker-trigger:disabled[b-hr7hv9bk9h],
.ae-time-picker-trigger:disabled[b-hr7hv9bk9h] {
  opacity: 0.55;
}
/* /Shared/UI/AeDateRangeFilter.razor.rz.scp.css */
.ae-dr-filter[b-6l1wg2mb82] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.ae-dr-filter.is-fixed[b-6l1wg2mb82] {
    position: fixed;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: min(var(--page-max-width), 100vw);
    padding: var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom));
    border-top: var(--hairline-width) solid var(--hairline-color);
    background: var(--surface-2);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    z-index: 50;
}

.ae-dr-filter.is-inline[b-6l1wg2mb82] {
    padding: 0;
    margin: 0 0 var(--space-3);
    background: transparent;
}

.ae-dr-toggle[b-6l1wg2mb82] {
    width: 100%;
    min-height: 34px;
    border: var(--hairline-width) solid var(--color-separator);
    border-radius: var(--radius-md);
    background: var(--surface-1);
    color: var(--color-text);
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: var(--space-2);
    padding: 0.38rem 0.62rem;
    font: inherit;
    cursor: pointer;
}

.ae-dr-filter.is-inline .ae-dr-toggle[b-6l1wg2mb82] {
    background: var(--surface-2);
}

.ae-dr-toggle-main[b-6l1wg2mb82] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.78rem;
    font-weight: 900;
    color: var(--color-text);
    white-space: nowrap;
}

.ae-dr-toggle-sub[b-6l1wg2mb82] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: right;
    color: var(--color-text-muted);
    font-size: 0.76rem;
    font-weight: 800;
}

.ae-dr-body[b-6l1wg2mb82] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.ae-dr-filter.is-collapsed .ae-dr-body[b-6l1wg2mb82] {
    display: none;
}

.ae-dr-quick[b-6l1wg2mb82] {
    display: flex;
    gap: var(--space-2);
    overflow-x: auto;
    scrollbar-width: none;
}

.ae-dr-quick[b-6l1wg2mb82]::-webkit-scrollbar {
    display: none;
}

.ae-dr-chip[b-6l1wg2mb82] {
    border: var(--hairline-width) solid var(--color-separator);
    min-height: 32px;
    padding: 0.3rem 0.78rem;
    border-radius: 999px;
    background: var(--surface-1);
    color: var(--color-text-muted);
    font-size: 0.8rem;
    font-weight: 900;
    cursor: pointer;
    flex-shrink: 0;
    appearance: none;
    -webkit-appearance: none;
    transition: transform 0.12s ease, background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

.ae-dr-chip:active[b-6l1wg2mb82] {
    transform: scale(0.96);
}

.ae-dr-chip.active[b-6l1wg2mb82] {
    background: var(--ios-blue);
    border-color: var(--ios-blue);
    color: #fff;
    box-shadow: 0 5px 14px rgba(0, 122, 255, 0.22);
}

.ae-dr-dates[b-6l1wg2mb82] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.ae-dr-date-cell[b-6l1wg2mb82] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ae-dr-date-label[b-6l1wg2mb82] {
    color: var(--ios-muted);
    font-size: 0.72rem;
    font-weight: 600;
}

.ae-dr-date-input[b-6l1wg2mb82] {
    width: 100%;
    border: var(--hairline-width) solid var(--hairline-color);
    border-radius: var(--radius-md);
    background: var(--surface-1);
    color: var(--color-text);
    font-size: 0.85rem;
    padding: 0.3rem 0.5rem;
}

.ae-dr-date-button[b-6l1wg2mb82] {
    min-height: 34px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    cursor: pointer;
}

.ae-dr-date-button span[b-6l1wg2mb82] {
    flex: 1;
    text-align: center;
}

.ae-dr-date-button iconify-icon[b-6l1wg2mb82] {
    color: var(--ios-muted);
    flex: 0 0 auto;
}

.ae-dr-sep[b-6l1wg2mb82] {
    color: var(--ios-muted);
    font-size: 0.85rem;
    padding-top: 1rem;
}

.ae-dr-spacer[b-6l1wg2mb82] {
    height: 116px;
}

.ae-dr-spacer.is-collapsed[b-6l1wg2mb82] {
    height: 58px;
}
/* /Shared/UI/AeHeroIconPickerTrigger.razor.rz.scp.css */
.ae-hero-icon-trigger[b-3kusbvknyn] {
    border: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform 0.12s ease, background 0.15s ease, border-color 0.15s ease;
}

.ae-hero-icon-trigger:active[b-3kusbvknyn] {
    transform: scale(0.97);
}

.ae-hero-icon-trigger.placeholder[b-3kusbvknyn] {
    border-style: dashed;
    color: var(--ios-muted);
}
/* /Shared/UI/AeIconPickerTrigger.razor.rz.scp.css */
.ae-icon-picker-trigger-root[b-2ktrvqdwqs] {
    width: 100%;
}

.ae-icon-picker-trigger-row[b-2ktrvqdwqs] {
    display: flex;
    align-items: center;
    gap: var(--space-3, 12px);
    margin-top: 6px;
}

.ae-icon-picker-trigger-btn[b-2ktrvqdwqs] {
    border: var(--hairline-width) solid var(--ios-separator);
    background: var(--ios-bg);
    color: var(--ios-text);
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s, transform 0.1s;
}

.ae-icon-picker-trigger-btn:active[b-2ktrvqdwqs] {
    transform: scale(0.97);
}

.ae-icon-picker-trigger-btn:hover[b-2ktrvqdwqs] {
    background: var(--ios-fill);
}

.ae-icon-picker-trigger-btn.placeholder[b-2ktrvqdwqs] {
    border-style: dashed;
    color: var(--ios-muted);
}

.ae-icon-picker-trigger-btn.compact[b-2ktrvqdwqs] {
    width: 48px;
    height: 48px;
    border-radius: var(--ios-radius-xs);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.ae-icon-picker-trigger-btn.field[b-2ktrvqdwqs] {
    width: 100%;
    min-height: 48px;
    border-radius: 14px;
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr) 18px;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    text-align: left;
}

.ae-icon-picker-trigger-preview.field[b-2ktrvqdwqs] {
    width: 36px;
    height: 36px;
    border-radius: 12px;
    background: var(--accent-soft-12);
    color: var(--ios-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.ae-icon-picker-trigger-text[b-2ktrvqdwqs] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ae-icon-picker-trigger-text.compact[b-2ktrvqdwqs] {
    font-size: 0.8rem;
    color: var(--ios-muted);
}

.ae-icon-picker-trigger-text.field[b-2ktrvqdwqs] {
    font-size: 0.82rem;
    color: var(--ios-muted);
}
/* /Shared/UI/AeNullableDatePickerField.razor.rz.scp.css */
.ae-nullable-date-picker[b-ulkfgsewuj] {
  display: flex;
  align-items: stretch;
  gap: 6px;
  width: 100%;
}

.ae-date-picker-trigger[b-ulkfgsewuj] {
  flex: 1;
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border: var(--hairline-width) solid var(--color-separator);
  border-radius: 12px;
  background: var(--color-surface);
  color: var(--color-text);
  padding: 8px 11px;
  font: inherit;
  font-weight: 650;
  text-align: center;
  -webkit-tap-highlight-color: transparent;
}

.ae-date-picker-trigger > span[b-ulkfgsewuj] {
  flex: 1 1 auto;
  text-align: center;
}

.ae-date-clear[b-ulkfgsewuj] {
  width: 38px;
  min-height: 38px;
  border: var(--hairline-width) solid var(--color-separator);
  border-radius: 12px;
  background: var(--color-bg);
  color: var(--color-text-secondary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
/* /Shared/UI/AeSelectPicker.razor.rz.scp.css */
.ae-select-picker-trigger[b-my7320q3ow] {
    width: 100%;
    min-height: 38px;
    border: 0.5px solid var(--ios-separator);
    border-radius: 10px;
    background: var(--ios-card);
    color: var(--ios-text);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 10px;
    font: inherit;
    font-size: 0.92rem;
    text-align: left;
}

.ae-select-picker-trigger:disabled[b-my7320q3ow] {
    opacity: 0.55;
    cursor: not-allowed;
}

.ae-select-picker-label[b-my7320q3ow] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ae-select-picker-sheet[b-my7320q3ow] {
    width: min(92vw, 520px);
    max-height: min(72vh, 560px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.ae-select-picker-list[b-my7320q3ow] {
    overflow: auto;
    padding-bottom: 8px;
    -webkit-overflow-scrolling: touch;
}

.ae-select-picker-header[b-my7320q3ow] {
    padding: 10px 14px 6px;
    color: var(--ios-muted);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.02em;
}

.ae-select-picker-row[b-my7320q3ow] {
    width: 100%;
    min-height: 44px;
    border: 0;
    border-bottom: var(--hairline-width) solid var(--color-separator);
    background: transparent;
    color: var(--ios-text);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 14px;
    text-align: left;
    font: inherit;
    font-size: 0.94rem;
}

.ae-select-picker-row:last-child[b-my7320q3ow] {
    border-bottom: 0;
}

.ae-select-picker-row:active[b-my7320q3ow] {
    background: var(--surface-2);
}

.ae-select-picker-row.picked[b-my7320q3ow] {
    color: var(--ios-blue);
    font-weight: 800;
}
/* /Shared/UI/AeTimePicker.razor.rz.scp.css */
.ae-time-picker-sheet[b-6xpl2pr70l] { max-height: 75vh; }

.ae-time-drum-container[b-6xpl2pr70l] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 16px;
  user-select: none;
}

.ae-time-drum-wrap[b-6xpl2pr70l] {
  flex: 1;
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  border: var(--hairline-width) solid var(--color-separator);
  background: var(--color-bg);
  max-width: 120px;
  touch-action: none;
}

.ae-time-drum-scroll[b-6xpl2pr70l] {
  display: flex;
  flex-direction: column;
}

.ae-time-drum-item[b-6xpl2pr70l] {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  font-size: 0.95rem;
  color: var(--color-text-muted);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: color 0.15s;
}

.ae-time-drum-center[b-6xpl2pr70l] {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--color-text);
  background: var(--color-surface);
  border-top: var(--hairline-width) solid var(--color-separator);
  border-bottom: var(--hairline-width) solid var(--color-separator);
}

.ae-time-drum-sep[b-6xpl2pr70l] {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--color-text-secondary);
  padding: 0 4px;
}

.ae-time-drum-fade[b-6xpl2pr70l] {
  position: absolute;
  left: 0;
  right: 0;
  height: 44px;
  pointer-events: none;
  z-index: 1;
}

.ae-time-drum-fade-top[b-6xpl2pr70l] {
  top: 0;
  background: linear-gradient(to bottom, var(--color-bg), transparent);
}

.ae-time-drum-fade-bottom[b-6xpl2pr70l] {
  bottom: 0;
  background: linear-gradient(to top, var(--color-bg), transparent);
}

.ae-kbd-error[b-6xpl2pr70l] {
  font-size: 0.78rem;
  color: var(--ui-danger);
  text-align: center;
  font-weight: 600;
  padding: 4px 16px;
}

.ae-numpad[b-6xpl2pr70l] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  width: 100%;
  max-width: 280px;
  margin: 0 auto;
}

.ae-numpad-btn[b-6xpl2pr70l] {
  background: var(--color-surface);
  border: var(--hairline-width) solid var(--color-separator);
  border-radius: 12px;
  padding: 14px 8px;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--color-text);
  cursor: pointer;
  text-align: center;
  -webkit-tap-highlight-color: transparent;
  transition: background 0.12s;
}

.ae-numpad-btn:active[b-6xpl2pr70l] { background: var(--color-fill); }

.ae-numpad-del[b-6xpl2pr70l] {
  background: var(--danger-soft-12);
  color: var(--ui-danger);
}

.ae-dt-picker-actions[b-6xpl2pr70l] {
  padding: 12px 16px;
}

.ae-picker-sheet-title[b-6xpl2pr70l] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  border-bottom: var(--hairline-width) solid var(--color-separator);
  font-weight: 700;
  font-size: 1rem;
  color: var(--color-text);
  position: sticky;
  top: 0;
  background: var(--color-surface);
  z-index: 1;
}

.ae-picker-kbd-header[b-6xpl2pr70l] {
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  color: var(--color-text);
  font-variant-numeric: tabular-nums;
}

.ae-dialog-btn-today[b-6xpl2pr70l] {
  background: var(--accent-soft-12);
  border: var(--hairline-width) solid var(--accent-border-40);
  border-radius: 14px;
  color: var(--color-primary);
  font-size: 0.82rem;
  font-weight: 600;
  padding: 4px 12px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.ae-dialog-btn-today:active[b-6xpl2pr70l] { background: var(--accent-soft-20); }

.ae-dt-picker-actions[b-6xpl2pr70l] {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}

.ae-dialog-btn[b-6xpl2pr70l] {
  flex: 1;
  padding: 10px;
  border-radius: 10px;
  border: none;
  font-size: 0.88rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s;
  background: var(--surface-2);
  color: var(--color-text);
}

.ae-dialog-btn:active[b-6xpl2pr70l] { background: var(--neutral-soft-08); }

.ae-dialog-btn-primary[b-6xpl2pr70l] {
  background: var(--accent-soft-12);
  color: var(--color-primary);
}

.ae-dialog-btn-primary:active[b-6xpl2pr70l] { background: var(--accent-soft-20); }
/* /Shared/UI/AeTimePickerField.razor.rz.scp.css */
.ae-time-picker-trigger[b-sssgyzoum5] {
  width: 100%;
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border: var(--hairline-width) solid var(--color-separator);
  border-radius: 12px;
  background: var(--color-surface);
  color: var(--color-text);
  padding: 8px 11px;
  font: inherit;
  font-weight: 650;
  text-align: left;
  -webkit-tap-highlight-color: transparent;
}
/* /Shared/UserSwitcher.razor.rz.scp.css */
.user-switcher[b-i94nqbi4og] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.user-switcher label[b-i94nqbi4og] {
    margin: 0;
    color: var(--ios-muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.user-switcher-reload[b-i94nqbi4og] {
    min-height: 32px;
    padding: 0 0.78rem;
    border-radius: 999px;
    border: var(--hairline-width) solid var(--accent-border-40);
    background: var(--accent-soft-08);
    color: var(--color-primary);
    font: inherit;
    font-size: 0.78rem;
    font-weight: 800;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.user-switcher-reload:active[b-i94nqbi4og] {
    transform: scale(0.98);
}
