@import '_content/Microsoft.FluentUI.AspNetCore.Components/Microsoft.FluentUI.AspNetCore.Components.b6pgxrrsua.bundle.scp.css';

/* /Lib/Components/AppBar/VisualAppBar.razor.rz.scp.css */
.appbar[b-jusgtu9z32] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: var(--appbar-height);
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: var(--primary-color);
    color: #fff;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
    z-index: 1000;
    padding: 0 0.25rem;
    transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

/* Centraliza o título visualmente mesmo com ícones à esquerda e direita */
.appbar .title[b-jusgtu9z32] {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    font-size: 1.15rem;
    font-weight: 600;
    margin: 0;
    white-space: nowrap;
}

/* Botão icônico (menu, voltar, etc) */
.icon-btn[b-jusgtu9z32] {
    background: none;
    border: none;
    color: #fff;
    font-size: 1.6rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    transition: background 0.25s ease, transform 0.15s ease;
}

.icon-btn:hover[b-jusgtu9z32],
.icon-btn:active[b-jusgtu9z32] {
    background: rgba(255, 255, 255, 0.15);
    transform: scale(0.95);
}

/* Ícones do Google Material Symbols outlined | rounded */
.material-symbols-rounded[b-jusgtu9z32] {
    font-family: 'Material Symbols Rounded', sans-serif;
    font-variation-settings:
        'FILL' 0,
        'wght' 500,
        'GRAD' 0,
        'opsz' 24;
    font-size: 26px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Ajuste para evitar o conteúdo sob o AppBar */
body[b-jusgtu9z32],
.main-content[b-jusgtu9z32] {
    padding-top: 56px;
}

/* Suporte a Safe Area (para iPhones com notch) */
@supports (padding: max(0px)) {
    .appbar[b-jusgtu9z32] {
        padding-top: env(safe-area-inset-top);
        height: calc(56px + env(safe-area-inset-top));
    }
    body[b-jusgtu9z32],
    .main-content[b-jusgtu9z32] {
        padding-top: calc(56px + env(safe-area-inset-top));
    }
}
/* /Lib/Components/Banner/VisualBanner.razor.rz.scp.css */
.visual-banner[b-dji5fmvur6] {
    position: relative;
    width: 100%;
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 180px;
    background: #f4f4f4;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.banner-image[b-dji5fmvur6] {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
}

.banner-content[b-dji5fmvur6] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    backdrop-filter: blur(2px);
}

.banner-title[b-dji5fmvur6] {
    font-size: 1.8rem;
    font-weight: 600;
    margin-bottom: 0.3rem;
}

.banner-subtitle[b-dji5fmvur6] {
    font-size: 1rem;
    opacity: 0.9;
    margin-bottom: 1rem;
}

.banner-btn[b-dji5fmvur6] {
    background-color: var(--primary-color);
    color: white;
    border: none;
    border-radius: 24px;
    padding: 0.6rem 1.4rem;
    font-size: 1rem;
    cursor: pointer;
    transition: background 0.3s ease;
}

.banner-btn:hover[b-dji5fmvur6] {
    background-color: var(--primary-color-dark, #e96c00);
}
/* /Lib/Components/BottomNavigationBar/VisualBottomNavigationBar.razor.rz.scp.css */
/* :root {
    --bottom-nav-bg: #ffffff;
    --bottom-nav-active: #ff7a00;
    --bottom-nav-inactive: #666666;
    --bottom-nav-elevation: 8px;
} */

/* Container fixo bottom */
.visual-bottom-nav[b-2vql31pgwr] {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--bottom-nav-bg);
    box-shadow: 0 -2px 10px rgba(0,0,0,0.08);
    z-index: 1200;
    display: flex;
    align-items: center;
    justify-content: center;
    --nav-height: 64px;
}

/* inner */
.visual-bottom-nav-inner[b-2vql31pgwr] {
    display: flex;
    gap: 4px;
    width: 100%;
    max-width: 1200px;
    padding: 6px 8px;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
}

/* item */
.visual-bottom-nav-item[b-2vql31pgwr] {
    flex: 1 1 0;
    background: transparent;
    border: none;
    padding: 6px 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    color: var(--bottom-nav-inactive);
    cursor: pointer;
    transition: transform 0.18s ease, color 0.18s ease;
    position: relative;
    min-width: 64px;
}

/* icon wrap */
.nav-icon-wrap[b-2vql31pgwr] {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* icon (material symbol) */
.nav-icon[b-2vql31pgwr] {
    font-size: 22px;
    line-height: 1;
}

/* image icon */
.nav-icon-img[b-2vql31pgwr] {
    width: 22px;
    height: 22px;
    object-fit: contain;
    border-radius: 4px;
}

/* badge */
.nav-badge[b-2vql31pgwr] {
    position: absolute;
    top: -6px;
    right: -8px;
    background: var(--bottom-nav-active);
    color: #fff;
    font-size: 11px;
    padding: 2px 6px;
    border-radius: 999px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.15);
}

/* label */
.nav-label .label-text[b-2vql31pgwr] {
    font-size: 12px;
    line-height: 1;
}

/* active */
.visual-bottom-nav-item.active[b-2vql31pgwr] {
    color: var(--bottom-nav-active);
    /* transform: translateY(-6px); */
}
.visual-bottom-nav-item.active .nav-icon[b-2vql31pgwr],
.visual-bottom-nav-item.active .nav-icon-img[b-2vql31pgwr] {
    color: var(--bottom-nav-active);
}

/* shifting style (bigger active) */
.visual-bottom-nav-item.shifting.active[b-2vql31pgwr] {
    /* transform: translateY(-8px) scale(1.06); */
}

/* responsive */
@media (min-width: 900px) {
    .visual-bottom-nav-inner[b-2vql31pgwr] { padding: 8px 16px; }
    .nav-icon[b-2vql31pgwr] { font-size: 24px; }
    .nav-icon-img[b-2vql31pgwr] { width: 24px; height: 24px; }
    .nav-label .label-text[b-2vql31pgwr] { font-size: 13px; }
}
/* /Lib/Components/Buttons/Button/VisualButton.razor.rz.scp.css */
button.btn[b-77g3wpeju3] {
    border: none;
    outline: none;
    border-radius: 10px;
    font-weight: 600;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    cursor: pointer;
    user-select: none;
    text-transform: none;
}

/* ===== VARIANT: PRIMARY ===== */
.btn-primary[b-77g3wpeju3] {
    color: #fff;
    background-color: var(--primary-color);
    border: 1px solid var(--primary-color);
}

.btn-primary:hover:not(:disabled):not(.disabled)[b-77g3wpeju3] {
    background-color: var(--primary-color-hover);
}

.btn-primary:active[b-77g3wpeju3] {
    background-color: var(--primary-color-active);
}

.btn-primary:disabled[b-77g3wpeju3],
.btn-primary.disabled[b-77g3wpeju3] {
    background-color: var(--primary-color-disabled);
    cursor: not-allowed;
    opacity: 0.85;
}

/* ===== VARIANT: SECONDARY ===== */
.btn-secondary[b-77g3wpeju3] {
    color: #fff;
    background-color: var(--secondary-color);
    border: 1px solid var(--secondary-color);
}

.btn-secondary:hover:not(:disabled):not(.disabled)[b-77g3wpeju3] {
    background-color: var(--secondary-color-hover);
}

.btn-secondary:active[b-77g3wpeju3] {
    background-color: var(--secondary-color-active);
}

.btn-secondary:disabled[b-77g3wpeju3],
.btn-secondary.disabled[b-77g3wpeju3] {
    background-color: var(--secondary-color-disabled);
    opacity: 0.85;
    cursor: not-allowed;
}

/* ===== VARIANT: SUCCESS ===== */
.btn-success[b-77g3wpeju3] {
    color: #fff;
    background-color: #28a745;
    border: 1px solid #28a745;
}

.btn-success:hover:not(:disabled):not(.disabled)[b-77g3wpeju3] {
    background-color: #218838;
}

.btn-success:active[b-77g3wpeju3] {
    background-color: #1e7e34;
}

.btn-success:disabled[b-77g3wpeju3] {
    background-color: #8fd19e;
    cursor: not-allowed;
}

/* ===== VARIANT: NEUTRAL ===== */
.btn-neutral[b-77g3wpeju3] {
    color: var(--primary-color);
    background-color: #fff;
}

.btn-neutral:hover:not(:disabled):not(.disabled)[b-77g3wpeju3] {
    background-color: #fff;
}

.btn-neutral:active[b-77g3wpeju3] {
    background-color: #1e7e34;
}

.btn-neutral:disabled[b-77g3wpeju3] {
    color: #666;
    background-color: #fff;
    cursor: not-allowed;
}

/* ===== VARIANT: DANGER ===== */
.btn-danger[b-77g3wpeju3] {
    color: #dc3545;
    background-color: #fff;
    border: 1px solid #dc3545 !important;
}

.btn-danger:hover:not(:disabled):not(.disabled)[b-77g3wpeju3] {
    color: #fff;
    background-color: #c82333;
}

.btn-danger:active[b-77g3wpeju3] {
    background-color: #fff;
    border: 2px solid #dc3545 !important;
}

.btn-danger:disabled[b-77g3wpeju3] {
    color: #e99ca4;
    cursor: not-allowed;
}

/* ===== VARIANT: CANCEL ===== */
.btn-cancel[b-77g3wpeju3] {
    color: #dc3545;
    background-color: #fff;
    border: 1px solid #dc3545 !important;
}

.btn-cancel:hover:not(:disabled):not(.disabled)[b-77g3wpeju3] {
    color: #dc3545;
    background-color: #fff;
}

.btn-cancel:active[b-77g3wpeju3] {
    background-color: #fff;
    border: 2px solid #dc3545 !important;
}

.btn-cancel:disabled[b-77g3wpeju3] {
    color: #e99ca4;
    cursor: not-allowed;
}

/* ===== VARIANT: INFO ===== */
.btn-info[b-77g3wpeju3] {
    color: #fff;
    background-color: #17a2b8;
    border: 1px solid #17a2b8;
}

.btn-info:hover:not(:disabled):not(.disabled)[b-77g3wpeju3] {
    background-color: #138496;
}

.btn-info:active[b-77g3wpeju3] {
    background-color: #117a8b;
}

.btn-info:disabled[b-77g3wpeju3] {
    background-color: #8bd2dd;
    cursor: not-allowed;
}

/* ===== SIZES ===== */
.btn-small[b-77g3wpeju3] {
    font-size: 0.85rem;
    padding: 0.4rem 0.75rem;
}

.btn-medium[b-77g3wpeju3] {
    font-size: 1rem;
    padding: 0.6rem 1rem;
}

.btn-large[b-77g3wpeju3] {
    font-size: 1.2rem;
    padding: 0.8rem 1.5rem;
}

/* ===== LOADING ===== */
.btn.loading[b-77g3wpeju3] {
    position: relative;
    pointer-events: none;
    opacity: 0.8;
}

.loader[b-77g3wpeju3] {
    width: 20px;
    height: 20px;
    border: 2px solid rgba(255,255,255,0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: spin-b-77g3wpeju3 0.8s linear infinite;
}

.btn-secondary .loader[b-77g3wpeju3] {
    border: 1px solid rgba(255,122,0,0.2);
    border-top-color: #ff7a00;
}

.btn-danger .loader[b-77g3wpeju3] {
    border: 1px solid rgba(255,122,0,0.2);;
}

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

/* ===== ICON ===== */
.material-symbols-outlined.icon[b-77g3wpeju3] {
    font-size: 20px;
    line-height: 1;
    vertical-align: middle;
}

.text[b-77g3wpeju3] {
    display: inline-block;
}
/* /Lib/Components/Buttons/ButtonGroup/VisualButtonGroup.razor.rz.scp.css */
.visual-button-group[b-o6dpruydb3] {
    display: inline-flex;
    flex-wrap: wrap;
    background: #f3f3f3;
    border-radius: 12px;
    padding: 0.25rem;
    gap: 0.25rem;
    margin: 0.75rem 0rem;
}

.visual-button-group .visual-button[b-o6dpruydb3] {
    flex: 1;
    border: none;
    background: transparent;
    color: #333;
    font-size: 1rem;
    font-weight: 500;
    border-radius: 10px;
    padding: 0.5rem 1.2rem;
    cursor: pointer;
    transition: background 0.25s ease, color 0.25s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
}

.visual-button-group .visual-button:hover[b-o6dpruydb3] {
    background-color: rgba(255, 122, 0, 0.1);
}

.visual-button-group .visual-button.active[b-o6dpruydb3] {
    /* background-color: var(--primary-color); */
    background-color: #2e4547;
    color: #fff;
    font-weight: 600;
}
/* /Lib/Components/Buttons/IconButton/VisualIconButton.razor.rz.scp.css */
.icon-btn[b-uy3uoarkro] {
    background: none;
    border: none;
    color: #fff;
    font-size: 1.6rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    transition: background 0.25s ease, transform 0.15s ease;
}

.icon-btn:hover[b-uy3uoarkro],
.icon-btn:active[b-uy3uoarkro] {
    background: rgba(255, 255, 255, 0.15);
    transform: scale(0.95);
}

/* Ícones do Google Material Symbols outlined | rounded */
.material-symbols-rounded[b-uy3uoarkro] {
    font-family: 'Material Symbols Rounded', sans-serif;
    font-variation-settings:
        'FILL' 0,
        'wght' 500,
        'GRAD' 0,
        'opsz' 24;
    font-size: 26px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ===== SIZES ===== */
.btn-small[b-uy3uoarkro] {
    font-size: 0.85rem;
    padding: 0.4rem 0.75rem;
}

.btn-medium[b-uy3uoarkro] {
    font-size: 1rem;
    padding: 0.6rem 1rem;
}

.btn-large[b-uy3uoarkro] {
    font-size: 1.2rem;
    padding: 0.8rem 1.5rem;
}
/* /Lib/Components/Card/VisualCard.razor.rz.scp.css */
.vcard[b-oz2grcugag] {
    background: #fff;
    border-radius: 16px;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
    transition: box-shadow 0.2s ease, transform 0.1s ease;
}

/* 🔳 Elevações (como no Flutter) */
.vcard.e0[b-oz2grcugag] { box-shadow: none; }
.vcard.e1[b-oz2grcugag] { box-shadow: 0 1px 3px rgba(0,0,0,0.12); }
.vcard.e2[b-oz2grcugag] { box-shadow: 0 2px 6px rgba(0,0,0,0.16); }
.vcard.e3[b-oz2grcugag] { box-shadow: 0 4px 10px rgba(0,0,0,0.18); }
.vcard.e4[b-oz2grcugag] { box-shadow: 0 6px 14px rgba(0,0,0,0.22); }
.vcard.e5[b-oz2grcugag] { box-shadow: 0 8px 18px rgba(0,0,0,0.25); }

.vcard.rounded[b-oz2grcugag] {
    border: 1px solid rgba(0,0,0,0.12);
    box-shadow: none !important;
}

.vcard.clickable[b-oz2grcugag] {
    cursor: pointer;
}

.vcard.clickable:hover[b-oz2grcugag] {
    transform: translateY(-2px);
}

.vcard-header[b-oz2grcugag] {
    margin-bottom: 0.5rem;
}

.vcard-title[b-oz2grcugag] {
    font-size: 1.1rem;
    font-weight: 600;
    color: #333;
    margin: 0;
}

.vcard-subtitle[b-oz2grcugag] {
    font-size: 0.9rem;
    color: #777;
    margin-top: 0.25rem;
}

.vcard-body[b-oz2grcugag] {
    font-size: 0.95rem;
    color: #444;
}

.vcard-footer[b-oz2grcugag] {
    margin-top: 1rem;
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
}

/* 🖼️ Mídia */
.vcard-media[b-oz2grcugag] {
    margin-bottom: 0.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.vcard-image[b-oz2grcugag] {
    width: 100%;
    border-radius: 12px;
    object-fit: cover;
}

.vcard-icon[b-oz2grcugag] {
    font-size: 2rem;
    color: var(--primary-color);
}

/* 💧 Ripple Effect */
.vcard-ripple[b-oz2grcugag] {
    position: absolute;
    border-radius: 50%;
    transform: scale(0);
    background-color: rgba(255, 255, 255, 0.4);
    animation: ripple-animation-b-oz2grcugag 0.6s linear;
    pointer-events: none;
}

@keyframes ripple-animation-b-oz2grcugag {
    to {
        transform: scale(4);
        opacity: 0;
    }
}
/* /Lib/Components/Card/VisualDashboardCard.razor.rz.scp.css */
    .dashboard-card[b-6461jv2we8] {
      background-color: #f9f9f9;
      border-radius: 12px;
      box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
      padding: 6px 6px;
      min-width: 220px;
      text-align: left;
      font-family: sans-serif;
      color: #2e4547;
    }

    .dashboard-card h3[b-6461jv2we8] {
      font-size: 24px;
      margin-bottom: 1px;
      color: #537072;
    }

    .dashboard-card .value[b-6461jv2we8] {
      font-size: 32px;
      font-weight: bold;
      color: #009f73;
    }

    .dashboard-card .icon[b-6461jv2we8] {
      font-size: 24px;
      color: #ff7a00;
      float: right;
      margin-top: -5px;
    }

    .dashboard-card:hover[b-6461jv2we8] {
        transform: translateY(-2px);
    }
/* /Lib/Components/Chart/VisualChart.razor.rz.scp.css */
.visual-chart-container[b-dsil6iud7s] {
    position: relative;
    background: #fff;
    border-radius: 16px;
    /* padding: 1rem; */
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    /* min-height: 250px; */
}

.visual-chart-container canvas[b-dsil6iud7s] {
    width: 100% !important;
    height: 100% !important;
}
/* /Lib/Components/Checkbox/VisualCheckbox.razor.rz.scp.css */
.visual-checkbox-container[b-ot8nddp5k0] {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    user-select: none;
}

.visual-checkbox-container[disabled="true"][b-ot8nddp5k0] {
    cursor: not-allowed;
    opacity: 0.6;
}

.visual-checkbox[b-ot8nddp5k0] {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    border-radius: 4px;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.visual-checkbox.disabled[b-ot8nddp5k0] {
    cursor: not-allowed;
}

.check-icon[b-ot8nddp5k0] {
    font-size: 24px;
    line-height: 1;
    color: inherit;
}

.checkbox-label[b-ot8nddp5k0] {
    font-size: 16px;
    color: #666;
}
/* /Lib/Components/Column/VisualColumn.razor.rz.scp.css */
.visual-column[b-i2v1e2wnnw] {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}

.visual-column > *[b-i2v1e2wnnw] {
    box-sizing: border-box;
}
/* /Lib/Components/Container/VisualContainer.razor.rz.scp.css */

.visual-container[b-4w2hwvxp58] {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    max-height: 100vh;
    max-width: 1200px; /* largura máxima no desktop */
    margin: 0 auto; /* centraliza o conteúdo */
    overflow-y: auto; /* 🔥 habilita scroll vertical */
    overflow-x: hidden;
    box-sizing: border-box;
    padding: 1rem;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch; /* melhora o scroll no iOS */

    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE e Edge antigo */    
}

.visual-container[b-4w2hwvxp58]::-webkit-scrollbar {
    display: none; /* Chrome, Safari */
}

.visual-container.full-height[b-4w2hwvxp58] {
    height: calc(100vh - var(--appbar-height, 56px)); /* Ajuste conforme seu AppBar */
}

.visual-container.scrollable[b-4w2hwvxp58] {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.visual-container.center[b-4w2hwvxp58] {
    align-items: center;
    justify-content: center;
}

.visual-container[b-4w2hwvxp58]::-webkit-scrollbar {
    width: 8px;
}

.visual-container[b-4w2hwvxp58]::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.25);
    border-radius: 4px;
}

/* Layout fluido e proporcional */
@media (max-width: 1200px) {
    .visual-container[b-4w2hwvxp58] { max-width: 1000px; }
}

@media (max-width: 900px) {
    .visual-container[b-4w2hwvxp58] { max-width: 720px; padding: 1rem; }
}

@media (max-width: 600px) {
    .visual-container[b-4w2hwvxp58] { max-width: 100%; padding: 0.75rem; }
}
/* /Lib/Components/Container/VisualFormGrid.razor.rz.scp.css */
.visual-form-grid[b-ux3h96y18x] {
    display: grid;
    /* grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); */
    justify-content: center;
    /* gap: 1rem; */
    /* width: 100%; */
    /* max-width: var(--max-width, 900px); */
    /* margin: 0 auto; */
    /* padding: 1rem; */
    box-sizing: border-box;
}

/* Garante que cada "campo" fique verticalmente organizado */
.visual-form-grid > *[b-ux3h96y18x] {
    display: flex;
    flex-direction: column;
}

/* Gaps dinâmicos */
.gap-05rem[b-ux3h96y18x] { gap: 0.5rem; }
.gap-1rem[b-ux3h96y18x]  { gap: 1rem; }
.gap-15rem[b-ux3h96y18x] { gap: 1.5rem; }
.gap-2rem[b-ux3h96y18x]  { gap: 2rem; }

/* Responsividade */
@media (max-width: 768px) {
    .visual-form-grid[b-ux3h96y18x] {
        grid-template-columns: 1fr;
        padding: 0.75rem;
    }
}

/* Labels e inputs com espaçamento visual consistente */
.visual-form-grid label[b-ux3h96y18x] {
    font-weight: 500;
    margin-bottom: 0.4rem;
    color: var(--text-secondary, #444);
}

.visual-form-grid input[b-ux3h96y18x],
.visual-form-grid select[b-ux3h96y18x],
.visual-form-grid textarea[b-ux3h96y18x] {
    padding: 0.6rem 0.8rem;
    border: 1px solid #ccc;
    border-radius: 8px;
    font-size: 1rem;
    width: 100%;
    box-sizing: border-box;
}

.visual-form-grid input:focus[b-ux3h96y18x],
.visual-form-grid select:focus[b-ux3h96y18x],
.visual-form-grid textarea:focus[b-ux3h96y18x] {
    outline: none;
    border-color: var(--primary-color, #ff7a00);
    box-shadow: 0 0 0 2px rgba(255, 122, 0, 0.15);
}
/* /Lib/Components/Container/VisualGrid.razor.rz.scp.css */
.visual-grid[b-v88pgh3tc8] {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
}


@media (max-width: 600px) {
    .visual-grid[b-v88pgh3tc8] { grid-template-columns: 1fr; }
}

@media (min-width: 601px) and (max-width: 900px) {
    .visual-grid[b-v88pgh3tc8] { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 901px) {
    .visual-grid[b-v88pgh3tc8] { grid-template-columns: repeat(4, 1fr); }
}



/* ✅ Responsividade natural */
@media (max-width: 900px) {
    .visual-grid[b-v88pgh3tc8] {
        gap: 0.75rem;
    }
}

@media (max-width: 600px) {
    .visual-grid[b-v88pgh3tc8] {
        grid-template-columns: 1fr !important;
        gap: 0.5rem;
    }
}

/* /Lib/Components/DatePicker/VisualDatePicker.razor.rz.scp.css */
.visual-date-picker[b-sdqgiw69rc] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin: 0.75rem 0;
}

.visual-date-label[b-sdqgiw69rc] {
    font-size: 0.9rem;
    font-weight: 600;
    color: #444;
    margin-left: 0.2rem;
}

.visual-date-wrapper[b-sdqgiw69rc] {
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: 12px;
    padding: 0.6rem 0.8rem;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.visual-date-wrapper:hover[b-sdqgiw69rc] {
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}

.visual-date-wrapper.disabled[b-sdqgiw69rc] {
    opacity: 0.6;
    pointer-events: none;
}

.visual-date-icon[b-sdqgiw69rc] {
    font-size: 1.3rem;
    color: var(--primary-color);
    margin-right: 0.5rem;
}

.visual-date-input[b-sdqgiw69rc] {
    flex: 1;
    border: none;
    outline: none;
    font-size: 1rem;
    background: transparent;
    color: #333;
    border-radius: 8px;
    appearance: none;
}

.visual-date-input[b-sdqgiw69rc]::-webkit-calendar-picker-indicator {
    cursor: pointer;
    filter: invert(0.5);
}
/* /Lib/Components/Dialogs/BottomSheet/VisualBottomSheet.razor.rz.scp.css */
.visual-bottomsheet-overlay[b-xnrx5q2qeb] {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.45);
    display: flex;
    justify-content: center;
    align-items: flex-end;
    z-index: 2000;
    animation: fadeIn-b-xnrx5q2qeb 0.2s ease forwards;
}

.visual-bottomsheet[b-xnrx5q2qeb] {
    width: 100%;
    max-width: 600px;
    border-top-left-radius: 18px;
    border-top-right-radius: 18px;
    transform: translateY(100%);
    transition: transform 0.25s ease-in-out;
    height: var(--sheet-height);
    box-shadow: 0 -2px 16px rgba(0, 0, 0, 0.2);
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    touch-action: none;
}

.visual-bottomsheet.show[b-xnrx5q2qeb] {
    transform: translateY(0);
}

.sheet-handle[b-xnrx5q2qeb] {
    width: 45px;
    height: 5px;
    background-color: rgba(150, 150, 150, 0.5);
    border-radius: 3px;
    margin: 10px auto;
}

.sheet-content[b-xnrx5q2qeb] {
    padding: 1rem;
    overflow-y: auto;
    flex: 1;
}

@keyframes fadeIn-b-xnrx5q2qeb {
    from { background-color: rgba(0, 0, 0, 0); }
    to { background-color: rgba(0, 0, 0, 0.45); }
}
/* /Lib/Components/Dialogs/Dialog/VisualDialog.razor.rz.scp.css */
.v-dialog-backdrop[b-f6fvs2s4u2] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    animation: fadeIn-b-f6fvs2s4u2 0.2s ease-in-out;
}

/* ----- Dialog padrão (centralizado) ----- */
.v-dialog[b-f6fvs2s4u2] {
    background: #fff;
    border-radius: 12px;
    padding: 1.5rem;
    width: 90%;
    max-width: 380px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    animation: popIn-b-f6fvs2s4u2 0.25s ease-out;
    text-align: center;
}

/* ----- Bottom Sheet (Android) ----- */
.v-bottom-sheet[b-f6fvs2s4u2] {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: #fff;
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
    box-shadow: 0 -4px 12px rgba(0,0,0,0.25);
    padding: 1rem 1.2rem 2rem 1.2rem;
    animation: slideUp-b-f6fvs2s4u2 0.25s ease-out;
    text-align: center;
}

.v-bottom-handle[b-f6fvs2s4u2] {
    width: 40px;
    height: 5px;
    background: #ccc;
    border-radius: 3px;
    margin: 0 auto 1rem auto;
}

/* ----- Conteúdo ----- */
.v-dialog h3[b-f6fvs2s4u2], .v-bottom-sheet h3[b-f6fvs2s4u2] {
    margin: 0;
    color: #333;
    font-size: 1.2rem;
    margin-bottom: 0.8rem;
}

.v-dialog p[b-f6fvs2s4u2], .v-bottom-sheet p[b-f6fvs2s4u2] {
    color: #555;
    font-size: 1rem;
    margin-bottom: 1.2rem;
}

/* ----- Botões ----- */
.v-dialog-actions[b-f6fvs2s4u2] {
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
}

.v-dialog-actions button[b-f6fvs2s4u2] {
    border: none;
    border-radius: 8px;
    padding: 0.6rem 1.2rem;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
}

.v-dialog-actions button.ok[b-f6fvs2s4u2] {
    background-color: var(--secondary-color);
    color: white;
}

.v-dialog-actions button.cancel[b-f6fvs2s4u2] {
    background-color: #eee;
    color: #555;
}

.v-dialog-actions button:active[b-f6fvs2s4u2] {
    transform: scale(0.96);
}

/* ----- Animações ----- */
@keyframes fadeIn-b-f6fvs2s4u2 {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes popIn-b-f6fvs2s4u2 {
    from { transform: scale(0.9); opacity: 0; }
    to { transform: scale(1); opacity: 1; }
}

@keyframes slideUp-b-f6fvs2s4u2 {
    from { transform: translateY(100%); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}
/* /Lib/Components/Dialogs/Modal/Form/VisualFormModal.razor.rz.scp.css */
.vformmodal-overlay[b-r4ldcfnpob] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2000;
    animation: fadeIn-b-r4ldcfnpob 0.2s ease;
}

.vformmodal-container[b-r4ldcfnpob] {
    background: #fff;
    border-radius: 16px;
    width: 90%;
    max-width: 420px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: slideUp-b-r4ldcfnpob 0.25s ease;
}

.vformmodal-header[b-r4ldcfnpob] {
    background-color: #ff7a00;
    color: white;
    padding: 1rem;
    font-weight: 600;
    text-align: center;
}

.vformmodal-body[b-r4ldcfnpob] {
    padding: 1.5rem;
    color: #333;
}

.vformmodal-footer[b-r4ldcfnpob] {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 1rem;
    border-top: 1px solid #eee;
}

/* animações */
@keyframes fadeIn-b-r4ldcfnpob {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes slideUp-b-r4ldcfnpob {
    from { transform: translateY(30px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}
/* /Lib/Components/Dialogs/Toast/VisualToast.razor.rz.scp.css */
.toast-message[b-4koazol21a] {
    position: fixed;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;

    background-color: #323232;
    color: #fff;
    padding: 14px 22px;
    border-radius: 30px;
    font-size: 1rem;
    font-weight: 500;
    box-shadow: 0 3px 8px rgba(0,0,0,0.3);
    opacity: 0;
    animation: toast-fade-in-out-b-4koazol21a 2.8s ease;
    z-index: 9999;

    width: 90%;
    max-width: 420px;
    text-align: center;
    word-wrap: break-word;
}

.toast-success[b-4koazol21a] { background-color: #4caf50; }
.toast-error[b-4koazol21a] { background-color: #f44336; }
.toast-info[b-4koazol21a] { background-color: #ff7a00; } /* sua cor primária */

/* ícones */
.toast-icon[b-4koazol21a] {
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.toast-icon svg[b-4koazol21a] {
    width: 22px;
    height: 22px;
    stroke-width: 2.5;
    animation: toast-pop-b-4koazol21a 0.3s ease;
}

/* animações */
@keyframes toast-fade-in-out-b-4koazol21a {
    0% { opacity: 0; transform: translate(-50%, 30px); }
    10% { opacity: 1; transform: translate(-50%, 0); }
    90% { opacity: 1; transform: translate(-50%, 0); }
    100% { opacity: 0; transform: translate(-50%, 30px); }
}

@keyframes toast-pop-b-4koazol21a {
    0% { transform: scale(0); opacity: 0; }
    70% { transform: scale(1.1); opacity: 1; }
    100% { transform: scale(1); }
}
/* /Lib/Components/Divider/VisualDivider.razor.rz.scp.css */
.visual-divider[b-xrf2az9p79] {
    display: block;
    background-color: rgba(0,0,0,0.08);
}

/* Horizontal divider */
.visual-divider.horizontal[b-xrf2az9p79] {
    height: 1px;
    width: 100%;
}

/* Vertical divider */
.visual-divider.vertical[b-xrf2az9p79] {
    width: 1px;
    height: 100%;
}

/* Variantes (agora aplicam background via pattern) */
.visual-divider.dashed[b-xrf2az9p79] {
    background-image: repeating-linear-gradient(
        to right,
        currentColor 0,
        currentColor 4px,
        transparent 4px,
        transparent 8px
    );
}

.visual-divider.vertical.dashed[b-xrf2az9p79] {
    background-image: repeating-linear-gradient(
        to bottom,
        currentColor 0,
        currentColor 4px,
        transparent 4px,
        transparent 8px
    );
}

.visual-divider.dotted[b-xrf2az9p79] {
    background-image: repeating-linear-gradient(
        to right,
        currentColor 0,
        currentColor 2px,
        transparent 2px,
        transparent 6px
    );
}

.visual-divider.vertical.dotted[b-xrf2az9p79] {
    background-image: repeating-linear-gradient(
        to bottom,
        currentColor 0,
        currentColor 2px,
        transparent 2px,
        transparent 6px
    );
}
/* /Lib/Components/DropdownButton/VisualDropdownButton.razor.rz.scp.css */
.v2-dropdown-container[b-flnsc7t1ik] {
    position: relative;
    width: 100%;
}

/* Caixa */
.v2-dropdown[b-flnsc7t1ik] {
    width: 100%;
    padding: 1rem 0.8rem 0.6rem 0.8rem;
    border: 1px solid var(--primary-color);
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
    position: relative;
}

.v2-dropdown.disabled[b-flnsc7t1ik] {
    background: var(--scaffold-body-color);
    border-color: #ccc !important;
    color: #999;
    cursor: not-allowed;
}

/* Label */
.v2-dropdown-label[b-flnsc7t1ik] {
    position: absolute;
    top: -0.6rem;
    left: 0.8rem;
    background: white;
    padding: 0 4px;
    font-size: 0.8rem;
    color: var(--primary-color);
}

.v2-dropdown:disabled + .v2-dropdown-label[b-flnsc7t1ik] {
    color: #bbb;
    background: var(--scaffold-body-color);;
}

/* Ícone */
.v2-dropdown-icon[b-flnsc7t1ik] {
    position: absolute;
    right: 0.8rem;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
}

/* Menu interno */
.v2-dropdown-menu[b-flnsc7t1ik] {
    position: absolute;
    top: calc(100% + 0.3rem);
    left: 0;
    width: 100%;
    background: #fff;
    border: 1px solid var(--primary-color);
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    z-index: 100;
    max-height: 220px;
    overflow-y: auto;
}

/* Itens */
.v2-dropdown-item[b-flnsc7t1ik] {
    padding: 0.8rem;
    cursor: pointer;
}

.v2-dropdown-item:hover[b-flnsc7t1ik] {
    background: #f2f2f2;
}
/* /Lib/Components/Expanded/VisualExpanded.razor.rz.scp.css */
.visual-expanded[b-usxw8occbh] {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    box-sizing: border-box;
    min-width: 0;
    min-height: 0;
}
/* /Lib/Components/FilePicker/VisualFilePicker.razor.rz.scp.css */
.visual-file-picker[b-lekzdv72z1] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.file-picker-label[b-lekzdv72z1] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    cursor: pointer;
}

.btn-pick[b-lekzdv72z1] {
    background: var(--primary-color, #009f73);
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 0.5rem 1rem;
    cursor: pointer;
    transition: background 0.2s ease;
}

.btn-pick:hover[b-lekzdv72z1] {
    background: var(--primary-hover, #007d5c);
}

.selected-files[b-lekzdv72z1] {
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 0.9rem;
    color: var(--text-secondary, #555);
}
/* /Lib/Components/Icon/VisualIcon.razor.rz.scp.css */
.icon[b-3om3egt2hg] {
    font-size: 24px;
    line-height: 1;
    display: inline-flex;
    vertical-align: middle;
    font-variation-settings:
        'FILL' 0,
        'wght' 400,
        'GRAD' 0,
        'opsz' 24;
    color: inherit; /* importante para permitir mudança */
}
/* /Lib/Components/Image/VisualImage.razor.rz.scp.css */
.visual-image[b-3rd7fl2sqv] {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    transition: opacity 0.3s ease;
    user-select: none;
    pointer-events: auto;
}
/* /Lib/Components/Inputs/FormatField/VisualFormatField.razor.rz.scp.css */
.warningBorder[b-scg9jafmec] {
    border: 1px solid #ff7a00;
 }

.v-input-container[b-scg9jafmec] {
    position: relative;
    width: 100%;
}

.v-input[b-scg9jafmec] {
    width: 100%;
    padding: 1rem 0.8rem 0.6rem 0.8rem;
    font-size: 1rem;
    border: 1px solid var(--primary-color);
    border-radius: 10px;
    outline: none;
    background: #fff;
    color: #666;
    box-sizing: border-box;
    transition: border 0.2s ease;
}

.v-input:disabled[b-scg9jafmec] {
    background: var(--scaffold-body-color);
    border-color: #ccc !important;
    color: #999;
    cursor: not-allowed;
}

.v-input.has-left-icon[b-scg9jafmec] {
    padding-left: 2.8rem;
}

.v-input.has-right-icon[b-scg9jafmec] {
    padding-right: 2.8rem;
}

.v-input:focus[b-scg9jafmec] {
    border-color: #e96d00;
}

.v-input-label[b-scg9jafmec] {
    position: absolute;
    left: 0.9rem;
    top: 1rem;
    color: #a36f4d;
    font-size: 1rem;
    background: var(--scaffold-body-color);
    transition: 0.2s ease all;
    padding: 0 0.25rem;
    pointer-events: none;
}

.v-input:focus + .v-input-label[b-scg9jafmec],
.v-input:not(:placeholder-shown) + .v-input-label[b-scg9jafmec] {
    top: -0.6rem;
    left: 0.7rem;
    font-size: 0.8rem;
    color: var(--primary-color);
}

.v-input:disabled + .v-input-label[b-scg9jafmec] {
    color: #bbb;
    background: var(--scaffold-body-color);
}

.v-input:disabled ~ .v-input-icon[b-scg9jafmec] {
    color: #ccc;
    cursor: default;
    opacity: 0.6;
}

.v-input-icon[b-scg9jafmec] {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.2rem;
    color: var(--primary-color);
    cursor: pointer;
}

.v-input-icon.left[b-scg9jafmec] {
    left: 0.8rem;
}

.v-input-icon.right[b-scg9jafmec] {
    right: 0.8rem;
}

.v-input-icon:hover[b-scg9jafmec] {
    opacity: 0.8;
}
/* /Lib/Components/Inputs/LongField/VisualLongField.razor.rz.scp.css */
.warningBorder[b-5t2z3rar37] {
    border: 1px solid #ff7a00;
 }

.v-input-container[b-5t2z3rar37] {
    position: relative;
    width: 100%;
    /* margin: 1.2rem 0; */
}

.v-input[b-5t2z3rar37] {
    width: 100%;
    padding: 1rem 0.8rem 0.6rem 0.8rem;
    font-size: 1rem;
    border: 1px solid var(--primary-color);
    border-radius: 10px;
    outline: none;
    background: #fff;
    color: #666;
    box-sizing: border-box;
    transition: border 0.2s ease;
}

.v-input:disabled[b-5t2z3rar37] {
    background: var(--scaffold-body-color);
    border-color: #ccc !important;
    color: #999;
    cursor: not-allowed;
}

.v-input.has-left-icon[b-5t2z3rar37] {
    padding-left: 2.8rem;
}

.v-input.has-right-icon[b-5t2z3rar37] {
    padding-right: 2.8rem;
}

.v-input:focus[b-5t2z3rar37] {
    border-color: #e96d00;
}

.v-input-label[b-5t2z3rar37] {
    position: absolute;
    left: 0.9rem;
    top: 1rem;
    color: #a36f4d;
    font-size: 1rem;
    background: var(--scaffold-body-color);
    transition: 0.2s ease all;
    padding: 0 0.25rem;
    pointer-events: none;
}

.v-input:focus + .v-input-label[b-5t2z3rar37],
.v-input:not(:placeholder-shown) + .v-input-label[b-5t2z3rar37] {
    top: -0.6rem;
    left: 0.7rem;
    font-size: 0.8rem;
    color: var(--primary-color);
}

.v-input:disabled + .v-input-label[b-5t2z3rar37] {
    color: #bbb;
    background: var(--scaffold-body-color);
}

.v-input:disabled ~ .v-input-icon[b-5t2z3rar37] {
    color: #ccc;
    cursor: default;
    opacity: 0.6;    
}

.v-input-icon[b-5t2z3rar37] {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.2rem;
    color: var(--primary-color);
    cursor: pointer;
}

.v-input-icon.left[b-5t2z3rar37] {
    left: 0.8rem;
}

.v-input-icon.right[b-5t2z3rar37] {
    right: 0.8rem;
}

.v-input-icon:hover[b-5t2z3rar37] {
    opacity: 0.8;
}
/* /Lib/Components/Inputs/TextField/VisualTextField.razor.rz.scp.css */
.warningBorder[b-5ch548lz3d] {
    border: 1px solid #ff7a00;
 }

.v-input-container[b-5ch548lz3d] {
    position: relative;
    width: 100%;
    /* margin: 1.2rem 0; */
}

.v-input[b-5ch548lz3d] {
    width: 100%;
    padding: 1rem 0.8rem 0.6rem 0.8rem;
    font-size: 1rem;
    border: 1px solid var(--primary-color);
    border-radius: 10px;
    outline: none;
    background: #fff;
    color: #666;
    box-sizing: border-box;
    transition: border 0.2s ease;
}

.v-input:disabled[b-5ch548lz3d] {
    background: var(--scaffold-body-color);
    border-color: #ccc !important;
    color: #999;
    cursor: not-allowed;
}

.v-input.has-left-icon[b-5ch548lz3d] {
    padding-left: 2.8rem;
}

.v-input.has-right-icon[b-5ch548lz3d] {
    padding-right: 2.8rem;
}

.v-input:focus[b-5ch548lz3d] {
    border-color: #e96d00;
}

.v-input-label[b-5ch548lz3d] {
    position: absolute;
    left: 0.9rem;
    top: 1rem;
    color: #a36f4d;
    font-size: 1rem;
    background: var(--scaffold-body-color);
    transition: 0.2s ease all;
    padding: 0 0.25rem;
    pointer-events: none;
}

.v-input:focus + .v-input-label[b-5ch548lz3d],
.v-input:not(:placeholder-shown) + .v-input-label[b-5ch548lz3d] {
    top: -0.6rem;
    left: 0.7rem;
    font-size: 0.8rem;
    color: var(--primary-color);
}

.v-input:disabled + .v-input-label[b-5ch548lz3d] {
    color: #bbb;
    background: var(--scaffold-body-color);;
}

.v-input:disabled ~ .v-input-icon[b-5ch548lz3d] {
    color: #ccc;
    cursor: default;
    opacity: 0.6;    
}

.v-input-link-only[b-5ch548lz3d] {
    border-color: #ccc !important;
    color: #999;
    cursor: pointer;    
}

.v-input-icon[b-5ch548lz3d] {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.2rem;
    color: var(--primary-color);
    cursor: pointer;
}

.v-input-icon.left[b-5ch548lz3d] {
    left: 0.8rem;
}

.v-input-icon.right[b-5ch548lz3d] {
    right: 0.8rem;
}

.v-input-icon:hover[b-5ch548lz3d] {
    opacity: 0.8;
}
/* /Lib/Components/InstallButton/VisualInstallButton.razor.rz.scp.css */
.visual-install-button:hover[b-mopgl8ber5] {
    opacity: 0.9;
    transform: scale(1.03);
    transition: all 0.2s ease-in-out;
}
/* /Lib/Components/ListView/VisualListView.razor.rz.scp.css */
.visual-list-view[b-hilkhhx4go] {
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #ccc transparent;
    background: var(--background, #fff);
    border-radius: 8px;
}

.visual-list-item[b-hilkhhx4go] {
    border-bottom: 1px solid #eee;
    padding: 0.75rem;
    transition: background 0.2s;
}

.visual-list-item:hover[b-hilkhhx4go] {
    background: rgba(0, 0, 0, 0.03);
}

.visual-list-loading[b-hilkhhx4go] {
    text-align: center;
    padding: 1rem;
    color: #999;
    font-size: 0.9rem;
}
/* /Lib/Components/Menu/VisualPopupMenuButton.razor.rz.scp.css */
.visual-popup-menu-container[b-rz9opb8pge] {
    position: relative;
    display: inline-block;
}

.visual-popup-button[b-rz9opb8pge] {
    background: transparent;
    border: none;
    cursor: pointer;
    color: var(--text-primary, #333);
    font-size: 1.2rem;
    border-radius: 8px;
    padding: 0.4rem 0.6rem;
    transition: background 0.2s;
}

.visual-popup-button:hover[b-rz9opb8pge] {
    background-color: rgba(0, 0, 0, 0.05);
}

.visual-popup-menu[b-rz9opb8pge] {
    position: fixed !important;
    z-index: 999999;
    background: #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    border-radius: 8px;
    min-width: 180px;
    overflow: hidden;
    animation: fadeIn-b-rz9opb8pge 0.15s ease;
}

.visual-popup-menu-item[b-rz9opb8pge] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    cursor: pointer;
    color: #333;
    transition: background 0.2s;
}

.visual-popup-menu-item:hover[b-rz9opb8pge] {
    background-color: rgba(255, 122, 0, 0.1);
}

@keyframes fadeIn-b-rz9opb8pge {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: translateY(0); }
}
/* /Lib/Components/NavDrawer/NavDrawer.razor.rz.scp.css */
.drawer-backdrop[b-fxiafyhfko] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.35);
    backdrop-filter: blur(1px);
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 1100;
}

.drawer-backdrop.visible[b-fxiafyhfko] {
    opacity: 1;
}

.drawer[b-fxiafyhfko] {
    position: fixed;
    top: 0;
    left: 0;
    width: 260px;
    height: 100%;
    background-color: #fff;
    box-shadow: 4px 0 15px rgba(0, 0, 0, 0.2);
    transform: translateX(0);
    transition: transform 0.3s ease;
    display: flex;
    flex-direction: column;
    z-index: 1201;
    touch-action: pan-y;
}

.drawer.dragging[b-fxiafyhfko] {
    transition: none; /* Sem animação enquanto arrasta */
}

.drawer.open[b-fxiafyhfko] {
    transform: translateX(0);
}

.drawer-header[b-fxiafyhfko] {
    background-color: var(--primary-color);
    padding: 2rem 1rem 1rem 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    color: #fff;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    flex-shrink: 0; /* ✅ evita o cabeçalho rolar junto */
}

.drawer-avatar[b-fxiafyhfko] {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    margin-bottom: 0.75rem;
    border: 2px solid rgba(255, 255, 255, 0.5);
}

.drawer-userinfo strong[b-fxiafyhfko] {
    font-size: 1rem;
}

.drawer-userinfo span[b-fxiafyhfko] {
    font-size: 0.85rem;
    opacity: 0.9;
}

/* ✅ Scroll suave e elegante na lista de itens */
.drawer-list[b-fxiafyhfko] {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 0.5rem 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch; /* rolagem suave em iOS */
    overscroll-behavior: contain; /* evita rolagem dupla */
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 0, 0, 0.25) transparent;
}

/* Chrome, Edge, Safari */
.drawer-list[b-fxiafyhfko]::-webkit-scrollbar {
    width: 6px;
}

.drawer-list[b-fxiafyhfko]::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.25);
    border-radius: 4px;
}

.drawer-list[b-fxiafyhfko]::-webkit-scrollbar-thumb:hover {
    background-color: rgba(0, 0, 0, 0.35);
}

.drawer-item[b-fxiafyhfko] {
    display: flex;
    align-items: center;
    padding: 0.9rem 1.2rem;
    background: none;
    border: none;
    text-align: left;
    font-size: 1rem;
    font-weight: 500;
    color: #333;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.1s ease;
}

.drawer-item:hover[b-fxiafyhfko] {
    background-color: rgba(255, 122, 0, 0.08);
    transform: translateX(2px);
}

.drawer-item .icon[b-fxiafyhfko] {
    font-size: 1.3rem;
    margin-right: 1rem;
}

.drawer-item .label[b-fxiafyhfko] {
    flex: 1;
}
/* /Lib/Components/Row/VisualRow.razor.rz.scp.css */
.visual-row[b-g7wxnmtd0a] {
    display: flex;
    flex-direction: row;
    box-sizing: border-box;
}

.visual-row > *[b-g7wxnmtd0a] {
    box-sizing: border-box;
}
/* /Lib/Components/Scaffold/VisualScaffold.razor.rz.scp.css */
.visual-scaffold[b-kyuzcnlwmp] {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100vh;
    overflow: hidden;
    background-color: var(--background, #fff);
}

/* Área principal */
.visual-scaffold-body[b-kyuzcnlwmp] {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    position: relative;
    background: var(--scaffold-body-color);
    padding-top: var(--appbar-height);
}

/* AppBar fixo */
.visual-scaffold-appbar[b-kyuzcnlwmp] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
}

/* Drawer lateral */
.visual-scaffold-drawer[b-kyuzcnlwmp] {
    position: fixed;
    top: 0;
    left: -280px;
    width: 260px;
    height: 100%;
    background: #fff;
    box-shadow: 2px 0 6px rgba(0,0,0,0.2);
    transition: left 0.3s ease;
    z-index: 1001;
}

.visual-scaffold-drawer.open[b-kyuzcnlwmp] {
    left: 0;
}

.drawer-overlay[b-kyuzcnlwmp] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.4);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease;
    z-index: 1000;
}

.drawer-overlay.visible[b-kyuzcnlwmp] {
    opacity: 1;
    visibility: visible;
}

/* FloatingActionButton */
.visual-scaffold-fab[b-kyuzcnlwmp] {
    position: fixed;
    right: 1rem;
    bottom: 1.5rem;
    z-index: 1100;
}

/* BottomSheet */
.visual-scaffold-bottomsheet[b-kyuzcnlwmp] {
    position: fixed;
    bottom: -100%;
    left: 0;
    width: 100%;
    background: #fff;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.2);
    border-radius: 12px 12px 0 0;
    padding: 1rem;
    transition: bottom 0.3s ease;
    z-index: 1100;
}

.visual-scaffold-bottomsheet.visible[b-kyuzcnlwmp] {
    bottom: 0;
}
/* /Lib/Components/SingleScrollView/VisualSingleScrollView.razor.rz.scp.css */
.visual-single-scroll-view[b-d2dv28i8o2] {
    width: 100%;
    box-sizing: border-box;
}

.visual-single-scroll-view[b-d2dv28i8o2]::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

.visual-single-scroll-view[b-d2dv28i8o2]::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 8px;
}

.visual-single-scroll-view[b-d2dv28i8o2]::-webkit-scrollbar-thumb:hover {
    background: rgba(0, 0, 0, 0.35);
}
/* /Lib/Components/Spacer/VisualSpacer.razor.rz.scp.css */
.visual-spacer[b-m8gzqcpl5w] {
    display: block;
    min-width: 0;
    min-height: 0;
    flex-shrink: 0;
}
/* /Lib/Components/Stack/VisualStack.razor.rz.scp.css */
.visual-stack[b-9az3g0lalf] {
    position: relative;
    display: block;
    width: 100%;
}

.visual-stack-item[b-9az3g0lalf] {
    position: absolute;
    transition: all 0.25s ease;
}

/* Offsets personalizados */
.visual-stack-item[b-9az3g0lalf] {
    translate: var(--offset-x, 0) var(--offset-y, 0);
}
/* /Lib/Components/Stack/VisualStackItem.razor.rz.scp.css */
/* /Lib/Components/Text/VisualText.razor.rz.scp.css */
.visual-text[b-lz6d2e5s1p] {
    display: inline-block;
    line-height: 1.4;
    color: var(--text-primary, #333);
    user-select: none;
    cursor: default;
    transition: color 0.2s ease;
}

.visual-text:hover[b-lz6d2e5s1p] {
    color: var(--text-hover, #111);
}
/* /Lib/Components/Waiting/VisualWaiting.razor.rz.scp.css */
/* ---------- Overlay Mode ---------- */
.visual-waiting-overlay[b-ax7wf26ks9] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2000;
    transition: opacity 0.3s ease;
    backdrop-filter: blur(2px);
}

.visual-waiting-container[b-ax7wf26ks9] {
    background: #fff;
    padding: 1.5rem 2rem;
    border-radius: 1rem;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    animation: fadeIn-b-ax7wf26ks9 0.2s ease-out;
}

/* ---------- Inline Mode ---------- */
.visual-waiting-inline[b-ax7wf26ks9] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    color: var(--waiting-color);
}

.visual-waiting-inline .visual-waiting-spinner[b-ax7wf26ks9] {
    width: 24px;
    height: 24px;
    border: 3px solid rgba(0, 0, 0, 0.1);
    border-top: 3px solid var(--waiting-color);
    border-radius: 50%;
    animation: spin-b-ax7wf26ks9 1s linear infinite;
}

/* ---------- Shared Styles ---------- */
.visual-waiting-spinner[b-ax7wf26ks9] {
    width: 48px;
    height: 48px;
    border: 5px solid rgba(0, 0, 0, 0.1);
    border-top: 5px solid var(--primary-color);
    border-radius: 50%;
    animation: spin-b-ax7wf26ks9 1s linear infinite;
}

.visual-waiting-label[b-ax7wf26ks9] {
    font-size: 1rem;
    font-weight: 500;
    text-align: center;
}

@keyframes spin-b-ax7wf26ks9 {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@keyframes fadeIn-b-ax7wf26ks9 {
    from { opacity: 0; transform: scale(0.9); }
    to { opacity: 1; transform: scale(1); }
}
/* /Lib/Navigation/Razor/StackNavigator.razor.rz.scp.css */
/* .stack-navigator { position: relative; width: 100%; height: 100vh; overflow: hidden; }
.stack-page { position: absolute; top: 0; left: 0; right: 0; bottom: 0; transition: transform 0.28s ease, opacity 0.28s ease; }
.stack-page.hidden { transform: translateX(100%); opacity: 0; pointer-events: none; }
.stack-page.active { transform: translateX(0); opacity: 1; pointer-events: auto; } */


.stack-navigator[b-gr61k7otdg] {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    background-color: #fff;
}

/* Cada página na pilha */
.stack-page[b-gr61k7otdg] {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background-color: inherit;
    transform: translateX(100%);
    opacity: 0;
    transition: transform 0.35s ease, opacity 0.35s ease;
}

/* Página atual visível */
.stack-page.active[b-gr61k7otdg] {
    transform: translateX(0);
    opacity: 1;
    z-index: 2;
}

/* Página anterior saindo da tela */
.stack-page.exiting[b-gr61k7otdg] {
    transform: translateX(-30%);
    opacity: 0;
    z-index: 1;
}

/* Páginas inativas (fora da tela) */
.stack-page.hidden[b-gr61k7otdg] {
    pointer-events: none;
    z-index: 0;
}

/* Evita "flash" durante animação */
.stack-page[b-gr61k7otdg],
.stack-navigator[b-gr61k7otdg] {
    will-change: transform, opacity;
}
/* /UI/Dashboards/HomeDashboardUI.razor.rz.scp.css */
/* /UI/Extra/Setup/FirstTimeSetup/FirstTimeSetupUI.razor.rz.scp.css */
.first-time-container[b-9zue5ldx9e] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    background: linear-gradient(135deg, var(--primary-color), #00695c);
    color: #fff;
    padding: 1rem;
}

.first-time-card[b-9zue5ldx9e] {
    background: #fff;
    color: #333;
    border-radius: 1.5rem;
    box-shadow: 0 8px 20px rgba(0,0,0,0.2);
    padding: 2rem;
    max-width: 420px;
    width: 100%;
    text-align: center;
    animation: fadeInUp-b-9zue5ldx9e 0.5s ease;
}

.first-time-image[b-9zue5ldx9e] {
    width: 120px;
    height: auto;
    margin-bottom: 1rem;
}

.brand[b-9zue5ldx9e] {
    color: var(--primary-color);
    font-weight: 600;
}

.first-time-steps[b-9zue5ldx9e] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
    margin: 1.5rem 0;
}

.step[b-9zue5ldx9e] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: #666;
    transition: all 0.3s ease;
}

.step-index[b-9zue5ldx9e] {
    background: #ccc;
    color: #fff;
    font-weight: bold;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.step.active[b-9zue5ldx9e] {
    color: var(--primary-color);
    font-weight: 600;
}

.step.active .step-index[b-9zue5ldx9e] {
    background: var(--primary-color);
}

.first-time-actions[b-9zue5ldx9e] {
    margin-top: 1.5rem;
}

.btn-next[b-9zue5ldx9e],
.btn-finish[b-9zue5ldx9e] {
    background: var(--primary-color);
    color: #fff;
    border: none;
    padding: 0.75rem 2rem;
    border-radius: 1rem;
    font-size: 1rem;
    cursor: pointer;
    transition: all 0.25s ease;
}

.btn-next:hover[b-9zue5ldx9e],
.btn-finish:hover[b-9zue5ldx9e] {
    transform: scale(1.05);
    background: #007f5f;
}

.first-time-progress[b-9zue5ldx9e] {
    margin-top: 1.25rem;
    background: #eee;
    border-radius: 10px;
    overflow: hidden;
    height: 8px;
}

.progress-bar[b-9zue5ldx9e] {
    background: var(--primary-color);
    height: 100%;
    width: 0%;
    transition: width 0.3s ease;
}

@keyframes fadeInUp-b-9zue5ldx9e {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}
/* /UI/Home/HomeUI.razor.rz.scp.css */
.home-container[b-7mrpbms8pr] {
    display: flex;
    height: 100vh;
    overflow: hidden;
    background: #fff;
}

/* Drawer e conteúdo devem coexistir */
.home-content[b-7mrpbms8pr] {
    padding-top: var(--appbar-height);
    flex: 1;
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
}

.page-body[b-7mrpbms8pr] {
    flex: 1;
    overflow-y: auto;
    background-color: #fafafa;
}

.home-layout[b-7mrpbms8pr] {
    display: flex;
    flex-direction: column;
    height: 100vh;
    overflow: hidden;
}
/* /UI/Login/LoginUI.razor.rz.scp.css */

/* container principal */
.login-container[b-zs6opwg28o] {
    background-color: var(--bg-color);
    min-height: 100dvh; /* viewport real dinâmica (melhor para mobile) */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 1.5rem;
    box-sizing: border-box;
    overflow: hidden; /* impede rolagem */
}


/* logo */
.login-logo img[b-zs6opwg28o] {
    width: 300px;
    height: auto;
    margin-bottom: 4rem;
}

/* formulário */
.login-form[b-zs6opwg28o] {
    width: 100%;
    max-width: 320px;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* inputs */
.login-form input[b-zs6opwg28o] {
    width: 100%;
    padding: 0.8rem 1rem;
    font-size: 1rem;
    border: 2px solid var(--primary-color);
    border-radius: 10px;
    outline: none;
    background: #fff;
    color: #333;
}

.login-form input[b-zs6opwg28o]::placeholder {
    color: #a36f4d;
}

/* botão */
.login-form button[b-zs6opwg28o] {
    background-color: var(--primary-color);
    color: #fff;
    border: none;
    padding: 0.8rem;
    border-radius: 10px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    position: relative;
    transition: background 0.3s ease, opacity 0.3s ease;
}

.login-form button:hover[b-zs6opwg28o] {
    background-color: #e96d00;
}
