/* Fundação visual dark. Tokens únicos para a migração dos componentes.
   Desktop primeiro; a adaptação mobile será feita após a migração das telas. */

* { box-sizing: border-box; }
html { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
body { margin: 0; }
button, input, select, textarea { font: inherit; }
a { text-decoration: none; }
@media (max-width: 900px) {
    html body [hidden] { display: none; }
    body { color-scheme: dark; font-size: 13px; line-height: 1.4; }
    a { color: var(--gm-info); }
    img { max-width: 100%; }
    button, a { -webkit-tap-highlight-color: transparent; }
    input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea { min-width: 0; min-height: 44px; font-size: 16px; }
    :is(input,select,textarea,button,a):focus-visible { outline: 2px solid var(--gm-info); outline-offset: 3px; }
    button { cursor: pointer; }
    .btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 14px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); background: var(--gm-bg); color: var(--gm-text); }
    .btn-full { width: 100%; }
    .btn-primary { background: var(--gm-blue); color: white; }
    .btn-danger { background: var(--gm-red-soft); color: var(--gm-action-red); }
    .btn-ghost, .btn-secondary { background: var(--gm-bg); color: var(--gm-text-secondary); }
    .page-header, .page-title { color: var(--gm-text); }
    .messages { display: grid; gap: 8px; margin-bottom: 12px; }
    .alert { padding: 12px; border: 1px solid var(--gm-border); border-radius: 10px; background: var(--gm-blue-soft); color: var(--gm-text); }
    .alert-error { background: var(--gm-red-soft); color: var(--gm-action-red); }
    .gm-outline-icon { width: 22px; height: 22px; }
    html:root { --gm-space-3: 8px; --gm-space-4: 10px; --gm-space-5: 12px; --gm-space-6: 12px; --gm-space-8: 16px; --gm-radius-md: 12px; --gm-radius-lg: 14px; --gm-radius-xl: 16px; }

}

@media (min-width: 0px) {

    /* ======================================================
       DESIGN TOKENS
       ====================================================== */

    :root {
        --gm-bg: #061426;
        --gm-bg-soft: #081a30;

        --gm-sidebar: #081a30;
        --gm-sidebar-deep: #061426;

        --gm-surface: #0c2039;
        --gm-surface-2: #102744;
        --gm-surface-3: #142e4e;

        --gm-border: rgba(78, 145, 255, .22);
        --gm-border-soft: rgba(148, 163, 184, .13);

        --gm-text: #f5f8ff;
        --gm-text-secondary: #becce1;
        --gm-muted: #9aadc8;
        --gm-muted-2: #7387a4;

        --gm-blue: #1878ff;
        --gm-blue-dark: #368aff;
        --gm-blue-soft: rgba(24, 120, 255, .14);

        --gm-green: #09d99d;
        --gm-green-soft: rgba(9, 217, 157, .12);

        --gm-yellow: #ffc72c;
        --gm-yellow-soft: rgba(255, 199, 44, .12);

        --gm-red: #ff4565;
        --gm-red-soft: rgba(255, 69, 101, .12);

        --gm-info: #60a5fa;
        --gm-info-soft: rgba(96, 165, 250, .12);

        /* Table and secondary action accents: muted surfaces with readable labels. */
        --gm-action-blue: #a8c7f4;
        --gm-action-green: #82d8bb;
        --gm-action-yellow: #e3ca89;
        --gm-action-red: #efa2af;

        --gm-radius-xs: 8px;
        --gm-radius-sm: 10px;
        --gm-radius-md: 14px;
        --gm-radius-lg: 18px;
        --gm-radius-xl: 22px;

        --gm-shadow: 0 8px 24px rgba(0, 0, 0, .12);

        --gm-shadow-soft: 0 2px 10px rgba(0, 0, 0, .08);

        --gm-sidebar-width: 240px;
        --gm-purple: #8598ff;
        --gm-purple-soft: rgba(133, 152, 255, .12);
        --gm-space-1: 4px;
        --gm-space-2: 8px;
        --gm-space-3: 10px;
        --gm-space-4: 12px;
        --gm-space-5: 14px;
        --gm-space-6: 16px;
        --gm-space-8: 20px;

        --gm-transition:
            160ms cubic-bezier(.2, .8, .2, 1);
    }


    /* ======================================================
       BASE
       ====================================================== */

    html[data-theme="dark"] {
        color-scheme: dark;
    }

    html[data-theme="dark"] body {
        background:
            radial-gradient(
                circle at 78% -10%,
                rgba(47, 109, 246, .08),
                transparent 34%
            ),
            linear-gradient(
                180deg,
                var(--gm-bg) 0%,
                var(--gm-bg-soft) 100%
            ) !important;

        color:
            var(--gm-text) !important;

        -webkit-font-smoothing:
            antialiased;

        text-rendering:
            optimizeLegibility;
    }

    html[data-theme="dark"] body,
html[data-theme="dark"] button:where(:not(.gm-report-page *)):where(:not(.gm-notes-page *)):where(:not(.gm-note-form-page *, .gm-note-detail-page *, .gm-note-delete-page *)):where(:not(.gm-cash-form-page *, .gm-installment-form-page *)):where(:not(.gm-installment-detail-page *, .gm-pay-installment-page *, .gm-exp-pay-page *)):where(:not(.gm-exp-form-page *)):where(:not(.gm-settings-hub *, .gm-settings-detail *, .gm-billing-page *, .gm-billing-flow-page *, .gm-suspended-page *, .owner-admin-page *, .gm-admin-account-page *, .gm-install-hub-v6 *, .gm-install-detail-page *, .gm-support-v2 *, .legal-page *, .gm-security-page *, .public-body *, .gm-notifications-page *, .gm-modal *, .gm-logout-modal *)),
html[data-theme="dark"] input:where(:not(:is(.gm-receipts-v2, .gm-exp-page) :is(.gm-rx-header, .gm-rx-kpi, .gm-rx-filter, .gm-exp-hero, .gm-exp-kpi, .gm-exp-filter-card) *)):where(:not(.gm-ar-page *)):where(:not(.gm-report-page *)):where(:not(.gm-notes-page *)):where(:not(.gm-note-form-page *, .gm-note-detail-page *, .gm-note-delete-page *)):where(:not(.gm-cash-form-page *, .gm-installment-form-page *)):where(:not(.gm-installment-detail-page *, .gm-pay-installment-page *, .gm-exp-pay-page *)):where(:not(.gm-exp-form-page *)):where(:not(.gm-settings-hub *, .gm-settings-detail *, .gm-billing-page *, .gm-billing-flow-page *, .gm-suspended-page *, .owner-admin-page *, .gm-admin-account-page *, .gm-install-hub-v6 *, .gm-install-detail-page *, .gm-support-v2 *, .legal-page *, .gm-security-page *, .public-body *, .gm-notifications-page *, .gm-modal *, .gm-logout-modal *)),
html[data-theme="dark"] select:where(:not(.gm-ar-page *)):where(:not(.gm-report-page *)):where(:not(.gm-notes-page *)):where(:not(.gm-note-form-page *, .gm-note-detail-page *, .gm-note-delete-page *)):where(:not(.gm-cash-form-page *, .gm-installment-form-page *)):where(:not(.gm-installment-detail-page *, .gm-pay-installment-page *, .gm-exp-pay-page *)):where(:not(.gm-exp-form-page *)):where(:not(.gm-settings-hub *, .gm-settings-detail *, .gm-billing-page *, .gm-billing-flow-page *, .gm-suspended-page *, .owner-admin-page *, .gm-admin-account-page *, .gm-install-hub-v6 *, .gm-install-detail-page *, .gm-support-v2 *, .legal-page *, .gm-security-page *, .public-body *, .gm-notifications-page *, .gm-modal *, .gm-logout-modal *)),
html[data-theme="dark"] textarea:where(:not(.gm-cash-form-page *, .gm-installment-form-page *)):where(:not(.gm-installment-detail-page *, .gm-pay-installment-page *, .gm-exp-pay-page *)):where(:not(.gm-exp-form-page *)):where(:not(.gm-settings-hub *, .gm-settings-detail *, .gm-billing-page *, .gm-billing-flow-page *, .gm-suspended-page *, .owner-admin-page *, .gm-admin-account-page *, .gm-install-hub-v6 *, .gm-install-detail-page *, .gm-support-v2 *, .legal-page *, .gm-security-page *, .public-body *, .gm-notifications-page *, .gm-modal *, .gm-logout-modal *)) {
        font-family:
            Inter,
            ui-sans-serif,
            system-ui,
            -apple-system,
            BlinkMacSystemFont,
            "Segoe UI",
            sans-serif;
    }


    /* ======================================================
       APP SHELL
       ====================================================== */

    html[data-theme="dark"]
    body.app-body {
        min-height:
            100vh;

        background:
            var(--gm-bg) !important;
    }


    /* ======================================================
       SIDEBAR
       ====================================================== */


    /* ======================================================
       SIDEBAR — ASSINATURA / RODAPÉ
       ====================================================== */


    /* ======================================================
       GLOBAL PAGE HEADER
       ====================================================== */

    html[data-theme="dark"]
    body.app-body
    .page-header:where(:not(body.gm-dashboard-page *)) {
        gap:
            24px !important;

        margin-bottom:
            22px !important;
    }

    html[data-theme="dark"]
    body.app-body
    .page-header h1:where(:not(body.gm-dashboard-page *)):where(:not(.gm-settings-hub *, .gm-settings-detail *, .gm-billing-page *, .gm-billing-flow-page *, .gm-suspended-page *, .owner-admin-page *, .gm-admin-account-page *, .gm-install-hub-v6 *, .gm-install-detail-page *, .gm-support-v2 *, .legal-page *, .gm-security-page *, .public-body *, .gm-notifications-page *, .gm-modal *, .gm-logout-modal *)) {
        margin:
            0 0 6px !important;

        color:
            #f8fafc !important;

        font-size:
            clamp(28px, 2.3vw, 36px) !important;

        font-weight:
            800 !important;

        line-height:
            1.08 !important;

        letter-spacing:
            -.035em !important;
    }

    html[data-theme="dark"]
    body.app-body
    .page-header p:where(:not(body.gm-dashboard-page *)):where(:not(.gm-settings-hub *, .gm-settings-detail *, .gm-billing-page *, .gm-billing-flow-page *, .gm-suspended-page *, .owner-admin-page *, .gm-admin-account-page *, .gm-install-hub-v6 *, .gm-install-detail-page *, .gm-support-v2 *, .legal-page *, .gm-security-page *, .public-body *, .gm-notifications-page *, .gm-modal *, .gm-logout-modal *)) {
        color:
            var(--gm-muted) !important;

        font-size:
            13px !important;

        line-height:
            1.55 !important;
    }


    /* ======================================================
       CARDS / SURFACES
       ====================================================== */

    html[data-theme="dark"]
    body.app-body
    .card:where(:not(body.gm-dashboard-page *)),
html[data-theme="dark"]
    body.app-body
    .metric-card {
        border:
            1px solid var(--gm-border-soft) !important;

        border-radius:
            var(--gm-radius-lg) !important;

        background:
            linear-gradient(
                180deg,
                rgba(19, 31, 49, .96),
                rgba(15, 25, 41, .96)
            ) !important;

        box-shadow:
            0 10px 35px rgba(0, 0, 0, .09) !important;
    }

    html[data-theme="dark"]
    body.app-body
    .card:where(:not(body.gm-dashboard-page *)) {
        padding:
            20px !important;
    }

    html[data-theme="dark"]
    body.app-body
    .metric-card {
        padding:
            18px !important;
    }

    html[data-theme="dark"]
    body.app-body
    .card-header:where(:not(body.gm-dashboard-page *)) {
        gap:
            16px !important;

        margin-bottom:
            18px !important;
    }

    html[data-theme="dark"]
    body.app-body
    .card-header h2:where(:not(body.gm-dashboard-page *)):where(:not(.gm-settings-hub *, .gm-settings-detail *, .gm-billing-page *, .gm-billing-flow-page *, .gm-suspended-page *, .owner-admin-page *, .gm-admin-account-page *, .gm-install-hub-v6 *, .gm-install-detail-page *, .gm-support-v2 *, .legal-page *, .gm-security-page *, .public-body *, .gm-notifications-page *, .gm-modal *, .gm-logout-modal *)),
html[data-theme="dark"]
    body.app-body
    .card-header h3:where(:not(body.gm-dashboard-page *)) {
        color:
            #f8fafc !important;
    }

    html[data-theme="dark"]
    body.app-body
    .card-header p:where(:not(body.gm-dashboard-page *)):where(:not(.gm-settings-hub *, .gm-settings-detail *, .gm-billing-page *, .gm-billing-flow-page *, .gm-suspended-page *, .owner-admin-page *, .gm-admin-account-page *, .gm-install-hub-v6 *, .gm-install-detail-page *, .gm-support-v2 *, .legal-page *, .gm-security-page *, .public-body *, .gm-notifications-page *, .gm-modal *, .gm-logout-modal *)) {
        color:
            var(--gm-muted) !important;
    }


    /* ======================================================
       TYPOGRAPHY / MUTED
       ====================================================== */

    html[data-theme="dark"]
    body.app-body
    .muted:where(:not(.gm-settings-hub *, .gm-settings-detail *, .gm-billing-page *, .gm-billing-flow-page *, .gm-suspended-page *, .owner-admin-page *, .gm-admin-account-page *, .gm-install-hub-v6 *, .gm-install-detail-page *, .gm-support-v2 *, .legal-page *, .gm-security-page *, .public-body *, .gm-notifications-page *, .gm-modal *, .gm-logout-modal *)) {
        color:
            var(--gm-muted) !important;
    }

    html[data-theme="dark"]
    body.app-body
    .section-title {
        color:
            var(--gm-text) !important;

        font-weight:
            750 !important;

        letter-spacing:
            -.02em !important;
    }


    /* ======================================================
       BUTTON SYSTEM
       ====================================================== */

    html[data-theme="dark"]
    body
    .btn:not(.gm-logout-trigger):where(:not(.gm-settings-hub *, .gm-settings-detail *, .gm-billing-page *, .gm-billing-flow-page *, .gm-suspended-page *, .owner-admin-page *, .gm-admin-account-page *, .gm-install-hub-v6 *, .gm-install-detail-page *, .gm-support-v2 *, .legal-page *, .gm-security-page *, .public-body *, .gm-notifications-page *, .gm-modal *, .gm-logout-modal *)) {
        min-height:
            40px !important;

        padding:
            9px 14px !important;

        gap:
            7px !important;

        border-radius:
            10px !important;

        font-size:
            13px !important;

        font-weight:
            700 !important;

        line-height:
            1 !important;

        transition:
            transform var(--gm-transition),
            border-color var(--gm-transition),
            background var(--gm-transition),
            box-shadow var(--gm-transition) !important;
    }

    html[data-theme="dark"]
    body
    .btn-primary:where(:not(.gm-logout-modal *)) {
        border-color:
            #3976f5 !important;

        background:
            linear-gradient(
                180deg,
                #3475f8,
                #245fe5
            ) !important;

        color:
            #ffffff !important;

        box-shadow:
            0 8px 22px rgba(37, 99, 235, .20) !important;
    }

    html[data-theme="dark"]
    body
    .btn-primary:hover:where(:not(.gm-logout-modal *)) {
        background:
            linear-gradient(
                180deg,
                #4281fa,
                #2d68ed
            ) !important;

        transform:
            translateY(-1px);
    }

    html[data-theme="dark"]
    body
    .btn-secondary:where(:not(.gm-logout-modal *)),
    html[data-theme="dark"]
    body
    .btn-pdf {
        border-color:
            var(--gm-border) !important;

        background:
            #131f31 !important;

        color:
            #dce6f5 !important;

        box-shadow:
            none !important;
    }

    html[data-theme="dark"]
    body
    .btn-secondary:hover:where(:not(.gm-logout-modal *)),
    html[data-theme="dark"]
    body
    .btn-pdf:hover {
        border-color:
            #365174 !important;

        background:
            #18263a !important;
    }

    html[data-theme="dark"]
    body
    .btn-danger {
        border-color:
            rgba(251, 113, 133, .20) !important;

        background:
            var(--gm-red-soft) !important;

        color:
            #fb8c9c !important;
    }

    html[data-theme="dark"]
    body
    .btn-warning {
        border-color:
            rgba(245, 185, 76, .20) !important;

        background:
            var(--gm-yellow-soft) !important;

        color:
            #f6c760 !important;
    }

    html[data-theme="dark"]
    body
    .btn-success {
        border-color:
            rgba(45, 212, 163, .20) !important;

        background:
            var(--gm-green-soft) !important;

        color:
            #46dcb0 !important;
    }


    /* ======================================================
       INPUTS / FORMS
       ====================================================== */

    html[data-theme="dark"]
    body
    label {
        color:
            #c8d3e2 !important;

        font-size:
            12px !important;

        font-weight:
            700 !important;
    }

    html[data-theme="dark"]
    body
    input[type="text"]:where(:not(:is(.gm-receipts-v2, .gm-exp-page) :is(.gm-rx-header, .gm-rx-kpi, .gm-rx-filter, .gm-exp-hero, .gm-exp-kpi, .gm-exp-filter-card) *)):where(:not(.gm-ar-page *)):where(:not(.gm-report-page *)):where(:not(.gm-notes-page *)):where(:not(.gm-note-form-page *, .gm-note-detail-page *, .gm-note-delete-page *)):where(:not(.gm-cash-form-page *, .gm-installment-form-page *)):where(:not(.gm-installment-detail-page *, .gm-pay-installment-page *, .gm-exp-pay-page *)):where(:not(.gm-exp-form-page *)):where(:not(.gm-settings-hub *, .gm-settings-detail *, .gm-billing-page *, .gm-billing-flow-page *, .gm-suspended-page *, .owner-admin-page *, .gm-admin-account-page *, .gm-install-hub-v6 *, .gm-install-detail-page *, .gm-support-v2 *, .legal-page *, .gm-security-page *, .public-body *, .gm-notifications-page *, .gm-modal *, .gm-logout-modal *)),
html[data-theme="dark"]
    body
    input[type="email"]:where(:not(:is(.gm-receipts-v2, .gm-exp-page) :is(.gm-rx-header, .gm-rx-kpi, .gm-rx-filter, .gm-exp-hero, .gm-exp-kpi, .gm-exp-filter-card) *)):where(:not(.gm-ar-page *)):where(:not(.gm-report-page *)):where(:not(.gm-notes-page *)):where(:not(.gm-note-form-page *, .gm-note-detail-page *, .gm-note-delete-page *)):where(:not(.gm-cash-form-page *, .gm-installment-form-page *)):where(:not(.gm-installment-detail-page *, .gm-pay-installment-page *, .gm-exp-pay-page *)):where(:not(.gm-exp-form-page *)):where(:not(.gm-settings-hub *, .gm-settings-detail *, .gm-billing-page *, .gm-billing-flow-page *, .gm-suspended-page *, .owner-admin-page *, .gm-admin-account-page *, .gm-install-hub-v6 *, .gm-install-detail-page *, .gm-support-v2 *, .legal-page *, .gm-security-page *, .public-body *, .gm-notifications-page *, .gm-modal *, .gm-logout-modal *)),
html[data-theme="dark"]
    body
    input[type="password"]:where(:not(:is(.gm-receipts-v2, .gm-exp-page) :is(.gm-rx-header, .gm-rx-kpi, .gm-rx-filter, .gm-exp-hero, .gm-exp-kpi, .gm-exp-filter-card) *)):where(:not(.gm-ar-page *)):where(:not(.gm-report-page *)):where(:not(.gm-notes-page *)):where(:not(.gm-note-form-page *, .gm-note-detail-page *, .gm-note-delete-page *)):where(:not(.gm-cash-form-page *, .gm-installment-form-page *)):where(:not(.gm-installment-detail-page *, .gm-pay-installment-page *, .gm-exp-pay-page *)):where(:not(.gm-exp-form-page *)):where(:not(.gm-settings-hub *, .gm-settings-detail *, .gm-billing-page *, .gm-billing-flow-page *, .gm-suspended-page *, .owner-admin-page *, .gm-admin-account-page *, .gm-install-hub-v6 *, .gm-install-detail-page *, .gm-support-v2 *, .legal-page *, .gm-security-page *, .public-body *, .gm-notifications-page *, .gm-modal *, .gm-logout-modal *)),
html[data-theme="dark"]
    body
    input[type="number"]:where(:not(:is(.gm-receipts-v2, .gm-exp-page) :is(.gm-rx-header, .gm-rx-kpi, .gm-rx-filter, .gm-exp-hero, .gm-exp-kpi, .gm-exp-filter-card) *)):where(:not(.gm-ar-page *)):where(:not(.gm-report-page *)):where(:not(.gm-notes-page *)):where(:not(.gm-note-form-page *, .gm-note-detail-page *, .gm-note-delete-page *)):where(:not(.gm-cash-form-page *, .gm-installment-form-page *)):where(:not(.gm-installment-detail-page *, .gm-pay-installment-page *, .gm-exp-pay-page *)):where(:not(.gm-exp-form-page *)):where(:not(.gm-settings-hub *, .gm-settings-detail *, .gm-billing-page *, .gm-billing-flow-page *, .gm-suspended-page *, .owner-admin-page *, .gm-admin-account-page *, .gm-install-hub-v6 *, .gm-install-detail-page *, .gm-support-v2 *, .legal-page *, .gm-security-page *, .public-body *, .gm-notifications-page *, .gm-modal *, .gm-logout-modal *)),
html[data-theme="dark"]
    body
    input[type="date"]:where(:not(:is(.gm-receipts-v2, .gm-exp-page) :is(.gm-rx-header, .gm-rx-kpi, .gm-rx-filter, .gm-exp-hero, .gm-exp-kpi, .gm-exp-filter-card) *)):where(:not(.gm-ar-page *)):where(:not(.gm-report-page *)):where(:not(.gm-notes-page *)):where(:not(.gm-note-form-page *, .gm-note-detail-page *, .gm-note-delete-page *)):where(:not(.gm-cash-form-page *, .gm-installment-form-page *)):where(:not(.gm-installment-detail-page *, .gm-pay-installment-page *, .gm-exp-pay-page *)):where(:not(.gm-exp-form-page *)):where(:not(.gm-settings-hub *, .gm-settings-detail *, .gm-billing-page *, .gm-billing-flow-page *, .gm-suspended-page *, .owner-admin-page *, .gm-admin-account-page *, .gm-install-hub-v6 *, .gm-install-detail-page *, .gm-support-v2 *, .legal-page *, .gm-security-page *, .public-body *, .gm-notifications-page *, .gm-modal *, .gm-logout-modal *)),
html[data-theme="dark"]
    body
    input[type="month"]:where(:not(:is(.gm-receipts-v2, .gm-exp-page) :is(.gm-rx-header, .gm-rx-kpi, .gm-rx-filter, .gm-exp-hero, .gm-exp-kpi, .gm-exp-filter-card) *)):where(:not(.gm-ar-page *)):where(:not(.gm-report-page *)):where(:not(.gm-notes-page *)):where(:not(.gm-note-form-page *, .gm-note-detail-page *, .gm-note-delete-page *)):where(:not(.gm-cash-form-page *, .gm-installment-form-page *)):where(:not(.gm-installment-detail-page *, .gm-pay-installment-page *, .gm-exp-pay-page *)):where(:not(.gm-exp-form-page *)):where(:not(.gm-settings-hub *, .gm-settings-detail *, .gm-billing-page *, .gm-billing-flow-page *, .gm-suspended-page *, .owner-admin-page *, .gm-admin-account-page *, .gm-install-hub-v6 *, .gm-install-detail-page *, .gm-support-v2 *, .legal-page *, .gm-security-page *, .public-body *, .gm-notifications-page *, .gm-modal *, .gm-logout-modal *)),
html[data-theme="dark"]
    body
    input[type="search"]:where(:not(:is(.gm-receipts-v2, .gm-exp-page) :is(.gm-rx-header, .gm-rx-kpi, .gm-rx-filter, .gm-exp-hero, .gm-exp-kpi, .gm-exp-filter-card) *)):where(:not(.gm-ar-page *)):where(:not(.gm-report-page *)):where(:not(.gm-notes-page *)):where(:not(.gm-note-form-page *, .gm-note-detail-page *, .gm-note-delete-page *)):where(:not(.gm-cash-form-page *, .gm-installment-form-page *)):where(:not(.gm-installment-detail-page *, .gm-pay-installment-page *, .gm-exp-pay-page *)):where(:not(.gm-exp-form-page *)):where(:not(.gm-settings-hub *, .gm-settings-detail *, .gm-billing-page *, .gm-billing-flow-page *, .gm-suspended-page *, .owner-admin-page *, .gm-admin-account-page *, .gm-install-hub-v6 *, .gm-install-detail-page *, .gm-support-v2 *, .legal-page *, .gm-security-page *, .public-body *, .gm-notifications-page *, .gm-modal *, .gm-logout-modal *)),
html[data-theme="dark"]
    body
    select:where(:not(.gm-ar-page *)):where(:not(.gm-report-page *)):where(:not(.gm-notes-page *)):where(:not(.gm-note-form-page *, .gm-note-detail-page *, .gm-note-delete-page *)):where(:not(.gm-cash-form-page *, .gm-installment-form-page *)):where(:not(.gm-installment-detail-page *, .gm-pay-installment-page *, .gm-exp-pay-page *)):where(:not(.gm-exp-form-page *)):where(:not(.gm-settings-hub *, .gm-settings-detail *, .gm-billing-page *, .gm-billing-flow-page *, .gm-suspended-page *, .owner-admin-page *, .gm-admin-account-page *, .gm-install-hub-v6 *, .gm-install-detail-page *, .gm-support-v2 *, .legal-page *, .gm-security-page *, .public-body *, .gm-notifications-page *, .gm-modal *, .gm-logout-modal *)),
html[data-theme="dark"]
    body
    textarea:where(:not(.gm-cash-form-page *, .gm-installment-form-page *)):where(:not(.gm-installment-detail-page *, .gm-pay-installment-page *, .gm-exp-pay-page *)):where(:not(.gm-exp-form-page *)):where(:not(.gm-settings-hub *, .gm-settings-detail *, .gm-billing-page *, .gm-billing-flow-page *, .gm-suspended-page *, .owner-admin-page *, .gm-admin-account-page *, .gm-install-hub-v6 *, .gm-install-detail-page *, .gm-support-v2 *, .legal-page *, .gm-security-page *, .public-body *, .gm-notifications-page *, .gm-modal *, .gm-logout-modal *)) {
        min-height:
            43px !important;

        padding:
            10px 12px !important;

        border:
            1px solid #293a53 !important;

        border-radius:
            10px !important;

        background:
            #0d1727 !important;

        color:
            #eef4fc !important;

        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, .015) !important;

        outline:
            none !important;

        transition:
            border-color var(--gm-transition),
            box-shadow var(--gm-transition),
            background var(--gm-transition) !important;
    }

    html[data-theme="dark"]
    body
    input:where(:not(.gm-report-page *)):where(:not(.gm-notes-page *)):where(:not(.gm-note-form-page *, .gm-note-detail-page *, .gm-note-delete-page *)):where(:not(.gm-cash-form-page *, .gm-installment-form-page *)):where(:not(.gm-installment-detail-page *, .gm-pay-installment-page *, .gm-exp-pay-page *)):where(:not(.gm-exp-form-page *)):where(:not(.gm-settings-hub *, .gm-settings-detail *, .gm-billing-page *, .gm-billing-flow-page *, .gm-suspended-page *, .owner-admin-page *, .gm-admin-account-page *, .gm-install-hub-v6 *, .gm-install-detail-page *, .gm-support-v2 *, .legal-page *, .gm-security-page *, .public-body *, .gm-notifications-page *, .gm-modal *, .gm-logout-modal *))::placeholder,
html[data-theme="dark"]
    body
    textarea:where(:not(.gm-cash-form-page *, .gm-installment-form-page *)):where(:not(.gm-installment-detail-page *, .gm-pay-installment-page *, .gm-exp-pay-page *)):where(:not(.gm-exp-form-page *)):where(:not(.gm-settings-hub *, .gm-settings-detail *, .gm-billing-page *, .gm-billing-flow-page *, .gm-suspended-page *, .owner-admin-page *, .gm-admin-account-page *, .gm-install-hub-v6 *, .gm-install-detail-page *, .gm-support-v2 *, .legal-page *, .gm-security-page *, .public-body *, .gm-notifications-page *, .gm-modal *, .gm-logout-modal *))::placeholder {
        color:
            #66758b !important;
    }

    html[data-theme="dark"]
    body
    input:focus:where(:not(.gm-report-page *)):where(:not(.gm-notes-page *)):where(:not(.gm-note-form-page *, .gm-note-detail-page *, .gm-note-delete-page *)):where(:not(.gm-cash-form-page *, .gm-installment-form-page *)):where(:not(.gm-installment-detail-page *, .gm-pay-installment-page *, .gm-exp-pay-page *)):where(:not(.gm-exp-form-page *)):where(:not(.gm-settings-hub *, .gm-settings-detail *, .gm-billing-page *, .gm-billing-flow-page *, .gm-suspended-page *, .owner-admin-page *, .gm-admin-account-page *, .gm-install-hub-v6 *, .gm-install-detail-page *, .gm-support-v2 *, .legal-page *, .gm-security-page *, .public-body *, .gm-notifications-page *, .gm-modal *, .gm-logout-modal *)),
html[data-theme="dark"]
    body
    select:focus:where(:not(.gm-ar-page *)):where(:not(.gm-report-page *)):where(:not(.gm-notes-page *)):where(:not(.gm-note-form-page *, .gm-note-detail-page *, .gm-note-delete-page *)):where(:not(.gm-cash-form-page *, .gm-installment-form-page *)):where(:not(.gm-installment-detail-page *, .gm-pay-installment-page *, .gm-exp-pay-page *)):where(:not(.gm-exp-form-page *)):where(:not(.gm-settings-hub *, .gm-settings-detail *, .gm-billing-page *, .gm-billing-flow-page *, .gm-suspended-page *, .owner-admin-page *, .gm-admin-account-page *, .gm-install-hub-v6 *, .gm-install-detail-page *, .gm-support-v2 *, .legal-page *, .gm-security-page *, .public-body *, .gm-notifications-page *, .gm-modal *, .gm-logout-modal *)),
html[data-theme="dark"]
    body
    textarea:focus:where(:not(.gm-cash-form-page *, .gm-installment-form-page *)):where(:not(.gm-installment-detail-page *, .gm-pay-installment-page *, .gm-exp-pay-page *)):where(:not(.gm-exp-form-page *)):where(:not(.gm-settings-hub *, .gm-settings-detail *, .gm-billing-page *, .gm-billing-flow-page *, .gm-suspended-page *, .owner-admin-page *, .gm-admin-account-page *, .gm-install-hub-v6 *, .gm-install-detail-page *, .gm-support-v2 *, .legal-page *, .gm-security-page *, .public-body *, .gm-notifications-page *, .gm-modal *, .gm-logout-modal *)) {
        border-color:
            #467ff4 !important;

        background:
            #101c2d !important;

        box-shadow:
            0 0 0 3px rgba(47, 109, 246, .13) !important;
    }

    html[data-theme="dark"]
    body
    .helptext {
        color:
            #718096 !important;
    }


    /* ======================================================
       TABS
       ====================================================== */

    html[data-theme="dark"]
    body.app-body
    .filter-tabs {
        gap:
            7px !important;
    }

    html[data-theme="dark"]
    body.app-body
    .filter-tab {
        min-height:
            35px !important;

        padding:
            7px 12px !important;

        border:
            1px solid #263750 !important;

        border-radius:
            999px !important;

        background:
            #101b2d !important;

        color:
            #93a3b9 !important;

        font-size:
            12px !important;

        font-weight:
            700 !important;
    }

    html[data-theme="dark"]
    body.app-body
    .filter-tab.active {
        border-color:
            rgba(80, 130, 255, .45) !important;

        background:
            #245fe5 !important;

        color:
            #ffffff !important;

        box-shadow:
            0 6px 18px rgba(37, 99, 235, .18) !important;
    }


    /* ======================================================
       TABLES
       ====================================================== */

    html[data-theme="dark"]
    body.app-body
    .table-wrap {
        border:
            1px solid rgba(148, 163, 184, .12);

        border-radius:
            14px;

        background:
            rgba(13, 23, 39, .68);
    }

    html[data-theme="dark"]
    body.app-body
    table:where(:not(.gm-report-page *)):where(:not(.gm-installment-detail-page *, .gm-pay-installment-page *, .gm-exp-pay-page *)):where(:not(.gm-exp-form-page *)):where(:not(.gm-settings-hub *, .gm-settings-detail *, .gm-billing-page *, .gm-billing-flow-page *, .gm-suspended-page *, .owner-admin-page *, .gm-admin-account-page *, .gm-install-hub-v6 *, .gm-install-detail-page *, .gm-support-v2 *, .legal-page *, .gm-security-page *, .public-body *, .gm-notifications-page *, .gm-modal *, .gm-logout-modal *)) {
        color:
            #dbe5f2;
    }

    html[data-theme="dark"]
    body.app-body
    th:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)):where(:not(.gm-report-page *)):where(:not(.gm-installment-detail-page *, .gm-pay-installment-page *, .gm-exp-pay-page *)):where(:not(.gm-exp-form-page *)):where(:not(.gm-settings-hub *, .gm-settings-detail *, .gm-billing-page *, .gm-billing-flow-page *, .gm-suspended-page *, .owner-admin-page *, .gm-admin-account-page *, .gm-install-hub-v6 *, .gm-install-detail-page *, .gm-support-v2 *, .legal-page *, .gm-security-page *, .public-body *, .gm-notifications-page *, .gm-modal *, .gm-logout-modal *)) {
        padding:
            12px 12px !important;

        border-bottom:
            1px solid #273750 !important;

        color:
            #75849a !important;

        background:
            rgba(255, 255, 255, .012);

        font-size:
            10.5px !important;

        font-weight:
            800 !important;

        letter-spacing:
            .065em !important;
    }

    html[data-theme="dark"]
    body.app-body
    td:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)):where(:not(.gm-report-page *)):where(:not(.gm-installment-detail-page *, .gm-pay-installment-page *, .gm-exp-pay-page *)):where(:not(.gm-exp-form-page *)):where(:not(.gm-settings-hub *, .gm-settings-detail *, .gm-billing-page *, .gm-billing-flow-page *, .gm-suspended-page *, .owner-admin-page *, .gm-admin-account-page *, .gm-install-hub-v6 *, .gm-install-detail-page *, .gm-support-v2 *, .legal-page *, .gm-security-page *, .public-body *, .gm-notifications-page *, .gm-modal *, .gm-logout-modal *)) {
        padding:
            13px 12px !important;

        border-bottom:
            1px solid rgba(148, 163, 184, .10) !important;

        color:
            #d8e2ef !important;

        font-size:
            13px !important;
    }

    html[data-theme="dark"]
    body.app-body
    tbody tr:where(:not(.gm-report-page *)) {
        transition:
            background var(--gm-transition);
    }

    html[data-theme="dark"]
    body.app-body
    tbody tr:hover:where(:not(.gm-report-page *)) {
        background:
            rgba(59, 130, 246, .035);
    }


    /* ======================================================
       STATUS
       ====================================================== */

    html[data-theme="dark"]
    body.app-body
    .status {
        min-height:
            25px !important;

        padding:
            4px 9px !important;

        border:
            1px solid transparent;

        border-radius:
            999px !important;

        font-size:
            10.5px !important;

        font-weight:
            800 !important;
    }

    html[data-theme="dark"]
    body.app-body
    .status-success {
        border-color:
            rgba(45, 212, 163, .18) !important;

        background:
            var(--gm-green-soft) !important;

        color:
            #42dbae !important;
    }

    html[data-theme="dark"]
    body.app-body
    .status-warning {
        border-color:
            rgba(245, 185, 76, .18) !important;

        background:
            var(--gm-yellow-soft) !important;

        color:
            #f5c65f !important;
    }

    html[data-theme="dark"]
    body.app-body
    .status-danger {
        border-color:
            rgba(251, 113, 133, .18) !important;

        background:
            var(--gm-red-soft) !important;

        color:
            #fb8c9c !important;
    }

    html[data-theme="dark"]
    body.app-body
    .status-neutral {
        border-color:
            rgba(148, 163, 184, .14) !important;

        background:
            rgba(148, 163, 184, .08) !important;

        color:
            #a8b5c7 !important;
    }


    /* ======================================================
       DJANGO MESSAGES
       ====================================================== */

    html[data-theme="dark"]
    body
    .messages:where(:not(.gm-settings-hub *, .gm-settings-detail *, .gm-billing-page *, .gm-billing-flow-page *, .gm-suspended-page *, .owner-admin-page *, .gm-admin-account-page *, .gm-install-hub-v6 *, .gm-install-detail-page *, .gm-support-v2 *, .legal-page *, .gm-security-page *, .public-body *, .gm-notifications-page *, .gm-modal *, .gm-logout-modal *)) {
        gap:
            10px !important;

        margin-bottom:
            18px !important;
    }

    html[data-theme="dark"]
    body
    .message:where(:not(.gm-settings-hub *, .gm-settings-detail *, .gm-billing-page *, .gm-billing-flow-page *, .gm-suspended-page *, .owner-admin-page *, .gm-admin-account-page *, .gm-install-hub-v6 *, .gm-install-detail-page *, .gm-support-v2 *, .legal-page *, .gm-security-page *, .public-body *, .gm-notifications-page *, .gm-modal *, .gm-logout-modal *)) {
        padding:
            11px 13px !important;

        border:
            1px solid #293a53 !important;

        border-radius:
            11px !important;

        background:
            #111d2f !important;

        color:
            #d9e3f0 !important;

        font-size:
            12px !important;
    }

    html[data-theme="dark"]
    body
    .message.success:where(:not(.gm-settings-hub *, .gm-settings-detail *, .gm-billing-page *, .gm-billing-flow-page *, .gm-suspended-page *, .owner-admin-page *, .gm-admin-account-page *, .gm-install-hub-v6 *, .gm-install-detail-page *, .gm-support-v2 *, .legal-page *, .gm-security-page *, .public-body *, .gm-notifications-page *, .gm-modal *, .gm-logout-modal *)) {
        border-color:
            rgba(45, 212, 163, .20) !important;

        background:
            rgba(45, 212, 163, .08) !important;

        color:
            #64e1bc !important;
    }

    html[data-theme="dark"]
    body
    .message.error:where(:not(.gm-settings-hub *, .gm-settings-detail *, .gm-billing-page *, .gm-billing-flow-page *, .gm-suspended-page *, .owner-admin-page *, .gm-admin-account-page *, .gm-install-hub-v6 *, .gm-install-detail-page *, .gm-support-v2 *, .legal-page *, .gm-security-page *, .public-body *, .gm-notifications-page *, .gm-modal *, .gm-logout-modal *)) {
        border-color:
            rgba(251, 113, 133, .20) !important;

        background:
            rgba(251, 113, 133, .08) !important;

        color:
            #fb9aa7 !important;
    }

    html[data-theme="dark"]
    body
    .message.warning:where(:not(.gm-settings-hub *, .gm-settings-detail *, .gm-billing-page *, .gm-billing-flow-page *, .gm-suspended-page *, .owner-admin-page *, .gm-admin-account-page *, .gm-install-hub-v6 *, .gm-install-detail-page *, .gm-support-v2 *, .legal-page *, .gm-security-page *, .public-body *, .gm-notifications-page *, .gm-modal *, .gm-logout-modal *)) {
        border-color:
            rgba(245, 185, 76, .20) !important;

        background:
            rgba(245, 185, 76, .08) !important;

        color:
            #f6ca6d !important;
    }


    /* ======================================================
       PUBLIC / AUTH SHELL
       LOGIN, CADASTRO, RECUPERAÇÃO ETC.
       ====================================================== */























    /* ======================================================
       SCROLLBAR DESKTOP
       ====================================================== */

    html[data-theme="dark"]
    body.app-body
    * {
        scrollbar-width:
            thin;

        scrollbar-color:
            #33445d transparent;
    }

}


/* ==========================================================
   FIM — GEST MONTE DESKTOP UI V2 FOUNDATION V1
   ========================================================== */

/* Dashboard desktop: uma definição por componente, com os tokens dark. */
@media (min-width: 0px) {
    .gm-dashboard-header {
        position: relative;
        isolation: isolate;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: var(--gm-space-6);
        min-height: 124px;
        margin: 0 0 var(--gm-space-5);
        padding: var(--gm-space-6);
        overflow: hidden;
        border: 1px solid var(--gm-border);
        border-radius: var(--gm-radius-md);
        background: linear-gradient(115deg, var(--gm-surface), var(--gm-bg));
        box-shadow: var(--gm-shadow-soft);
    }
    .gm-dashboard-header::after {
        content: "";
        position: absolute;
        z-index: -1;
        inset: 0 0 0 38%;
        opacity: .8;
        background: url("../img/financial-wave.svg") right bottom / cover no-repeat;
        pointer-events: none;
    }
    .gm-dashboard-heading { min-width: 0; }
    .gm-dashboard-desktop-greeting { display: block; margin-bottom: 6px; color: var(--gm-text-secondary); font-size: 14px; }
    .gm-dashboard-eyebrow-clean { display: none; }
    .gm-dashboard-heading h1 { margin: 0 0 8px; color: var(--gm-text); font-size: clamp(23px, 3vw, 35px); font-weight: 800; line-height: 1.12; letter-spacing: -.035em; }
    .gm-dashboard-heading p { margin: 0; color: var(--gm-text-secondary); font-size: 14px; line-height: 1.5; }
    .gm-dashboard-actions { display: flex; flex-direction: column; align-items: flex-end; justify-content: flex-end; flex-shrink: 0; gap: 10px; margin: 0; }
    .gm-dashboard-notification-btn { position: relative; display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); background: var(--gm-blue-soft); color: var(--gm-text); box-shadow: none; }
    .gm-dashboard-notification-btn svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; }
    .gm-dashboard-notification-btn .notification-badge, .notification-bell-mobile .notification-badge { position: absolute; top: -6px; right: -6px; min-width: 20px; padding: 2px 5px; border-radius: 999px; background: var(--gm-red); color: white; text-align: center; font-size: 11px; }

    .gm-top-stats-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--gm-space-4); margin-bottom: var(--gm-space-5); }
    .gm-stat-card { --stat-color: var(--gm-info); --stat-soft: var(--gm-info-soft); position: relative; isolation: isolate; display: flex; flex-direction: column; gap: 8px; min-width: 0; min-height: 115px; padding: 12px; overflow: hidden; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-md); background: linear-gradient(135deg, var(--gm-surface), var(--gm-bg)); box-shadow: var(--gm-shadow-soft); }
    .gm-stat-card-income { --stat-color: var(--gm-green); --stat-soft: var(--gm-green-soft); }
    .gm-stat-card-expense { --stat-color: var(--gm-yellow); --stat-soft: var(--gm-yellow-soft); }
    .gm-stat-card-overdue { --stat-color: var(--gm-red); --stat-soft: var(--gm-red-soft); }
    .gm-stat-card::after { content: ""; position: absolute; z-index: -1; right: 0; bottom: 0; width: 48%; height: 66%; opacity: .2; background: var(--stat-color); mask: url("../img/financial-wave.svg") center bottom / 100% 100% no-repeat; pointer-events: none; }
    .gm-stat-heading { display: flex; align-items: center; gap: 10px; }
    .gm-stat-title { color: var(--gm-text); font-size: 14px; font-weight: 600; line-height: 1.35; }
    .gm-stat-icon { order: -1; display: grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px; border: 1px solid var(--stat-color); border-radius: var(--gm-radius-sm); background: var(--stat-soft); color: var(--stat-color); }
    .gm-stat-icon svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; }
    .gm-stat-value { display: block; margin: 0; color: var(--stat-color); font-size: clamp(21px, 2vw, 27px); font-weight: 800; line-height: 1.15; letter-spacing: -.025em; white-space: nowrap; }
    .gm-stat-card-result .gm-result-positive:where(:not(.gm-report-page *)) { color: var(--gm-green); }
    .gm-stat-card-result .gm-result-negative:where(:not(.gm-report-page *)) { color: var(--gm-red); }
    .gm-stat-card-result .gm-result-neutral:where(:not(.gm-report-page *)) { color: var(--gm-info); }
    .gm-stat-comparison { display: inline-flex; align-items: center; align-self: flex-start; gap: 6px; max-width: 100%; margin-top: auto; padding: 4px 8px; border: 1px solid var(--gm-border-soft); border-radius: 999px; background: var(--gm-surface-2); color: var(--gm-text-secondary); font-size: 11px; line-height: 1.4; }
    .gm-comparison-indicator { display: grid; place-items: center; flex: 0 0 18px; width: 18px; height: 18px; border-radius: 50%; color: var(--gm-text); background: var(--gm-surface-3); }
    .gm-stat-comparison-up .gm-comparison-indicator { color: var(--gm-green); background: var(--gm-green-soft); }
    .gm-stat-comparison-down .gm-comparison-indicator { color: var(--gm-red); background: var(--gm-red-soft); }
    .gm-stat-comparison-up .gm-comparison-indicator::before { content: "↑"; }
    .gm-stat-comparison-down .gm-comparison-indicator::before { content: "↓"; }
    .gm-stat-comparison-neutral .gm-comparison-indicator::before { content: "−"; }

    .gm-dashboard-main-grid { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(300px, 1fr); align-items: stretch; gap: var(--gm-space-5); margin-bottom: var(--gm-space-5); }
    .gm-evolution-card, .gm-side-summary-card, .gm-receivables-section { min-width: 0; margin: 0; padding: var(--gm-space-6); border: 1px solid var(--gm-border); border-radius: var(--gm-radius-md); background: linear-gradient(135deg, var(--gm-surface), var(--gm-bg)); box-shadow: var(--gm-shadow-soft); }
    .gm-evolution-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 13px; margin-bottom: 14px; }
    .gm-evolution-header > div:first-of-type { flex: 1; min-width: 180px; }
    .gm-evolution-header h2 { margin: 0; color: var(--gm-text); font-size: 18px; line-height: 1.3; }
    .gm-evolution-legend { display: flex; flex-wrap: wrap; gap: 10px; color: var(--gm-text-secondary); font-size: 12px; }
    .gm-evolution-legend span { display: inline-flex; align-items: center; gap: 6px; }
    .gm-legend-dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; }
    .gm-legend-dot-income { background: var(--gm-green); }
    .gm-legend-dot-expense { background: var(--gm-yellow); }
    .gm-legend-dot-overdue { background: var(--gm-red); }
    .gm-evolution-period-selector { display: flex; width: max-content; max-width: 100%; gap: 0; margin-bottom: 14px; padding: 3px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); background: var(--gm-bg); }
    .dashboard-period-button { min-width: 96px; min-height: 36px; padding: 8px 13px; border: 0; border-radius: var(--gm-radius-xs); background: transparent; color: var(--gm-text-secondary); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
    .dashboard-period-button:hover { background: var(--gm-blue-soft); color: var(--gm-text); }
    .dashboard-period-button.active { background: var(--gm-blue); color: white; box-shadow: 0 4px 16px var(--gm-blue-soft); }
    .gm-evolution-chart-wrap, .gm-evolution-chart { min-width: 0; width: 100%; }
    .gm-financial-donut { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); align-items: center; gap: 14px; width: 100%; }
    .gm-financial-donut-chart { position: relative; min-width: 0; width: 100%; max-width: 240px; margin-inline: auto; }
    .gm-financial-donut-svg { display: block; width: 100%; height: auto; overflow: visible; }
    .gm-financial-donut-svg circle { fill: none; stroke-width: 28; transform: rotate(-90deg); transform-origin: 170px 145px; }
    .gm-financial-donut-track { stroke: var(--gm-surface-3); }
    .gm-financial-donut-income { stroke: var(--gm-green); }
    .gm-financial-donut-expense { stroke: var(--gm-yellow); }
    .gm-financial-donut-overdue { stroke: var(--gm-red); }
    .gm-financial-donut-center { position: absolute; left: 50%; top: 48.333%; display: flex; flex-direction: column; align-items: center; gap: 4px; width: 40%; transform: translate(-50%, -50%); text-align: center; }
    .gm-financial-donut-center span { max-width: 100%; color: var(--gm-text-secondary); font-size: 10px; line-height: 1.2; white-space: nowrap; }
    .gm-financial-donut-center strong { color: var(--gm-text); max-width: 100%; font-size: 16px; font-weight: 800; line-height: 1.2; white-space: nowrap; }
    .gm-financial-donut-values { display: grid; gap: 10px; min-width: 0; }
    .gm-financial-donut-value { --donut-color: var(--gm-green); --donut-soft: var(--gm-green-soft); display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 13px; border: 1px solid var(--donut-color); border-radius: var(--gm-radius-md); background: linear-gradient(130deg, var(--donut-soft), var(--gm-surface)); color: var(--gm-text); }
    .gm-financial-donut-value-expense { --donut-color: var(--gm-yellow); --donut-soft: var(--gm-yellow-soft); }
    .gm-financial-donut-value-overdue { --donut-color: var(--gm-red); --donut-soft: var(--gm-red-soft); }
    .gm-financial-donut-value span { font-size: 13px; line-height: 1.4; }
    .gm-financial-donut-value strong { grid-column: 2; grid-row: 1 / 3; font-size: 15px; line-height: 1.3; text-align: right; white-space: nowrap; }
    .gm-financial-donut-value small { color: var(--gm-text-secondary); font-size: 12px; }
    .gm-chart-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; min-height: 144px; padding: 17px; color: var(--gm-text-secondary); text-align: center; }
    .gm-chart-empty-icon { display: grid; place-items: center; width: 56px; height: 56px; border-radius: var(--gm-radius-md); background: var(--gm-blue-soft); color: var(--gm-info); }
    .gm-chart-empty-icon svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.8; }
    .gm-chart-empty strong { color: var(--gm-text); font-size: 16px; }
    .gm-chart-empty > span:last-child { font-size: 13px; }
    .gm-dashboard-side { display: grid; gap: 13px; }
    .gm-side-summary-header { margin-bottom: 4px; color: var(--gm-text); font-size: 13px; font-weight: 700; }
    .gm-side-summary-total { display: block; margin: 0 0 8px; color: var(--gm-text); font-size: 22px; font-weight: 800; line-height: 1.2; white-space: nowrap; }
    .gm-composition-bar { display: flex; height: 6px; margin-bottom: 8px; overflow: hidden; border-radius: 999px; background: var(--gm-surface-3); }
    .gm-composition-segment { display: block; height: 100%; }
    .gm-composition-income-vista { background: var(--gm-green); }
    .gm-composition-income-entry { background: #67e8bb; }
    .gm-composition-income-installment { background: #a7f3d0; }
    .gm-composition-expense-paid { background: var(--gm-red); }
    .gm-composition-expense-pending { background: #fb9cb0; }
    .gm-side-summary-list { display: grid; gap: 0; }
    .gm-side-summary-list > div { display: flex; align-items: center; justify-content: space-between; gap: 13px; min-height: 26px; padding: 3px 0; border-bottom: 1px solid var(--gm-border-soft); }
    .gm-side-summary-list > div:last-child { border-bottom: 0; }
    .gm-side-summary-list span { color: var(--gm-text-secondary); font-size: 12px; }
    .gm-side-summary-list strong { color: var(--gm-text); font-size: 13px; white-space: nowrap; }
    .gm-receivables-header { display: flex; align-items: center; justify-content: space-between; gap: 13px; margin-bottom: 14px; }
    .gm-receivables-header h2 { margin: 0 0 6px; color: var(--gm-text); font-size: 17px; }
    .gm-receivables-header p { margin: 0; color: var(--gm-text-secondary); font-size: 13px; }
    .gm-receivables-header a { color: var(--gm-info); font-size: 13px; white-space: nowrap; }
    .gm-receivables-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
    .gm-receivable-item { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 13px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); background: var(--gm-bg-soft); text-decoration: none; transition: border-color var(--gm-transition); }
    .gm-receivable-item:hover { border-color: var(--gm-blue); }
    .gm-receivable-icon { display: grid; place-items: center; flex: 0 0 36px; width: 36px; height: 36px; border-radius: var(--gm-radius-xs); background: var(--gm-blue-soft); color: var(--gm-info); }
    .gm-receivable-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; }
    .gm-receivable-item > div { display: grid; gap: 5px; min-width: 0; }
    .gm-receivable-item small { color: var(--gm-text-secondary); font-size: 10px; font-weight: 600; }
    .gm-receivable-item strong { color: var(--gm-text); font-size: 17px; white-space: nowrap; }
    .gm-receivable-item span:not(.gm-receivable-icon) { color: var(--gm-muted); font-size: 11px; }
    .gm-receivable-item-overdue-active strong, .gm-receivable-item-overdue-active .gm-receivable-icon { color: var(--gm-red); }
    .gm-dashboard-notification-btn:focus-visible, .dashboard-period-button:focus-visible, .gm-receivable-item:focus-visible, .gm-receivables-header a:focus-visible { outline: 2px solid var(--gm-info); outline-offset: 3px; }
}
@media (min-width: 901px) and (max-width: 1180px) {
    .gm-top-stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gm-dashboard-main-grid { grid-template-columns: minmax(0, 1fr); }
    .gm-dashboard-side { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gm-stat-value { font-size: 24px; }
    .gm-receivables-grid { grid-template-columns: minmax(0, 1fr); }
}

/* Detalhes e ações rápidas desktop. Definições compartilhadas; layouts ajustados por breakpoint. */
@media (min-width: 0px) {
    .gm-outline-icon { display: block; width: 24px; height: 24px; flex-shrink: 0; }
    .gm-dashboard-period-card { display: flex; align-items: center; gap: 10px; min-width: 160px; padding: 8px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); background: var(--gm-blue-soft); color: var(--gm-text); }
    .gm-dashboard-period-card > div { display: grid; gap: 4px; }
    .gm-dashboard-period-card strong { font-size: 14px; }
    .gm-dashboard-period-card span { color: var(--gm-text-secondary); font-size: 11px; }
    .gm-stat-icon .gm-dashboard-legacy-icon { display: none; }
    .gm-dashboard-section-icon { display: grid; place-items: center; flex: 0 0 48px; width: 36px; height: 36px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); background: var(--gm-blue-soft); color: var(--gm-info); }
    .gm-dashboard-desktop-caption { margin: 6px 0 0; color: var(--gm-text-secondary); font-size: 13px; line-height: 1.5; }
    .gm-side-summary-card { display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 10px; align-content: start; padding: var(--gm-space-4); }
    .gm-side-summary-card .gm-dashboard-section-icon { grid-row: 1 / 3; width: 44px; height: 44px; background: var(--gm-green-soft); color: var(--gm-green); }
    .gm-side-summary-card-expense .gm-dashboard-section-icon { background: var(--gm-red-soft); color: var(--gm-red); }
    .gm-side-summary-header, .gm-side-summary-total { grid-column: 2; }
    .gm-side-summary-card .gm-composition-bar, .gm-side-summary-card .gm-side-summary-list { grid-column: 1 / -1; }
}

@media (max-width: 900px) {
    /* Keep the mobile counter inside the bell's touch target and header. */
    .mobile-topbar .notification-bell-mobile .notification-badge {
        top: 1px;
        right: 1px;
        box-sizing: border-box;
        min-width: 18px;
        height: 18px;
        padding: 0 4px;
        font-size: 10px;
        line-height: 18px;
    }
    .gm-dashboard-header { display: grid; grid-template-columns: minmax(0,1fr); gap: 8px; min-height: 0; margin-bottom: 10px; padding: 10px; }
    .gm-dashboard-heading { display: contents; }
    .gm-dashboard-header h1 { grid-column: 1 / -1; margin: 0; font-size: clamp(21px, 5.8vw, 24px); }
    .gm-dashboard-header p { grid-column: 1; min-width: 0; max-width: 100%; font-size: 12px; line-height: 1.4; white-space: normal; overflow-wrap: anywhere; }
    .gm-dashboard-header::after { opacity: .35; }
    .gm-dashboard-actions { display: none; }
    .gm-dashboard-header .gm-dashboard-notification-btn { display: none; }
    .gm-top-stats-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-bottom: 10px; }
    .gm-stat-card { min-width: 0; padding: 8px; min-height: 0; gap: 5px; }
    .gm-stat-value { white-space: normal; overflow-wrap: anywhere; font-size: clamp(17px, 5vw, 21px); }
    .gm-stat-comparison { white-space: normal; font-size: 10px; padding: 2px 4px; gap: 4px; }
    .gm-stat-icon { flex-basis: 24px; width: 24px; height: 24px; }
    .gm-dashboard-main-grid, .gm-receivables-grid { grid-template-columns: minmax(0,1fr); gap: 8px; }
    .gm-dashboard-main-grid { margin-bottom: 10px; }
    .gm-dashboard-side { grid-template-columns: minmax(0,1fr); gap: 8px; }
    .gm-evolution-card { padding: 10px; }
    .gm-evolution-header { display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 8px; margin-bottom: 8px; }
    .gm-evolution-header > div:first-of-type { min-width: 0; }
    .gm-evolution-legend { grid-column: 1 / -1; }
    .gm-financial-donut { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8px; }
    .gm-financial-donut-chart { display: grid; place-items: center; aspect-ratio: 1; max-width: 240px; margin-inline: auto; overflow: hidden; }
    .gm-financial-donut-svg { transform: scale(1.45); transform-origin: 50% 48.333%; pointer-events: none; }
    .gm-financial-donut-svg circle { stroke-linecap: butt; shape-rendering: geometricPrecision; }
    .gm-financial-donut-svg path { stroke: none; shape-rendering: geometricPrecision; }
    .gm-financial-donut-svg path.gm-financial-donut-income { fill: var(--gm-green); }
    .gm-financial-donut-svg path.gm-financial-donut-expense { fill: var(--gm-yellow); }
    .gm-financial-donut-svg path.gm-financial-donut-overdue { fill: var(--gm-red); }
    .gm-financial-donut-center { width: 54%; }
    .gm-financial-donut-center span { font-size: 10px; }
    .gm-financial-donut-center strong { font-size: 14px; }
    .gm-financial-donut-values { gap: 6px; }
    .gm-financial-donut-value { grid-template-columns: minmax(0,1fr) auto; gap: 4px; padding: 8px; }
    .gm-financial-donut-value span { font-size: 12px; line-height: 1.3; }
    .gm-financial-donut-value small { grid-column: 2; grid-row: 1; align-self: start; font-size: 11px; }
    .gm-financial-donut-value strong { grid-column: 1 / -1; grid-row: 2; text-align: left; font-size: 13px; white-space: normal; overflow-wrap: anywhere; }
    .gm-receivable-item-overdue :is(.gm-receivable-icon,strong) { color: var(--gm-red); }
    .gm-receivable-item-today :is(.gm-receivable-icon,strong) { color: var(--gm-yellow); }
    .gm-receivable-item-next :is(.gm-receivable-icon,strong) { color: var(--gm-info); }

    .gm-dashboard-desktop-greeting { display: none; }
    .gm-stat-heading { min-height: 32px; gap: 6px; }
    .gm-stat-title { font-size: 12px; }
    .gm-stat-icon svg { width: 18px; height: 18px; }
    .gm-comparison-indicator { flex-basis: 14px; width: 14px; height: 14px; }
    .gm-dashboard-period-card { min-width: 0; gap: 6px; padding: 6px; }
    .gm-dashboard-period-card strong { font-size: 12px; }
    .gm-dashboard-period-card span { display: none; }
    .gm-dashboard-period-card svg { width: 18px; height: 18px; }
    .gm-evolution-header h2 { font-size: 16px; }
    .gm-evolution-legend { font-size: 11px; gap: 8px; }
    .gm-evolution-period-selector { width: 100%; margin-bottom: 8px; }
    .dashboard-period-button { flex: 1; min-width: 0; min-height: 44px; padding: 6px; font-size: 12px; }

    .gm-dashboard-section-icon, .gm-side-summary-card .gm-dashboard-section-icon { flex-basis: 28px; width: 28px; height: 28px; }
    .gm-dashboard-section-icon svg { width: 18px; height: 18px; }
    .gm-evolution-card .gm-evolution-header p { margin: 4px 0 0; font-size: 12px; line-height: 1.4; }

    body.gm-dashboard-page .mobile-topbar { min-height: 50px; padding: 3px 10px; }
    body.gm-dashboard-page .main-content { padding-bottom: calc(142px + env(safe-area-inset-bottom)); }
    .gm-side-summary-card { display: grid; grid-template-columns: 28px minmax(0,1fr) minmax(0,1fr); column-gap: 8px; row-gap: 4px; padding: 10px; }
    .gm-side-summary-card .gm-dashboard-section-icon { float: none; grid-column: 1; grid-row: 1; margin: 0; }
    .gm-side-summary-header { grid-column: 2; align-self: center; margin: 0; font-size: 12px; }
    .gm-side-summary-total { grid-column: 3; align-self: center; margin: 0; font-size: 20px; white-space: normal; overflow-wrap: anywhere; text-align: right; }
    .gm-side-summary-card :is(.gm-composition-bar,.gm-side-summary-list) { grid-column: 1 / -1; }
    .gm-side-summary-card .gm-composition-bar { margin-bottom: 4px; }
    .gm-side-summary-list > div { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
    .gm-side-summary-list span { overflow-wrap: anywhere; }
    .gm-side-summary-list strong { white-space: normal; overflow-wrap: anywhere; text-align: right; }
    .gm-receivables-section { padding: 10px; }
    .gm-receivables-header { gap: 8px; margin-bottom: 8px; }
    .gm-receivables-header h2 { margin-bottom: 4px; font-size: 16px; }
    .gm-receivables-header p { font-size: 12px; line-height: 1.4; }
    .gm-receivables-header a { display: inline-flex; align-items: center; min-height: 44px; padding: 6px 0; }
    .gm-receivable-item { gap: 8px; min-height: 64px; padding: 10px; }
    .gm-receivable-icon { flex-basis: 28px; width: 28px; height: 28px; }
    .gm-receivable-icon svg { width: 18px; height: 18px; }
    .gm-receivable-item > div { flex: 1; grid-template-columns: minmax(0,1fr) minmax(0,1fr); column-gap: 8px; row-gap: 4px; }
    .gm-receivable-item small { grid-column: 1; font-size: 11px; }
    .gm-receivable-item strong { grid-column: 2; grid-row: 1 / 3; align-self: center; font-size: 16px; white-space: normal; overflow-wrap: anywhere; text-align: right; }
    .gm-receivable-item span:not(.gm-receivable-icon) { grid-column: 1; }
    body.gm-dashboard-page .gm-quick-fab-dashboard { right: 12px; bottom: calc(68px + env(safe-area-inset-bottom)); }
    body.gm-dashboard-page .gm-quick-fab-dashboard .gm-quick-fab-menu { bottom: calc(100% + 10px); width: min(340px,calc(100vw - 24px)); max-height: calc(100dvh - 144px - env(safe-area-inset-bottom)); padding: 10px; gap: 6px; }
}
/* Shell desktop canônico. Desktop e mobile compartilham tokens e componentes. */

    .app-body .main-content {
        min-height: 100vh;
        margin-left: var(--gm-sidebar-width);
        padding: var(--gm-space-8) var(--gm-space-8) 83px;
        background: var(--gm-bg);
    }

    .sidebar-close { display: none; }
    .sidebar {
        position: fixed;
        inset: 0 auto 0 0;
        z-index: 30;
        display: flex;
        flex-direction: column;
        width: var(--gm-sidebar-width);
        height: 100dvh;
        padding: 10px;
        overflow-y: auto;
        scrollbar-width: thin;
        background: linear-gradient(180deg, var(--gm-sidebar), var(--gm-sidebar-deep));
        border-right: 1px solid var(--gm-border);
        color: var(--gm-text);
    }

    .sidebar .brand {
        display: flex;
        flex: 0 0 auto;
        align-items: center;
        gap: var(--gm-space-3);
        margin: 0 0 8px;
        padding: 4px 0 10px;
        border-bottom: 1px solid var(--gm-border-soft);
    }
    .sidebar .gm-brand-logo {
        flex: 0 0 44px;
        width: 44px;
        height: 44px;
        border-radius: var(--gm-radius-md);
    }
    .sidebar .gm-brand-copy { min-width: 0; }
    .sidebar .brand strong {
        display: block;
        color: var(--gm-text);
        font-size: 15px;
        font-weight: 800;
        line-height: 1.2;
    }
    .sidebar .brand small {
        display: block;
        max-width: 150px;
        margin-top: var(--gm-space-1);
        color: var(--gm-text-secondary);
        font-size: 12px;
        line-height: 1.45;
        white-space: normal;
    }

    .sidebar .nav-list { display: grid; gap: var(--gm-space-1); }
    .sidebar .nav-link {
        position: relative;
        display: flex;
        align-items: center;
        gap: var(--gm-space-3);
        min-height: 34px;
        padding: 5px 10px;
        border: 1px solid transparent;
        border-radius: var(--gm-radius-sm);
        color: var(--gm-text-secondary);
        background: transparent;
        font-size: 13px;
        font-weight: 500;
        line-height: 1.25;
        text-decoration: none;
        transition: background var(--gm-transition), border-color var(--gm-transition);
    }
    .sidebar .nav-link:hover {
        color: var(--gm-text);
        background: var(--gm-blue-soft);
        border-color: var(--gm-border);
        text-decoration: none;
    }
    .sidebar .nav-link.active {
        color: var(--gm-text);
        background: linear-gradient(90deg, rgba(24, 120, 255, .22), var(--gm-blue-soft));
        border-color: var(--gm-blue);
        font-weight: 750;
    }
    .sidebar .nav-link.active::before {
        content: "";
        position: absolute;
        inset: 8px auto 8px -1px;
        width: 3px;
        border-radius: 4px;
        background: var(--gm-blue);
    }
    .sidebar .gm-nav-icon,
    .sidebar .gm-nav-icon svg {
        display: block;
        flex: 0 0 20px;
        width: 20px;
        height: 20px;
        color: inherit;
    }
    .sidebar .gm-nav-icon svg {
        fill: none;
        stroke: currentColor;
        stroke-width: 1.8;
        stroke-linecap: round;
        stroke-linejoin: round;
    }
    .sidebar .gm-mobile-sidebar-only { display: none; }
    .sidebar .sidebar-spacer { flex: 1 0 8px; }
    .sidebar .sidebar-bottom-area { display: flex; flex: 0 0 auto; flex-direction: column; gap: 6px; }
    .sidebar .subscription-card {
        order: 0;
        display: grid;
        gap: 4px;
        padding: 10px;
        border: 1px solid var(--gm-border);
        border-radius: var(--gm-radius-md);
        background: linear-gradient(145deg, var(--gm-blue-soft), var(--gm-bg));
    }
    .sidebar .subscription-card .eyebrow {
        color: var(--gm-info);
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
    }
    .sidebar .subscription-card strong { color: var(--gm-text); font-size: 14px; }
    .sidebar .subscription-card span:not(.eyebrow) { color: var(--gm-text-secondary); font-size: 12px; }
    .sidebar .subscription-card > a {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 30px;
        margin-top: 4px;
        padding: 5px;
        border: 1px solid var(--gm-blue);
        border-radius: var(--gm-radius-sm);
        color: var(--gm-text);
        background: var(--gm-blue-soft);
        font-size: 12px;
        font-weight: 700;
        text-decoration: none;
    }
    .sidebar .logout-form { order: 1; margin: 0; }
    .sidebar .sidebar-bottom-area .gm-logout-trigger {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-height: 32px;
        padding: 5px;
        border: 1px solid var(--gm-border);
        border-radius: var(--gm-radius-sm);
        color: var(--gm-text-secondary);
        background: var(--gm-surface);
        font-size: 13px;
        font-weight: 700;
        cursor: pointer;
    }
    .sidebar .sidebar-legal-footer {
        order: 2;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 4px;
        margin: 0;
        padding: 4px 0 0;
        border: 0;
        color: var(--gm-text-secondary);
        font-size: 10px;
    }
    .sidebar .sidebar-legal-footer a { color: inherit; text-decoration: underline; }
    .sidebar :is(a, button):focus-visible {
        outline: 2px solid var(--gm-info);
        outline-offset: 3px;
    }
    .sidebar :is(.subscription-card > a, .gm-logout-trigger):hover { background: var(--gm-surface-3); }

    @media (max-height: 760px) {
        .sidebar .nav-link { min-height: 30px; padding-block: 4px; }
        .sidebar .brand { padding-block: 2px 8px; }
    }


/* Confirmação de saída desktop: mesmos handlers e formulário de logout. */

    .gm-logout-modal .gm-logout-backdrop { background: rgba(2, 10, 24, .65); backdrop-filter: blur(4px); }
    .gm-logout-modal .gm-logout-dialog { width: min(410px, 100%); max-height: calc(100dvh - 48px); overflow: auto; padding: 20px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-lg); background: var(--gm-surface); color: var(--gm-text); box-shadow: var(--gm-shadow); }
    .gm-logout-modal .gm-logout-icon { border: 1px solid color-mix(in srgb, var(--gm-action-blue) 25%, transparent); border-radius: var(--gm-radius-sm); background: var(--gm-blue-soft); color: var(--gm-action-blue); }
    .gm-logout-modal h2 { margin: 0 0 8px; color: var(--gm-text); font-size: 18px; line-height: 1.3; }
    .gm-logout-modal p { margin: 0; color: var(--gm-text-secondary); font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
    .gm-logout-modal p strong { color: var(--gm-text); }
    .gm-logout-modal .gm-logout-actions { margin-top: 16px; gap: 10px; }
    .gm-logout-modal .btn { min-height: 38px; padding: 8px 12px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); background: var(--gm-bg); color: var(--gm-text-secondary); box-shadow: none; font-size: 12px; font-weight: 600; }
    .gm-logout-modal .btn-primary { border-color: color-mix(in srgb, var(--gm-action-blue) 25%, transparent); background: var(--gm-blue-soft); color: var(--gm-action-blue); }
    .gm-logout-modal .btn:hover { filter: brightness(1.2); transform: none; }
    .gm-logout-modal .btn:focus-visible { outline: 2px solid var(--gm-info); outline-offset: 3px; }


@media (max-width: 900px) {
    .app-body .main-content { min-width: 0; margin-left: 0; padding: 10px 10px calc(84px + env(safe-area-inset-bottom)); }
    .mobile-topbar { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 4px 10px; border-bottom: 1px solid var(--gm-border); background: var(--gm-sidebar); }
    .gm-mobile-account-greeting { flex: 1; min-width: 0; font-size: 15px; text-align: center; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .menu-toggle, .mobile-page-menu-button { display: grid; place-items: center; width: 44px; height: 44px; padding: 10px; border: 1px solid var(--gm-border); border-radius: 10px; background: var(--gm-blue-soft); color: var(--gm-text); }
    .mobile-page-menu { margin-bottom: 6px; }
    .menu-toggle { font-size: 24px; line-height: 1; }
    .mobile-page-menu svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 2; }
    .notification-bell-mobile { position: relative; display: grid; place-items: center; width: 44px; height: 44px; color: var(--gm-text); }
    .notification-bell-mobile svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; }
    .sidebar { z-index: 2500; width: min(86vw, 300px); padding: 12px; transform: translateX(-100%); visibility: hidden; transition: transform 160ms, visibility 160ms; }
    .sidebar-close { position: absolute; top: 12px; right: 12px; display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--gm-border); border-radius: 10px; background: var(--gm-blue-soft); color: var(--gm-text); }
    .sidebar .brand { padding-right: 44px; }
    .sidebar.is-open { transform: translateX(0); visibility: visible; }
    .sidebar .nav-link { min-height: 44px; font-size: 14px; }
    .sidebar .gm-sidebar-bottom-destination, .sidebar .sidebar-legal-footer { display: none; }
    .sidebar .gm-mobile-sidebar-only { display: flex; }
    .sidebar .sidebar-spacer { min-height: 12px; }
    .sidebar-overlay { position: fixed; z-index: 2400; inset: 0; visibility: hidden; opacity: 0; background: rgba(2,10,24,.65); transition: opacity 160ms; }
    .sidebar-overlay.is-open { visibility: visible; opacity: 1; }
    .gm-sidebar-open { overflow: hidden; }
    .gm-mobile-bottom-nav { position: fixed; z-index: 100; inset: auto 0 0; padding: 4px 4px calc(4px + env(safe-area-inset-bottom)); border-top: 1px solid var(--gm-border); background: var(--gm-sidebar); }
    .gm-mobile-bottom-scroll { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.25fr) repeat(3,minmax(0,1fr)); gap: 2px; overflow-x: auto; scrollbar-width: none; }
    .gm-mobile-bottom-link { display: flex; min-width: 0; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-height: 44px; padding: 4px 0; border: 1px solid transparent; border-radius: 10px; color: var(--gm-text-secondary); font-size: clamp(9.5px,2.75vw,11px); white-space: nowrap; }
    .gm-mobile-bottom-link svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; }
    .gm-mobile-bottom-link.active { border-color: var(--gm-border); background: var(--gm-blue-soft); color: var(--gm-info); }
    .gm-sidebar-open .gm-mobile-bottom-nav { visibility: hidden; }
    .gm-logout-modal, .gm-exp-delete-modal { position: fixed; z-index: 3000; inset: 0; display: grid; place-items: center; padding: 16px; }
    .gm-logout-backdrop, .gm-exp-delete-backdrop { position: absolute; inset: 0; }
    .gm-logout-icon { display: grid; place-items: center; width: 44px; height: 44px; margin: 0 auto 12px; }
    .gm-logout-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; }
    .gm-logout-dialog { position: relative; text-align: center; }
    .gm-logout-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
    .gm-exp-delete-icon { display: grid; place-items: center; }
    .gm-exp-delete-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; }
    .gm-logout-modal .btn, .gm-exp-delete-modal :is(.gm-exp-delete-cancel,.gm-exp-delete-confirm) { min-height: 44px; }
    .gm-exp-delete-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
    .gm-modal-open, .gm-exp-modal-open { overflow: hidden; }
    .gm-mobile-bottom-link:nth-child(n+6) { display: none; }

    .app-body:has(.gm-quick-fab):not(.gm-dashboard-page):not(.gm-receipts-page) .main-content { padding-bottom: calc(142px + env(safe-area-inset-bottom)); }
    :is(.gm-logout-dialog,.gm-exp-delete-card) { padding: 16px; max-height: calc(100dvh - 32px); overflow-y: auto; }

    .app-body [role=dialog] :is(button,.btn,input:not([type=hidden]):not([type=checkbox]):not([type=radio])) { min-height: 44px; }
    .app-body [role=dialog] :is(.gm-modal-close,.gm-account-name-close,.gm-note-view-close) { width: 44px; height: 44px; }
}
/* ==========================================================
   GEST MONTE - RECEBIMENTOS DESKTOP V2 - VISUAL V1
   Escopo: somente desktop >= 901px
   ========================================================== */

@media (min-width: 901px) {

    /* ======================================================
       PÁGINA
       ====================================================== */

    html[data-theme="dark"]
    body.app-body
    .gm-rx-page:where(:not(.gm-ar-page *)) {
        width:
            100% !important;

        max-width:
            none !important;

        margin:
            0 !important;

        color:
            #f8fafc;
    }

    /* ======================================================
       HERO
       ====================================================== */

    html[data-theme="dark"]
    body.app-body
    .gm-rx-header:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        position:
            relative !important;

        isolation:
            isolate;

        display:
            flex !important;

        align-items:
            center !important;

        min-height:
            140px !important;

        margin:
            0 0 16px !important;

        padding:
            24px 27px !important;

        overflow:
            hidden !important;

        border:
            1px solid rgba(96, 165, 250, .14) !important;

        border-radius:
            19px !important;

        background:
            linear-gradient(
                120deg,
                #121f32 0%,
                #0e1b2d 58%,
                #112747 100%
            ) !important;

        box-shadow:
            0 16px 42px rgba(0, 0, 0, .11) !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-header:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *))::after {
        content:
            "";

        position:
            absolute;

        z-index:
            -1;

        right:
            -75px;

        top:
            -110px;

        width:
            490px;

        height:
            300px;

        border-radius:
            50%;

        background:
            radial-gradient(
                ellipse at center,
                rgba(47, 109, 246, .18),
                rgba(47, 109, 246, .05) 44%,
                transparent 72%
            );

        pointer-events:
            none;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-eyebrow:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        display:
            block !important;

        margin:
            0 0 8px !important;

        color:
            #6093ff !important;

        font-size:
            10px !important;

        font-weight:
            850 !important;

        letter-spacing:
            .13em !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-header h1:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        margin:
            0 0 7px !important;

        color:
            #ffffff !important;

        font-size:
            clamp(29px, 2.25vw, 37px) !important;

        font-weight:
            850 !important;

        line-height:
            1.04 !important;

        letter-spacing:
            -.04em !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-header p:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        margin:
            0 !important;

        color:
            #8d9eb5 !important;

        font-size:
            12.5px !important;

        line-height:
            1.5 !important;
    }

    /* ======================================================
       ABAS
       ====================================================== */

    html[data-theme="dark"]
    body.app-body
    .gm-receipts-tabs:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        display:
            inline-flex !important;

        align-items:
            center !important;

        width:
            fit-content !important;

        max-width:
            100% !important;

        gap:
            3px !important;

        margin:
            0 0 14px !important;

        padding:
            4px !important;

        border:
            1px solid rgba(148, 163, 184, .13) !important;

        border-radius:
            12px !important;

        background:
            rgba(15, 27, 45, .90) !important;

        box-shadow:
            inset 0 1px 0 rgba(255,255,255,.02) !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-receipts-tab:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        display:
            inline-flex !important;

        align-items:
            center !important;

        justify-content:
            center !important;

        min-width:
            86px !important;

        min-height:
            35px !important;

        padding:
            7px 13px !important;

        border:
            1px solid transparent !important;

        border-radius:
            9px !important;

        background:
            transparent !important;

        color:
            #91a0b5 !important;

        font-size:
            11px !important;

        font-weight:
            750 !important;

        text-decoration:
            none !important;

        transition:
            color .16s ease,
            background .16s ease,
            border-color .16s ease,
            box-shadow .16s ease !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-receipts-tab:hover:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        color:
            #dce7f5 !important;

        background:
            rgba(255,255,255,.035) !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-receipts-tab.active:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        border-color:
            rgba(96, 165, 250, .30) !important;

        background:
            linear-gradient(
                180deg,
                #3879f7,
                #2864e9
            ) !important;

        color:
            #ffffff !important;

        box-shadow:
            0 6px 18px rgba(37,99,235,.21) !important;
    }

    /* ======================================================
       KPIs
       ====================================================== */

    html[data-theme="dark"]
    body.app-body
    .gm-rx-kpis:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        display:
            grid !important;

        gap:
            12px !important;

        margin:
            0 0 14px !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-kpis-3:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        grid-template-columns:
            repeat(3, minmax(0, 1fr)) !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-kpis-2:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-kpi:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        position:
            relative;

        min-width:
            0 !important;

        min-height:
            112px !important;

        padding:
            16px 17px !important;

        overflow:
            hidden;

        border:
            1px solid rgba(148, 163, 184, .13) !important;

        border-radius:
            15px !important;

        background:
            linear-gradient(
                145deg,
                #121f31,
                #0f1929
            ) !important;

        box-shadow:
            0 10px 28px rgba(0,0,0,.09) !important;

        transition:
            transform .16s ease,
            border-color .16s ease !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-kpi:hover:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        transform:
            translateY(-1px);

        border-color:
            rgba(96,165,250,.22) !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-kpi:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *))::before {
        content:
            "";

        position:
            absolute;

        left:
            0;

        top:
            18px;

        bottom:
            18px;

        width:
            2px;

        border-radius:
            999px;

        opacity:
            .80;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-kpi-green:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *))::before {
        background:
            #20d3a2;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-kpi-warning:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *))::before {
        background:
            #f6bd42;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-kpi-blue:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *))::before {
        background:
            #4d82ff;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-kpi > span:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        display:
            block !important;

        margin:
            0 0 10px !important;

        color:
            #cbd7e6 !important;

        font-size:
            11px !important;

        font-weight:
            750 !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-kpi strong:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        display:
            block !important;

        margin:
            0 0 5px !important;

        font-size:
            clamp(23px, 2vw, 29px) !important;

        font-weight:
            850 !important;

        line-height:
            1 !important;

        letter-spacing:
            -.035em !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-kpi-green strong:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        color:
            #2ee5aa !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-kpi-warning strong:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        color:
            #f6c34b !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-kpi-blue strong:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        color:
            #6593ff !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-kpi small:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        display:
            block !important;

        color:
            #8191a7 !important;

        font-size:
            9.5px !important;

        line-height:
            1.3 !important;
    }

    /* ======================================================
       FILTROS
       ====================================================== */

    html[data-theme="dark"]
    body.app-body
    .gm-rx-filter:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        margin:
            0 0 14px !important;

        padding:
            17px 18px 16px !important;

        border:
            1px solid rgba(148,163,184,.13) !important;

        border-radius:
            16px !important;

        background:
            linear-gradient(
                145deg,
                #111d2f,
                #0e1929
            ) !important;

        box-shadow:
            0 10px 30px rgba(0,0,0,.08) !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-filter-top:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        display:
            flex !important;

        align-items:
            flex-start !important;

        justify-content:
            space-between !important;

        gap:
            20px !important;

        margin:
            0 0 12px !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-filter-top h2:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        margin:
            0 0 3px !important;

        color:
            #f8fafc !important;

        font-size:
            15px !important;

        font-weight:
            800 !important;

        letter-spacing:
            -.02em !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-filter-top p:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        margin:
            0 !important;

        color:
            #7f90a7 !important;

        font-size:
            10px !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-card-pdf-action:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)):where(:not(.gm-report-page *)) {
        display:
            inline-flex !important;

        align-items:
            center !important;

        justify-content:
            center !important;

        gap:
            7px !important;

        min-height:
            37px !important;

        padding:
            8px 12px !important;

        border:
            1px solid #31435e !important;

        border-radius:
            10px !important;

        background:
            #111e30 !important;

        color:
            #dce6f5 !important;

        font-size:
            10.5px !important;

        font-weight:
            750 !important;

        text-decoration:
            none !important;

        transition:
            border-color .16s ease,
            background .16s ease !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-card-pdf-action:hover:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)):where(:not(.gm-report-page *)) {
        border-color:
            #46658c !important;

        background:
            #17263b !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-card-pdf-action svg:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)):where(:not(.gm-report-page *)) {
        width:
            15px !important;

        height:
            15px !important;

        fill:
            none;

        stroke:
            currentColor;

        stroke-width:
            1.7;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-filter-form:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        display:
            grid !important;

        grid-template-columns:
            minmax(260px, 2.1fr)
            minmax(165px, .9fr)
            minmax(165px, .9fr)
            auto !important;

        gap:
            10px !important;

        align-items:
            end !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-field:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        min-width:
            0 !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-field label:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        display:
            block !important;

        margin:
            0 0 5px !important;

        color:
            #bdc9d9 !important;

        font-size:
            9.5px !important;

        font-weight:
            750 !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-field input:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        width:
            100% !important;

        min-height:
            39px !important;

        padding:
            8px 11px !important;

        border:
            1px solid #273951 !important;

        border-radius:
            9px !important;

        background:
            #0c1727 !important;

        color:
            #e8eef7 !important;

        font-size:
            11px !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-field input:focus:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        border-color:
            #4b82f7 !important;

        background:
            #0f1b2d !important;

        box-shadow:
            0 0 0 3px rgba(47,109,246,.11) !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-filter-actions:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        display:
            flex !important;

        align-items:
            center !important;

        gap:
            7px !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-filter-actions button:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)),
html[data-theme="dark"]
    body.app-body
    .gm-rx-filter-actions a:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        display:
            inline-flex !important;

        align-items:
            center !important;

        justify-content:
            center !important;

        min-height:
            39px !important;

        padding:
            8px 13px !important;

        border-radius:
            9px !important;

        font-size:
            10px !important;

        font-weight:
            750 !important;

        text-decoration:
            none !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-filter-actions button:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        border:
            1px solid #3977f5 !important;

        background:
            linear-gradient(
                180deg,
                #3778f7,
                #2863e8
            ) !important;

        color:
            #ffffff !important;

        box-shadow:
            0 6px 17px rgba(37,99,235,.18) !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-filter-actions a:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        border:
            1px solid #293a53 !important;

        background:
            #111d2e !important;

        color:
            #aebbcf !important;
    }

    /* ======================================================
       PAINEL PRINCIPAL
       ====================================================== */

    html[data-theme="dark"]
    body.app-body
    .gm-rx-panel:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {

        border:
            1px solid rgba(148,163,184,.13) !important;

    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-panel-head:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        display:
            flex !important;

        align-items:
            center !important;

        justify-content:
            space-between !important;

        gap:
            20px !important;

        padding:
            14px 17px !important;

        background:
            rgba(18, 31, 49, .72) !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-panel-head > div > span:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        display:
            block !important;

        margin:
            0 0 4px !important;

        color:
            #6092ff !important;

        font-size:
            8.5px !important;

        font-weight:
            850 !important;

        letter-spacing:
            .12em !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-panel-head h2:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        margin:
            0 !important;

        color:
            #f5f8fc !important;

        font-weight:
            800 !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-total-count:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        display:
            grid !important;

        place-items:
            center !important;

        min-width:
            31px !important;

        height:
            31px !important;

        padding:
            0 9px !important;

        border:
            1px solid rgba(96,165,250,.20) !important;

        border-radius:
            9px !important;

        background:
            rgba(37,99,235,.17) !important;

        color:
            #77a5ff !important;

        font-size:
            11px !important;

        font-weight:
            800 !important;
    }

    /* ======================================================
       GRUPOS
       ====================================================== */

    html[data-theme="dark"]
    body.app-body
    .gm-rx-group:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {

        padding:
            13px 16px 15px !important;

    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-group-head:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        display:
            flex !important;

        align-items:
            center !important;

        justify-content:
            space-between !important;

        gap:
            12px !important;

        margin:
            0 0 9px !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-group-head h3:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {

        border:
            1px solid rgba(96,165,250,.20) !important;

        background:
            rgba(37,99,235,.15) !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-group-head > span:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        display:
            grid !important;

        place-items:
            center !important;

        padding:
            0 7px !important;

        border-radius:
            999px !important;

        background:
            rgba(37,99,235,.16) !important;

        font-size:
            9px !important;

        font-weight:
            800 !important;
    }

    /* ======================================================
       TABELAS
       ====================================================== */

    html[data-theme="dark"]
    body.app-body
    .gm-rx-table-wrap:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {

        border:
            1px solid rgba(148,163,184,.11) !important;

        background:
            rgba(9,18,31,.40) !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-table:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        width:
            100% !important;

        border-collapse:
            collapse !important;

        table-layout:
            auto !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-table th:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        padding:
            10px 11px !important;

        background:
            rgba(24, 39, 61, .70) !important;

        font-size:
            8px !important;

        font-weight:
            850 !important;

        letter-spacing:
            .075em !important;

        text-transform:
            uppercase !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-table td:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        padding:
            11px !important;

        color:
            #cdd8e6 !important;

        font-size:
            10.5px !important;

        vertical-align:
            middle !important;
    }

    /* Valores e quantidades são unidades indivisíveis; a origem mantém quebra. */
    html[data-theme="dark"]
    body.app-body
    .gm-rx-table td > strong:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)),
html[data-theme="dark"]
    body.app-body
    .gm-rx-unified-table td > strong:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        white-space: nowrap;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-table tbody tr:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        transition:
            background .14s ease !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-table tbody tr:hover:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        background:
            rgba(59,130,246,.035) !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-origin:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        display:
            grid !important;

        gap:
            3px !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-origin strong:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        color:
            #eff4fb !important;

        font-weight:
            750 !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-origin span:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        max-width:
            360px !important;

        overflow:
            hidden;

        color:
            #718198 !important;

        line-height:
            1.25 !important;

        text-overflow:
            ellipsis;

        white-space:
            nowrap;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-money-positive:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        color:
            #31d9a4 !important;

        font-weight:
            800 !important;
    }

    /* ======================================================
       STATUS
       ====================================================== */

    html[data-theme="dark"]
    body.app-body
    .gm-rx-status:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        display:
            inline-flex !important;

        align-items:
            center !important;

        justify-content:
            center !important;

        min-height:
            23px !important;

        border:
            1px solid transparent !important;

        border-radius:
            999px !important;

        font-size:
            8.5px !important;

        font-weight:
            800 !important;

        white-space:
            nowrap;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-status-ok:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        border-color:
            rgba(45,212,163,.17) !important;

        background:
            rgba(45,212,163,.11) !important;

        color:
            #43dcb0 !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-status-pending:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        border-color:
            rgba(245,185,76,.18) !important;

        background:
            rgba(245,185,76,.11) !important;

        color:
            #f5c65c !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-status-danger:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        border-color:
            rgba(251,113,133,.18) !important;

        background:
            rgba(251,113,133,.11) !important;

        color:
            #fb8495 !important;
    }

    /* ======================================================
       AÇÕES
       ====================================================== */

    html[data-theme="dark"]
    body.app-body
    .gm-rx-actions:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        display:
            flex !important;

        align-items:
            center !important;

        gap:
            5px !important;

        white-space:
            nowrap;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-actions form:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        margin:
            0 !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-action:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        display:
            inline-flex !important;

        align-items:
            center !important;

        justify-content:
            center !important;

        min-height:
            29px !important;

        padding:
            6px 9px !important;

        border:
            1px solid transparent !important;

        border-radius:
            8px !important;

        font-size:
            8.5px !important;

        font-weight:
            800 !important;

        line-height:
            1 !important;

        text-decoration:
            none !important;

        cursor:
            pointer;

        transition:
            transform .14s ease,
            filter .14s ease !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-action:hover:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        transform:
            translateY(-1px);

        filter:
            brightness(1.07);
    }

    /* ======================================================
       PAGINAÇÃO
       ====================================================== */

    html[data-theme="dark"]
    body.app-body
    .gm-rx-pagination:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        display:
            flex !important;

        align-items:
            center !important;

        justify-content:
            flex-end !important;

        gap:
            7px !important;

        margin:
            11px 0 0 !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-pagination a:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)),
html[data-theme="dark"]
    body.app-body
    .gm-rx-pagination span:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        display:
            inline-flex !important;

        align-items:
            center !important;

        justify-content:
            center !important;

        min-height:
            29px !important;

        padding:
            5px 9px !important;

        border:
            1px solid #293a53 !important;

        border-radius:
            8px !important;

        background:
            #101b2c !important;

        color:
            #9bacbf !important;

        font-size:
            9px !important;

        text-decoration:
            none !important;
    }

    /* ======================================================
       ESTADO VAZIO
       ====================================================== */

    html[data-theme="dark"]
    body.app-body
    .gm-rx-empty:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        display:
            flex !important;

        flex-direction:
            column !important;

        align-items:
            center !important;

        justify-content:
            center !important;

        min-height:
            180px !important;

        padding:
            30px !important;

        text-align:
            center !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-empty strong:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        margin-bottom:
            5px !important;

        color:
            #eaf0f8 !important;

        font-size:
            13px !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-empty span:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        color:
            #77889f !important;

        font-size:
            10px !important;
    }

    /* ======================================================
       FAB DE RECEBIMENTOS
       ====================================================== */

    /* ======================================================
       MODAL DE EXCLUSÃO
       ====================================================== */

    html[data-theme="dark"]
    body.app-body
    .gm-rx-delete-modal
    .gm-exp-delete-card {
        border:
            1px solid rgba(148,163,184,.15) !important;

        border-radius:
            18px !important;

        background:
            linear-gradient(
                145deg,
                #141f31,
                #0e1929
            ) !important;

        box-shadow:
            0 30px 80px rgba(0,0,0,.42) !important;
    }

    /* ======================================================
       DESKTOP INTERMEDIÁRIO
       ====================================================== */

    @media (max-width: 1180px) {

        html[data-theme="dark"]
        body.app-body
        .gm-rx-filter-form:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
            grid-template-columns:
                minmax(220px, 1.6fr)
                minmax(145px, .8fr)
                minmax(145px, .8fr)
                auto !important;
        }

        html[data-theme="dark"]
        body.app-body
        .gm-receipts-tab:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
            min-width:
                76px !important;

            padding-left:
                10px !important;

            padding-right:
                10px !important;
        }

    }

}

/* ==========================================================
   FIM - RECEBIMENTOS DESKTOP V2 - VISUAL V1
   ========================================================== */

/* Ações rápidas das demais telas preservadas até sua migração. */
@media (min-width: 901px) {
@media (min-width: 901px) {
html[data-theme="dark"]
    body.app-body
    .gm-rx-page
    .gm-quick-fab:where(:not(body.gm-dashboard-page *)):where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)):where(:not(.gm-notes-page *)) {
        right:
            27px !important;

        bottom:
            22px !important;
    }
html[data-theme="dark"]
    body.app-body
    .gm-rx-page
    .gm-quick-fab > summary:where(:not(body.gm-dashboard-page *)):where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)):where(:not(.gm-notes-page *)) {
        width:
            55px !important;

        height:
            55px !important;

        border:
            1px solid rgba(96,165,250,.28) !important;

        border-radius:
            50% !important;

        background:
            linear-gradient(
                145deg,
                #377bf8,
                #245ee3
            ) !important;

        box-shadow:
            0 13px 32px rgba(37,99,235,.31) !important;
    }
html[data-theme="dark"]
    body.app-body
    .gm-rx-page
    .gm-quick-fab-menu:where(:not(body.gm-dashboard-page *)):where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)):where(:not(.gm-notes-page *)) {
        width:
            330px !important;

        padding:
            9px !important;

        gap:
            7px !important;

        border:
            1px solid rgba(96,165,250,.18) !important;

        border-radius:
            16px !important;

        background:
            rgba(12,23,39,.97) !important;

        box-shadow:
            0 24px 65px rgba(0,0,0,.38) !important;

        backdrop-filter:
            blur(18px);
    }
html[data-theme="dark"]
    body.app-body
    .gm-rx-page
    .gm-quick-action:where(:not(body.gm-dashboard-page *)):where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)):where(:not(.gm-notes-page *)) {
        min-height:
            55px !important;

        padding:
            10px 12px !important;

        border-radius:
            10px !important;
    }
}
}
/* ==========================================================
   GEST MONTE - RECEBIMENTOS DESKTOP V2 - REFINEMENT V2

   Unifica visualmente o bloco "Recebimentos do período".
   Remove aparência de cards aninhados.
   ========================================================== */

@media (min-width: 901px) {

    /* ======================================================
       CARD PRINCIPAL ÚNICO
       ====================================================== */

    html[data-theme="dark"]
    body.app-body
    .gm-rx-panel:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        overflow:
            hidden !important;

        padding:
            0 !important;

        border:
            1px solid rgba(148, 163, 184, .14) !important;

        border-radius:
            16px !important;

        background:
            linear-gradient(
                145deg,
                #111d2f,
                #0d1828
            ) !important;

        box-shadow:
            0 12px 32px rgba(0,0,0,.08) !important;
    }

    /* ======================================================
       CABEÇALHO PRINCIPAL
       ====================================================== */

    html[data-theme="dark"]
    body.app-body
    .gm-rx-panel-head:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        margin-bottom:
            14px !important;

        border:
            1px solid #283b59 !important;

        border-radius:
            14px !important;

        min-height:
            64px !important;

        padding:
            13px 17px !important;

        border-bottom:
            1px solid rgba(148,163,184,.12) !important;

        background:
            rgba(18,31,49,.58) !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-panel-head h2:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        font-size:
            15px !important;
    }

    /* ======================================================
       GRUPOS = SEÇÕES, NÃO CARDS
       ====================================================== */

    html[data-theme="dark"]
    body.app-body
    .gm-rx-group:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        overflow:
            hidden !important;

        width:
            100% !important;

        box-sizing:
            border-box !important;

        margin:
            0 !important;

        padding:
            0 !important;

        border:
            0 !important;

        border-radius:
            0 !important;

        background:
            transparent !important;

        box-shadow:
            none !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-group + .gm-rx-group:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        border-top:
            1px solid rgba(148,163,184,.13) !important;
    }

    /* ======================================================
       CABEÇALHO À VISTA / PARCELADOS
       ====================================================== */

    html[data-theme="dark"]
    body.app-body
    .gm-rx-group-head:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        box-sizing:
            border-box !important;

        min-height:
            48px !important;

        margin:
            0 !important;

        padding:
            10px 16px !important;

        border-bottom:
            1px solid rgba(148,163,184,.09) !important;

        background:
            rgba(16, 29, 47, .46) !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-group-head h3:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        display:
            inline-flex !important;

        align-items:
            center !important;

        min-height:
            26px !important;

        margin:
            0 !important;

        padding:
            5px 10px !important;

        border:
            1px solid rgba(96,165,250,.19) !important;

        border-radius:
            8px !important;

        background:
            rgba(37,99,235,.14) !important;

        color:
            #91b7ff !important;

        font-size:
            10px !important;

        font-weight:
            800 !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-group-head > span:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        min-width:
            25px !important;

        height:
            25px !important;

        background:
            rgba(37,99,235,.13) !important;

        color:
            #79a6ff !important;
    }

    /* ======================================================
       TABELA INTEGRADA AO CARD
       ====================================================== */

    html[data-theme="dark"]
    body.app-body
    .gm-rx-table-wrap:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        width:
            100% !important;

        margin:
            0 !important;

        overflow:
            hidden !important;

        border:
            0 !important;

        border-radius:
            0 !important;

        background:
            transparent !important;

        box-shadow:
            none !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-table:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        margin:
            0 !important;

        background:
            transparent !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-table th:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        height:
            35px !important;

        padding:
            9px 16px !important;

        border:
            0 !important;

        border-bottom:
            1px solid rgba(148,163,184,.10) !important;

        background:
            rgba(29, 45, 69, .43) !important;

        color:
            #71839c !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-table td:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        height:
            50px !important;

        padding:
            10px 16px !important;

        border:
            0 !important;

        border-bottom:
            1px solid rgba(148,163,184,.075) !important;

        background:
            transparent !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-table tbody tr:last-child td:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        border-bottom:
            0 !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-table tbody tr:hover:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        background:
            rgba(59,130,246,.04) !important;
    }

    /* ======================================================
       PRIMEIRA COLUNA COM MAIS HIERARQUIA
       ====================================================== */

    html[data-theme="dark"]
    body.app-body
    .gm-rx-origin strong:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        color:
            #edf3fb !important;

        font-size:
            10.5px !important;

        font-weight:
            800 !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-origin span:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        margin-top:
            1px !important;

        color:
            #687b94 !important;

        font-size:
            8.5px !important;
    }

    /* ======================================================
       STATUS / AÇÕES - MENOS "BOTÕES SOLTOS"
       ====================================================== */

    html[data-theme="dark"]
    body.app-body
    .gm-rx-status:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        min-height:
            22px !important;

        padding:
            4px 8px !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-action:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        min-height:
            28px !important;

        padding:
            5px 9px !important;

        border-radius:
            7px !important;
    }

    /* ======================================================
       PAGINAÇÃO DENTRO DO MESMO BLOCO
       ====================================================== */

    html[data-theme="dark"]
    body.app-body
    .gm-rx-pagination:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        margin:
            0 !important;

        padding:
            10px 16px !important;

        border-top:
            1px solid rgba(148,163,184,.08) !important;
    }

    /* ======================================================
       CASO A ABA TENHA APENAS UM GRUPO
       ====================================================== */

    html[data-theme="dark"]
    body.app-body
    .gm-rx-panel
    > .gm-rx-group:last-child:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        border-bottom:
            0 !important;
    }

}

/* ==========================================================
   FIM - RECEBIMENTOS DESKTOP V2 - REFINEMENT V2
   ========================================================== */

/* ==========================================================
   GEST MONTE - RECEBIMENTOS UNIFIED TABLE V3
   Somente desktop >= 901px
   ========================================================== */

@media (min-width: 901px) {

    /* Oculta os dois grupos antigos apenas nas abas agregadas. */

    html[data-theme="dark"]
    body.app-body
    .gm-rx-panel-todos
    > .gm-rx-group:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)),
html[data-theme="dark"]
    body.app-body
    .gm-rx-panel-recebidos
    > .gm-rx-group:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        display:
            none !important;
    }

    /* ======================================================
       CONTAINER
       ====================================================== */

    html[data-theme="dark"]
    body.app-body
    .gm-rx-unified-desktop:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        width:
            100% !important;

        margin:
            0 !important;

        padding:
            0 !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-unified-table-wrap:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        width:
            100% !important;

        overflow-x:
            auto !important;

        background:
            transparent !important;
    }

    /* ======================================================
       TABELA
       ====================================================== */

    html[data-theme="dark"]
    body.app-body
    .gm-rx-unified-table:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        width:
            100% !important;

        margin:
            0 !important;

        border:
            0 !important;

        border-collapse:
            collapse !important;

        table-layout:
            auto !important;

        background:
            transparent !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-unified-table th:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        height:
            38px !important;

        padding:
            10px 15px !important;

        border:
            0 !important;

        border-bottom:
            1px solid rgba(148,163,184,.12) !important;

        background:
            rgba(27, 43, 66, .62) !important;

        color:
            #74869e !important;

        font-size:
            8px !important;

        font-weight:
            850 !important;

        line-height:
            1 !important;

        letter-spacing:
            .075em !important;

        text-align:
            left !important;

        text-transform:
            uppercase !important;

        white-space:
            nowrap !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-unified-table td:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        height:
            58px !important;

        padding:
            10px 15px !important;

        border:
            0 !important;

        border-bottom:
            1px solid rgba(148,163,184,.085) !important;

        background:
            transparent !important;

        color:
            #cad5e4 !important;

        font-size:
            10.5px !important;

        vertical-align:
            middle !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-unified-table
    tbody tr:last-child td:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        border-bottom:
            0 !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-unified-table
    tbody tr:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        transition:
            background .14s ease !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-unified-table
    tbody tr:hover:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        background:
            rgba(59,130,246,.04) !important;
    }

    /* ======================================================
       PROPORÇÕES DAS COLUNAS
       ====================================================== */

    html[data-theme="dark"]
    body.app-body
    .gm-rx-unified-table
    th:nth-child(1):where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        width:
            105px !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-unified-table
    th:nth-child(2):where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        width:
            30% !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-unified-table
    th:nth-child(3):where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        width:
            105px !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-unified-table
    th:nth-child(4):where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        width:
            85px !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-unified-table
    th:nth-child(5):where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        width:
            120px !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-unified-table
    th:nth-child(6):where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        width:
            115px !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-unified-table
    th:nth-child(7):where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        width:
            205px !important;
    }

    /* ======================================================
       PILL DO TIPO
       ====================================================== */

    html[data-theme="dark"]
    body.app-body
    .gm-rx-type:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        display:
            inline-flex !important;

        align-items:
            center !important;

        justify-content:
            center !important;

        min-height:
            24px !important;

        padding:
            4px 8px !important;

        border:
            1px solid transparent !important;

        border-radius:
            7px !important;

        font-size:
            8.5px !important;

        font-weight:
            800 !important;

        white-space:
            nowrap !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-type-cash:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        border-color:
            rgba(45,212,163,.17) !important;

        background:
            rgba(45,212,163,.10) !important;

        color:
            #40dab0 !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-type-installment:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        border-color:
            rgba(96,165,250,.19) !important;

        background:
            rgba(37,99,235,.13) !important;

        color:
            #81aaff !important;
    }

    /* ======================================================
       DADOS
       ====================================================== */

    html[data-theme="dark"]
    body.app-body
    .gm-rx-unified-neutral:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        color:
            #586b84 !important;

        font-weight:
            700 !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-installment-count:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        color:
            #cdd8e6 !important;

        font-weight:
            750 !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-unified-table
    td:nth-child(5)
    > strong:not(.gm-rx-money-positive):where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        color:
            #edf3fa !important;

        font-weight:
            800 !important;
    }

    /* ======================================================
       AÇÕES
       ====================================================== */

    html[data-theme="dark"]
    body.app-body
    .gm-rx-unified-table
    .gm-rx-actions:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        justify-content:
            flex-start !important;

        gap:
            5px !important;
    }

    /* ======================================================
       PAGINAÇÃO
       ====================================================== */

    html[data-theme="dark"]
    body.app-body
    .gm-rx-unified-pagination:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        display:
            flex !important;

        align-items:
            center !important;

        justify-content:
            flex-end !important;

        flex-wrap:
            wrap !important;

        gap:
            10px !important;

        padding:
            10px 15px !important;

        border-top:
            1px solid rgba(148,163,184,.09) !important;

        background:
            rgba(13,24,40,.34) !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-unified-pager:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        display:
            inline-flex !important;

        align-items:
            center !important;

        gap:
            5px !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-unified-pager > *:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        display:
            inline-flex !important;

        align-items:
            center !important;

        justify-content:
            center !important;

        min-height:
            27px !important;

        padding:
            4px 8px !important;

        border:
            1px solid #283a53 !important;

        border-radius:
            7px !important;

        background:
            #101b2c !important;

        color:
            #91a2b8 !important;

        font-size:
            8.5px !important;

        text-decoration:
            none !important;
    }

    html[data-theme="dark"]
    body.app-body
    .gm-rx-unified-pager
    .gm-rx-unified-pager-label:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        border-color:
            transparent !important;

        background:
            transparent !important;

        color:
            #657992 !important;

        font-weight:
            750 !important;
    }

}

/* ==========================================================
   FIM - RECEBIMENTOS UNIFIED TABLE V3
   ========================================================== */

/* Confirmação de exclusão compartilhada; cartões substituem a tabela no celular. */
@media (min-width: 901px) {
    html[data-theme="dark"] body.app-body .gm-exp-page { width: 100% !important; max-width: none !important; margin: 0 !important; }
    .gm-exp-mobile { display: none; }
}
@media (min-width: 0px) {
    .gm-exp-delete-modal .gm-exp-delete-backdrop { background: rgba(2, 10, 24, .65); backdrop-filter: blur(4px); }
    .gm-exp-delete-modal .gm-exp-delete-card { position: relative; width: min(440px, 100%); max-height: calc(100dvh - 48px); overflow: auto; padding: 20px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-lg); background: var(--gm-surface); color: var(--gm-text); box-shadow: var(--gm-shadow); }
    .gm-exp-delete-modal .gm-exp-delete-icon { width: 44px; height: 44px; margin-bottom: 14px; border: 1px solid color-mix(in srgb, var(--gm-action-red) 25%, transparent); border-radius: var(--gm-radius-sm); background: var(--gm-red-soft); color: var(--gm-action-red); }
    .gm-exp-delete-modal h2 { color: var(--gm-text); font-size: 18px; line-height: 1.3; }
    .gm-exp-delete-modal p { color: var(--gm-text-secondary); font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
    .gm-exp-delete-modal .gm-exp-delete-warning { margin-top: 12px; padding: 12px; border: 1px solid color-mix(in srgb, var(--gm-action-red) 25%, transparent); border-radius: var(--gm-radius-sm); background: var(--gm-red-soft); color: var(--gm-action-red); box-shadow: none; }
    .gm-exp-delete-modal .gm-exp-delete-actions { margin-top: 16px; gap: 10px; }
    .gm-exp-delete-modal :is(.gm-exp-delete-cancel, .gm-exp-delete-confirm) { min-height: 38px; padding: 8px 12px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); background: var(--gm-bg); color: var(--gm-text-secondary); font-size: 12px; font-weight: 600; }
    .gm-exp-delete-modal .gm-exp-delete-confirm { border-color: color-mix(in srgb, var(--gm-action-red) 25%, transparent); background: var(--gm-red-soft); color: var(--gm-action-red); }
    .gm-exp-delete-modal :is(.gm-exp-delete-cancel, .gm-exp-delete-confirm):hover { filter: brightness(1.2); }
    .gm-exp-delete-modal :is(.gm-exp-delete-cancel, .gm-exp-delete-confirm):focus-visible { outline: 2px solid var(--gm-info); outline-offset: 3px; }

}
/* ==========================================================
   GEST MONTE - DESKTOP V2 - ACTION SYSTEM CANONICAL

   detail  = azul secundário
   edit    = azul
   success = verde
   delete  = vermelho
   ========================================================== */

@media (min-width: 901px) {

    .gm-v2-action-detail:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)),
.gm-v2-action-edit:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)),
.gm-v2-action-success:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)),
.gm-v2-action-delete:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        display:
            inline-flex !important;

        align-items:
            center !important;

        justify-content:
            center !important;

        min-height:
            28px !important;

        padding:
            5px 9px !important;

        border:
            1px solid transparent !important;

        border-radius:
            7px !important;

        font-size:
            8.5px !important;

        font-weight:
            800 !important;

        line-height:
            1 !important;

        text-decoration:
            none !important;

        box-shadow:
            none !important;

        transition:
            transform .14s ease,
            filter .14s ease !important;
    }

    .gm-v2-action-detail:hover:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)),
.gm-v2-action-edit:hover:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)),
.gm-v2-action-success:hover:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)),
.gm-v2-action-delete:hover:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        transform:
            translateY(-1px) !important;

        filter:
            brightness(1.08) !important;

        text-decoration:
            none !important;
    }

    /* DETALHES */

    .gm-v2-action-detail:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        border-color:
            rgba(96,165,250,.17) !important;

        background:
            rgba(71,85,105,.26) !important;

        color:
            #b7c9e8 !important;

        -webkit-text-fill-color:
            #b7c9e8 !important;
    }

    /* EDITAR */

    .gm-v2-action-edit:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        border-color:
            rgba(96,165,250,.22) !important;

        background:
            rgba(37,99,235,.17) !important;

        color:
            #78a5ff !important;

        -webkit-text-fill-color:
            #78a5ff !important;
    }

    /* RECEBER */

    .gm-v2-action-success:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        border-color:
            rgba(45,212,163,.22) !important;

        background:
            rgba(45,212,163,.13) !important;

        color:
            #43dcb0 !important;

        -webkit-text-fill-color:
            #43dcb0 !important;
    }

    /* EXCLUIR */

    .gm-v2-action-delete:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        border-color:
            rgba(251,113,133,.18) !important;

        background:
            rgba(251,113,133,.13) !important;

        color:
            #fb8797 !important;

        -webkit-text-fill-color:
            #fb8797 !important;
    }

    /* KPI VENCIDOS */

    .gm-rx-page
    .gm-rx-kpi.gm-v2-kpi-overdue:where(:not(.gm-receipts-v2 *, .gm-ar-page *, .gm-exp-page *)) {
        border-left:
            2px solid #ff5364 !important;
    }

}

/* ==========================================================
   FIM - DESKTOP V2 - ACTION SYSTEM CANONICAL
   ========================================================== */

/* Ações rápidas compartilhadas nas telas migradas. */
@media (min-width: 0px) {
    :where(body.gm-dashboard-page, .gm-receipts-v2, .gm-ar-page, .gm-exp-page, .gm-notes-page) .gm-quick-fab { position: fixed; z-index: 2500; right: 24px; bottom: 24px; }
    :where(body.gm-dashboard-page, .gm-receipts-v2, .gm-ar-page, .gm-exp-page, .gm-notes-page) .gm-quick-fab > summary { position: relative; z-index: 2; display: grid; place-items: center; width: 52px; height: 52px; margin: 0; padding: 0; list-style: none; border: 1px solid var(--gm-info); border-radius: 50%; background: var(--gm-blue); color: white; box-shadow: 0 8px 28px var(--gm-blue-soft); cursor: pointer; }
    :where(body.gm-dashboard-page, .gm-receipts-v2, .gm-ar-page, .gm-exp-page, .gm-notes-page) .gm-quick-fab > summary::marker { content: ""; }
    :where(body.gm-dashboard-page, .gm-receipts-v2, .gm-ar-page, .gm-exp-page, .gm-notes-page) .gm-quick-fab > summary::-webkit-details-marker { display: none; }
    :where(body.gm-dashboard-page, .gm-receipts-v2, .gm-ar-page, .gm-exp-page, .gm-notes-page) .gm-quick-fab-plus { position: relative; display: block; width: 28px; height: 28px; transition: transform var(--gm-transition); }
    :where(body.gm-dashboard-page, .gm-receipts-v2, .gm-ar-page, .gm-exp-page, .gm-notes-page) .gm-quick-fab-plus::before,
:where(body.gm-dashboard-page, .gm-receipts-v2, .gm-ar-page, .gm-exp-page, .gm-notes-page) .gm-quick-fab-plus::after { content: ""; position: absolute; top: 50%; left: 50%; width: 28px; height: 2px; border-radius: 2px; background: currentColor; transform: translate(-50%, -50%); }
    :where(body.gm-dashboard-page, .gm-receipts-v2, .gm-ar-page, .gm-exp-page, .gm-notes-page) .gm-quick-fab-plus::after { transform: translate(-50%, -50%) rotate(90deg); }
    :where(body.gm-dashboard-page, .gm-receipts-v2, .gm-ar-page, .gm-exp-page, .gm-notes-page) .gm-quick-fab[open] .gm-quick-fab-plus { transform: rotate(45deg); }
    :where(body.gm-dashboard-page, .gm-receipts-v2, .gm-ar-page, .gm-exp-page, .gm-notes-page) .gm-quick-fab-backdrop { position: fixed; z-index: 0; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; background: rgba(2, 10, 24, .4); backdrop-filter: blur(4px); cursor: default; }
    :where(body.gm-dashboard-page, .gm-receipts-v2, .gm-ar-page, .gm-exp-page, .gm-notes-page) .gm-quick-fab-menu { position: absolute; z-index: 1; right: 0; bottom: calc(100% + 16px); display: grid; gap: 8px; width: min(380px, calc(100vw - 48px)); max-height: calc(100dvh - 132px); overflow-y: auto; padding: 12px; border: 1px solid var(--gm-blue); border-radius: var(--gm-radius-lg); background: var(--gm-surface); box-shadow: var(--gm-shadow); }
    :where(body.gm-dashboard-page, .gm-receipts-v2, .gm-ar-page, .gm-exp-page, .gm-notes-page) .gm-quick-fab:not([open]) .gm-quick-fab-menu,
:where(body.gm-dashboard-page, .gm-receipts-v2, .gm-ar-page, .gm-exp-page, .gm-notes-page) .gm-quick-fab:not([open]) .gm-quick-fab-backdrop { display: none; }
    :where(body.gm-dashboard-page, .gm-receipts-v2, .gm-ar-page, .gm-exp-page, .gm-notes-page) .gm-quick-action { --action-color: var(--gm-blue); --action-soft: var(--gm-blue-soft); display: grid; grid-template-columns: 36px minmax(0, 1fr) 18px; column-gap: 10px; align-items: center; min-height: 62px; padding: 8px; border: 1px solid var(--action-color); border-radius: var(--gm-radius-md); background: linear-gradient(120deg, var(--action-soft), var(--gm-bg)); color: var(--gm-text); text-decoration: none; transition: border-color var(--gm-transition), background var(--gm-transition); }
    :where(body.gm-dashboard-page, .gm-receipts-v2, .gm-ar-page, .gm-exp-page, .gm-notes-page) .gm-quick-action-out { --action-color: var(--gm-red); --action-soft: var(--gm-red-soft); }
    :where(body.gm-dashboard-page, .gm-receipts-v2, .gm-ar-page, .gm-exp-page, .gm-notes-page) .gm-quick-action-expense { --action-color: var(--gm-yellow); --action-soft: var(--gm-yellow-soft); }
    :where(body.gm-dashboard-page, .gm-receipts-v2, .gm-ar-page, .gm-exp-page, .gm-notes-page) .gm-quick-action-income { --action-color: var(--gm-green); --action-soft: var(--gm-green-soft); }
    :where(body.gm-dashboard-page, .gm-receipts-v2, .gm-ar-page, .gm-exp-page, .gm-notes-page) .gm-quick-action-icon { grid-row: 1 / 3; display: grid; place-items: center; width: 36px; height: 36px; border-radius: var(--gm-radius-sm); background: var(--action-soft); color: var(--action-color); }
    :where(body.gm-dashboard-page, .gm-receipts-v2, .gm-ar-page, .gm-exp-page, .gm-notes-page) .gm-quick-action strong { grid-column: 2; font-size: 14px; line-height: 1.4; }
    :where(body.gm-dashboard-page, .gm-receipts-v2, .gm-ar-page, .gm-exp-page, .gm-notes-page) .gm-quick-action span { grid-column: 2; margin-top: 2px; color: var(--gm-text-secondary); font-size: 11px; line-height: 1.4; }
    :where(body.gm-dashboard-page, .gm-receipts-v2, .gm-ar-page, .gm-exp-page, .gm-notes-page) .gm-quick-action-chevron { grid-column: 3; grid-row: 1 / 3; color: var(--gm-text-secondary); }
    :where(body.gm-dashboard-page, .gm-receipts-v2, .gm-ar-page, .gm-exp-page, .gm-notes-page) .gm-quick-action-chevron svg { width: 18px; height: 18px; }
    :where(body.gm-dashboard-page, .gm-receipts-v2, .gm-ar-page, .gm-exp-page, .gm-notes-page) .gm-quick-action:hover { border-color: var(--gm-text-secondary); background: var(--action-soft); }
    :where(body.gm-dashboard-page, .gm-receipts-v2, .gm-ar-page, .gm-exp-page, .gm-notes-page) .gm-quick-action:focus-visible,
:where(body.gm-dashboard-page, .gm-receipts-v2, .gm-ar-page, .gm-exp-page, .gm-notes-page) .gm-quick-fab > summary:focus-visible { outline: 2px solid var(--gm-info); outline-offset: 3px; }
}

@media (max-width: 900px) {
    .gm-sidebar-open .gm-quick-fab { visibility: hidden; }
    .gm-quick-fab { right: 14px; bottom: calc(72px + env(safe-area-inset-bottom)); }
    .gm-quick-fab-menu { width: min(380px, calc(100vw - 28px)); max-height: calc(100dvh - 174px); overflow-y: auto; }
    .gm-quick-action { min-height: 56px; }
    .gm-quick-action small { white-space: normal; }
    .gm-quick-fab:not(.gm-quick-fab-dashboard) { right: 12px; bottom: calc(68px + env(safe-area-inset-bottom)); }
    .gm-quick-fab:not(.gm-quick-fab-dashboard) .gm-quick-fab-menu { bottom: calc(100% + 10px); width: min(340px,calc(100vw - 24px)); max-height: calc(100dvh - 144px - env(safe-area-inset-bottom)); padding: 10px; gap: 6px; }

}
/* Resumos e filtros desktop das listagens financeiras. Valores e ações vêm dos templates existentes. */
@media (min-width: 0px) {
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-header, .gm-exp-page .gm-exp-hero {
        position: relative;
        isolation: isolate;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 17px;
        min-height: 124px;
        margin: 0 0 14px;
        padding: 23px;
        overflow: hidden;
        border: 1px solid var(--gm-border);
        border-radius: var(--gm-radius-md);
        background: linear-gradient(115deg, var(--gm-surface), var(--gm-bg));
        box-shadow: var(--gm-shadow-soft);
    }
    .gm-ledger-period-card { display: flex; flex-shrink: 0; align-items: center; gap: 10px; padding: 13px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); background: var(--gm-blue-soft); color: var(--gm-text); }
    .gm-ledger-period-card > div { display: grid; gap: 6px; }
    .gm-ledger-period-card span { color: var(--gm-text-secondary); font-size: 11px; }
    .gm-ledger-period-card strong { color: var(--gm-text); font-size: 12px; white-space: nowrap; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-header::after, .gm-exp-page .gm-exp-hero::after {
        content: "";
        position: absolute;
        z-index: -1;
        inset: 0 0 0 38%;
        opacity: .7;
        background: url("../img/financial-wave.svg") right bottom / cover no-repeat;
        pointer-events: none;
    }
    .gm-exp-page .gm-exp-hero::after { filter: hue-rotate(125deg); }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-header::before, .gm-exp-page .gm-exp-hero::before { content: none; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-header > div, .gm-exp-page .gm-exp-hero > div { min-width: 0; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-eyebrow, .gm-exp-page .gm-exp-eyebrow { display: block; margin: 0 0 8px; color: var(--gm-info); font-size: 12px; font-weight: 700; letter-spacing: .12em; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-header h1, .gm-exp-page .gm-exp-hero h1 { margin: 0 0 8px; color: var(--gm-text); font-size: clamp(23px, 3vw, 35px); font-weight: 800; line-height: 1.12; letter-spacing: -.035em; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-header p, .gm-exp-page .gm-exp-hero p { margin: 0; color: var(--gm-text-secondary); font-size: 16px; line-height: 1.5; }

    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-kpis, .gm-exp-page .gm-exp-kpis { display: grid; gap: 13px; margin: 0 0 14px; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-kpis-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-kpis-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gm-exp-page .gm-exp-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-kpi, .gm-exp-page .gm-exp-kpi {
        --ledger-color: var(--gm-info);
        --ledger-soft: var(--gm-info-soft);
        position: relative;
        isolation: isolate;
        gap: 10px;
        min-width: 0;
        min-height: 112px;
        margin: 0;
        padding: 14px;
        overflow: hidden;
        border: 1px solid var(--gm-border);
        border-radius: var(--gm-radius-md);
        background: linear-gradient(135deg, var(--gm-surface), var(--gm-bg));
        box-shadow: var(--gm-shadow-soft);
    }
    .gm-exp-page .gm-exp-kpi { display: flex; flex-direction: column; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-kpi { display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 13px; row-gap: 8px; align-content: start; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-ledger-kpi-icon { grid-row: 1 / 4; display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--ledger-color); border-radius: var(--gm-radius-sm); background: var(--ledger-soft); color: var(--ledger-color); }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-kpi > :is(span, strong, small) { grid-column: 2; }
    .gm-exp-page .gm-exp-kpi-icon-total > svg:not(.gm-outline-icon) { display: none; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-kpi-green, .gm-exp-page .gm-exp-kpi:nth-child(4) { --ledger-color: var(--gm-green); --ledger-soft: var(--gm-green-soft); }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-kpi-warning, .gm-exp-page .gm-exp-kpi:nth-child(1), .gm-exp-page .gm-exp-kpi:nth-child(3) { --ledger-color: var(--gm-yellow); --ledger-soft: var(--gm-yellow-soft); }
    .gm-ar-page .gm-rx-kpi-danger { --ledger-color: var(--gm-red); --ledger-soft: var(--gm-red-soft); }
    .gm-exp-page .gm-exp-kpi-overdue { --ledger-color: var(--gm-red); --ledger-soft: var(--gm-red-soft); }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-kpi::after, .gm-exp-page .gm-exp-kpi::after { content: ""; position: absolute; z-index: -1; right: 0; bottom: 0; width: 48%; height: 66%; opacity: .2; background: var(--ledger-color); mask: url("../img/financial-wave.svg") center bottom / 100% 100% no-repeat; pointer-events: none; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-kpi > span { display: block; color: var(--gm-text); font-size: 15px; font-weight: 600; line-height: 1.4; }
    .gm-exp-page .gm-exp-kpi-head { display: flex; align-items: center; gap: 10px; margin: 0; }
    .gm-exp-page .gm-exp-kpi-head > span { color: var(--gm-text); font-size: 14px; font-weight: 600; line-height: 1.4; }
    .gm-exp-page .gm-exp-kpi-icon { order: -1; display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; margin: 0; border: 1px solid var(--ledger-color); border-radius: var(--gm-radius-sm); background: var(--ledger-soft); color: var(--ledger-color); }
    .gm-exp-page .gm-exp-kpi-icon svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-kpi > strong, .gm-exp-page .gm-exp-kpi > strong { display: block; margin: 0; color: var(--ledger-color); font-size: clamp(19px, 2.3vw, 29px); font-weight: 800; line-height: 1.15; letter-spacing: -.025em; white-space: nowrap; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-kpi > small, .gm-exp-page .gm-exp-kpi > small { display: block; margin-top: auto; color: var(--gm-text-secondary); font-size: 12px; line-height: 1.4; }

    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-filter, .gm-exp-page .gm-exp-filter-card { display: block; margin: 0 0 14px; padding: 17px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-md); background: linear-gradient(135deg, var(--gm-surface), var(--gm-bg)); box-shadow: var(--gm-shadow-soft); }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-filter-top { display: flex; align-items: center; justify-content: space-between; gap: 13px; margin-bottom: 13px; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-filter-top h2, .gm-exp-page .gm-exp-section-heading h2 { margin: 0 0 6px; color: var(--gm-text); font-size: 17px; line-height: 1.3; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-filter-top p, .gm-exp-page .gm-exp-section-heading p { margin: 0; color: var(--gm-text-secondary); font-size: 13px; line-height: 1.5; }
    .gm-exp-page .gm-exp-section-heading { display: block; margin: 0 0 13px; }
    .gm-exp-page .gm-exp-section-label { display: block; margin: 0 0 6px; color: var(--gm-info); font-size: 11px; font-weight: 700; letter-spacing: .1em; }
    .gm-exp-page .gm-exp-filter-pdf-mobile { display: none; }
    .gm-ar-page .gm-rx-ar-filter-form { display: grid; grid-template-columns: minmax(180px, 2fr) minmax(180px, 1fr) auto; align-items: end; gap: 13px; margin: 0; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-filter-form, .gm-exp-page .gm-exp-filter-form { display: grid; grid-template-columns: minmax(180px, 2fr) minmax(150px, 1fr) minmax(150px, 1fr) auto; align-items: end; gap: 13px; margin: 0; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-field, .gm-exp-page .gm-exp-field { display: grid; gap: 8px; min-width: 0; margin: 0; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-field label, .gm-exp-page .gm-exp-field label { display: block; margin: 0; color: var(--gm-text); font-size: 13px; font-weight: 600; }
    .gm-ar-page .gm-rx-field select, :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-field input, .gm-exp-page .gm-exp-field input { display: block; width: 100%; min-width: 0; height: 48px; margin: 0; padding: 10px 11px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); background: var(--gm-bg); color: var(--gm-text); font: inherit; font-size: 14px; box-shadow: none; color-scheme: dark; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-field input::placeholder, .gm-exp-page .gm-exp-field input::placeholder { color: var(--gm-muted); }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-filter-actions, .gm-exp-page .gm-exp-filter-actions { display: flex; align-items: center; gap: 10px; margin: 0; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-filter-actions > *, .gm-exp-page .gm-exp-filter-actions > * { display: inline-flex; align-items: center; justify-content: center; min-width: 88px; height: 48px; margin: 0; padding: 10px 13px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); background: var(--gm-bg); color: var(--gm-text); font: inherit; font-size: 13px; font-weight: 600; text-decoration: none; cursor: pointer; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-filter-actions button, .gm-exp-page .gm-exp-filter-submit { border-color: var(--gm-blue); background: var(--gm-blue); color: white; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-card-pdf-action:where(:not(.gm-report-page *)) { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 36px; padding: 10px 13px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); background: var(--gm-bg); color: var(--gm-text); font-size: 13px; font-weight: 600; text-decoration: none; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-card-pdf-action svg:where(:not(.gm-report-page *)) { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-filter-actions > *:hover,
.gm-exp-page .gm-exp-filter-actions > *:hover,
:is(.gm-receipts-v2, .gm-ar-page) .gm-card-pdf-action:hover:where(:not(.gm-report-page *)) { filter: brightness(1.15); }
    .gm-ar-page .gm-rx-field select:focus-visible,
:is(.gm-receipts-v2, .gm-ar-page) .gm-rx-field input:focus-visible,
.gm-exp-page .gm-exp-field input:focus-visible,
:is(.gm-receipts-v2, .gm-ar-page) .gm-rx-filter-actions > *:focus-visible,
.gm-exp-page .gm-exp-filter-actions > *:focus-visible,
:is(.gm-receipts-v2, .gm-ar-page) .gm-card-pdf-action:focus-visible:where(:not(.gm-report-page *)) { outline: 2px solid var(--gm-info); outline-offset: 3px; }
}
@media (min-width: 901px) and (max-width: 1180px) {
    .gm-exp-page .gm-exp-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gm-ar-page .gm-rx-ar-filter-form { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-filter-form, .gm-exp-page .gm-exp-filter-form { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr); }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-filter-actions, .gm-exp-page .gm-exp-filter-actions { grid-column: 1 / -1; justify-content: flex-end; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-kpi > strong, .gm-exp-page .gm-exp-kpi > strong { font-size: 22px; }
}

/* Tabelas, estados e ações desktop das listagens financeiras. */
@media (min-width: 0px) {
    :is(.gm-receipts-v2, .gm-ar-page) .gm-receipts-tabs, .gm-exp-page .gm-exp-status-tabs { display: flex; align-items: stretch; width: max-content; max-width: 100%; gap: 0; margin: 0 0 13px; padding: 3px; overflow-x: auto; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); background: var(--gm-bg); }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-receipts-tab, .gm-exp-page .gm-exp-status-tab { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; min-height: 36px; min-width: 100px; margin: 0; padding: 8px 14px; border: 0; border-radius: var(--gm-radius-xs); background: transparent; color: var(--gm-text-secondary); font-size: 13px; font-weight: 600; line-height: 1.4; text-decoration: none; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-receipts-tab.active, .gm-exp-page .gm-exp-status-tab.is-active { background: var(--gm-blue); color: white; box-shadow: 0 4px 16px var(--gm-blue-soft); }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-receipts-tab:hover, .gm-exp-page .gm-exp-status-tab:hover { background: var(--gm-blue-soft); color: var(--gm-text); }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-receipts-tab.active:hover, .gm-exp-page .gm-exp-status-tab.is-active:hover { background: var(--gm-blue); }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-panel, .gm-exp-page .gm-exp-list-card { display: block; min-width: 0; margin: 0; padding: 17px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-md); background: linear-gradient(135deg, var(--gm-surface), var(--gm-bg)); box-shadow: var(--gm-shadow-soft); overflow: visible; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-panel-head, .gm-exp-page .gm-exp-list-heading { display: flex; align-items: center; justify-content: space-between; gap: 13px; margin: 0 0 14px; padding: 0; border: 0; background: transparent; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-panel-head > div > span { display: block; margin-bottom: 6px; color: var(--gm-info); font-size: 11px; font-weight: 700; letter-spacing: .1em; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-panel-head h2, .gm-exp-page .gm-exp-list-heading h2 { margin: 0 0 6px; color: var(--gm-text); font-size: 17px; line-height: 1.3; }
    .gm-exp-page .gm-exp-list-heading p { margin: 0; color: var(--gm-text-secondary); font-size: 13px; line-height: 1.5; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-total-count { display: inline-flex; align-items: center; justify-content: center; min-width: 38px; min-height: 36px; padding: 6px 10px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-xs); background: var(--gm-blue-soft); color: var(--gm-info); font-size: 14px; }
    .gm-exp-page .gm-exp-list-pdf-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 36px; padding: 10px 13px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); background: var(--gm-bg); color: var(--gm-text); font-size: 13px; font-weight: 600; text-decoration: none; white-space: nowrap; }
    .gm-exp-page .gm-exp-list-pdf-btn svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-unified-desktop, .gm-exp-page .gm-exp-desktop { display: block; min-width: 0; }
    :is(.gm-receipts-v2, .gm-ar-page) :is(.gm-rx-panel-todos, .gm-rx-panel-recebidos) .gm-rx-group { display: none; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-group { margin: 0; padding: 0; border: 0; background: transparent; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-group + .gm-rx-group { margin-top: 14px; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-group-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-group-head h3 { margin: 0; color: var(--gm-text); font-size: 17px; }
    :is(.gm-receipts-v2, .gm-ar-page) :is(.gm-rx-table-wrap, .gm-rx-unified-table-wrap), .gm-exp-page .gm-exp-table-wrap { display: block; min-width: 0; width: 100%; margin: 0; overflow-x: auto; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); }
    :is(.gm-receipts-v2, .gm-ar-page) :is(.gm-rx-table, .gm-rx-unified-table), .gm-exp-page .gm-exp-table { width: 100%; min-width: 980px; margin: 0; border: 0; border-collapse: collapse; table-layout: auto; background: transparent; }
    :is(.gm-receipts-v2, .gm-ar-page) :is(.gm-rx-table, .gm-rx-unified-table) th:where(:not(.gm-report-page *)),
.gm-exp-page .gm-exp-table th { padding: 10px; border: 0; border-bottom: 1px solid var(--gm-border); background: var(--gm-surface-2); color: var(--gm-text-secondary); font-size: 11px; font-weight: 700; line-height: 1.4; text-align: left; text-transform: uppercase; letter-spacing: .04em; white-space: nowrap; }
    :is(.gm-receipts-v2, .gm-ar-page) :is(.gm-rx-table, .gm-rx-unified-table) td:where(:not(.gm-report-page *)),
.gm-exp-page .gm-exp-table td { padding: 8px 10px; border: 0; border-bottom: 1px solid var(--gm-border-soft); background: transparent; color: var(--gm-text-secondary); font-size: 13px; line-height: 1.5; vertical-align: middle; }
    :is(.gm-receipts-v2, .gm-ar-page) :is(.gm-rx-table, .gm-rx-unified-table) tbody tr:last-child td:where(:not(.gm-report-page *)),
.gm-exp-page .gm-exp-table tbody tr:last-child td { border-bottom: 0; }
    :is(.gm-receipts-v2, .gm-ar-page) :is(.gm-rx-table, .gm-rx-unified-table) tbody tr:hover:where(:not(.gm-report-page *)),
.gm-exp-page .gm-exp-table tbody tr:hover { background: var(--gm-blue-soft); }
    html[data-theme="dark"] :is(.gm-receipts-v2, .gm-ar-page) :is(.gm-rx-table, .gm-rx-unified-table) strong:where(:not(.gm-report-page *)),
.gm-exp-page .gm-exp-table-value { color: var(--gm-text); font-size: 13px; font-weight: 700; }
    html[data-theme="dark"] :is(.gm-receipts-v2, .gm-ar-page) :is(.gm-rx-table, .gm-rx-unified-table) .gm-rx-money-positive { color: var(--gm-green); }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-origin { display: grid; gap: 4px; min-width: 160px; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-origin span { color: var(--gm-muted); font-size: 12px; line-height: 1.4; }
    .gm-exp-page .gm-exp-description { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; min-width: 160px; color: var(--gm-text); }
    .gm-exp-page .gm-exp-description strong { font-size: 13px; font-weight: 600; }
    :is(.gm-receipts-v2, .gm-ar-page) :is(.gm-rx-table, .gm-rx-unified-table) td:has(> strong):where(:not(.gm-report-page *)),
.gm-exp-page .gm-exp-table-value { white-space: nowrap; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-status, .gm-exp-page .gm-exp-status { --status-color: var(--gm-yellow); --status-soft: var(--gm-yellow-soft); display: inline-flex; align-items: center; gap: 7px; margin: 0; padding: 5px 10px; border: 1px solid transparent; border-radius: 999px; background: var(--status-soft); color: var(--status-color); font-size: 11px; font-weight: 600; line-height: 1.4; white-space: nowrap; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-status-ok, .gm-exp-page .gm-exp-status-paid { --status-color: var(--gm-green); --status-soft: var(--gm-green-soft); }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-status-danger, .gm-exp-page .gm-exp-status-late { --status-color: var(--gm-red); --status-soft: var(--gm-red-soft); }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-status::before, .gm-exp-page .gm-exp-status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-type, .gm-exp-page .gm-exp-fixed-badge { display: inline-flex; padding: 5px 8px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-xs); background: var(--gm-blue-soft); color: var(--gm-info); font-size: 11px; line-height: 1.4; white-space: nowrap; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-type-cash { color: var(--gm-green); background: var(--gm-green-soft); }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-actions, .gm-exp-page .gm-exp-row-actions { display: flex; flex-wrap: nowrap; align-items: center; gap: 6px; min-width: max-content; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-actions form, .gm-exp-page .gm-exp-inline-form { display: inline-flex; margin: 0; padding: 0; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-action, .gm-exp-page .gm-exp-row-btn { --action-color: var(--gm-blue-soft); --action-text: var(--gm-action-blue); display: inline-flex; align-items: center; justify-content: center; min-height: 34px; min-width: 70px; margin: 0; padding: 6px 10px; border: 1px solid color-mix(in srgb, var(--action-text) 25%, transparent); border-radius: var(--gm-radius-xs); background: var(--action-color); color: var(--action-text); font: inherit; font-size: 12px; font-weight: 600; line-height: 1.4; text-decoration: none; white-space: nowrap; cursor: pointer; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-v2-action-detail { --action-color: var(--gm-bg); --action-text: var(--gm-text); border-color: var(--gm-border); }
    .gm-ar-page .gm-v2-action-success { --action-color: var(--gm-green-soft); --action-text: var(--gm-action-green); }
    .gm-exp-page .gm-exp-row-btn-pay { --action-color: var(--gm-green-soft); --action-text: var(--gm-action-green); }
    .gm-exp-page .gm-exp-row-btn-undo { --action-color: var(--gm-yellow-soft); --action-text: var(--gm-action-yellow); }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-v2-action-delete, .gm-exp-page .gm-exp-row-btn-delete { --action-color: var(--gm-red-soft); --action-text: var(--gm-action-red); }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-action:hover, .gm-exp-page .gm-exp-row-btn:hover { filter: brightness(1.2); }
    :is(.gm-receipts-v2, .gm-ar-page) :is(.gm-rx-pagination, .gm-rx-unified-pagination) { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; margin: 13px 0 0; padding: 0; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-unified-pager { display: flex; align-items: center; gap: 8px; }
    :is(.gm-receipts-v2, .gm-ar-page) :is(.gm-rx-pagination, .gm-rx-unified-pager) > * { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; padding: 6px 10px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-xs); background: var(--gm-bg); color: var(--gm-text-secondary); font-size: 12px; text-decoration: none; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-empty, .gm-exp-page .gm-exp-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; min-height: 130px; margin: 0; padding: 17px; background: transparent; color: var(--gm-text-secondary); text-align: center; }
    html[data-theme="dark"] :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-empty strong, .gm-exp-page .gm-exp-empty strong { color: var(--gm-text); font-size: 16px; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-empty span, .gm-exp-page .gm-exp-empty span { color: var(--gm-text-secondary); font-size: 13px; }
    .gm-exp-page .gm-exp-empty svg { width: 32px; height: 32px; fill: none; stroke: var(--gm-info); stroke-width: 1.8; }
    :is(.gm-receipts-v2, .gm-ar-page) :is(.gm-rx-action, .gm-receipts-tab, .gm-rx-pagination a, .gm-rx-unified-pager a):focus-visible, .gm-exp-page :is(.gm-exp-row-btn, .gm-exp-status-tab, .gm-exp-list-pdf-btn):focus-visible { outline: 2px solid var(--gm-info); outline-offset: 3px; }
    .gm-exp-page .gm-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin: 13px 0 0; padding: 0; border: 0; background: transparent; }
    .gm-exp-page .gm-pagination-summary { color: var(--gm-text-secondary); font-size: 12px; }
    .gm-exp-page .gm-pagination-actions { display: flex; align-items: center; gap: 8px; }
    .gm-exp-page :is(.gm-pagination-btn, .gm-pagination-current) { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; padding: 6px 10px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-xs); background: var(--gm-bg); color: var(--gm-text-secondary); font-size: 12px; font-weight: 600; text-decoration: none; }
    .gm-exp-page .gm-pagination-current { background: var(--gm-blue); color: white; }
    .gm-exp-page .gm-pagination-btn:focus-visible { outline: 2px solid var(--gm-info); outline-offset: 3px; }

}

@media (min-width: 901px) and (max-width: 1180px) {
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-header, .gm-exp-page .gm-exp-hero { flex-wrap: wrap; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-kpi { grid-template-columns: minmax(0, 1fr); }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-ledger-kpi-icon { grid-row: auto; }
    :is(.gm-receipts-v2, .gm-ar-page) .gm-rx-kpi > :is(span, strong, small) { grid-column: 1; }
}

@media (max-width: 900px) {
    :is(.gm-receipts-v2,.gm-ar-page) .gm-rx-header, .gm-exp-page .gm-exp-hero { display: block; min-height: 0; padding: 12px; }
    :is(.gm-receipts-v2,.gm-ar-page) .gm-rx-header h1, .gm-exp-page .gm-exp-hero h1 { font-size: 22px; }
    :is(.gm-receipts-v2,.gm-ar-page) .gm-rx-header p, .gm-exp-page .gm-exp-hero p { font-size: 12px; }
    .gm-ledger-period-card { margin-top: 8px; width: fit-content; gap: 6px; padding: 6px 8px; }
    :is(.gm-receipts-v2,.gm-ar-page) .gm-rx-kpis, .gm-exp-page .gm-exp-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
    :is(.gm-receipts-v2,.gm-ar-page) .gm-rx-kpi { grid-template-columns: 26px minmax(0,1fr); min-width: 0; min-height: 0; padding: 10px; column-gap: 6px; row-gap: 6px; }
    :is(.gm-receipts-v2,.gm-ar-page) .gm-rx-kpi > :is(span,strong,small) { grid-column: 1 / -1; }
    :is(.gm-receipts-v2,.gm-ar-page) .gm-ledger-kpi-icon { grid-row: 1; width: 26px; height: 26px; }
    :is(.gm-receipts-v2,.gm-ar-page) .gm-rx-kpi strong, .gm-exp-page .gm-exp-kpi strong { font-size: 20px; white-space: normal; overflow-wrap: anywhere; }
    :is(.gm-receipts-v2,.gm-ar-page) .gm-rx-filter-form, .gm-exp-page .gm-exp-filter-form { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
    :is(.gm-receipts-v2,.gm-ar-page) :is(.gm-rx-filter,.gm-rx-panel), .gm-exp-page :is(.gm-exp-filter-card,.gm-exp-list-card) { padding: 12px; }
    :is(.gm-receipts-v2,.gm-ar-page) .gm-rx-panel-head, .gm-exp-page .gm-exp-list-heading { flex-wrap: wrap; gap: 8px; }
    :is(.gm-receipts-v2,.gm-ar-page,.gm-exp-page) :is(.gm-receipts-tabs,.gm-rx-tabs,.gm-exp-status-tabs) { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0,1fr); width: 100%; max-width: 100%; overflow-x: auto; }
        :is(.gm-receipts-v2,.gm-ar-page) .gm-rx-desktop-only, .gm-exp-page .gm-exp-desktop { display: none; }
    .gm-receipts-v2 :is(.gm-rx-panel-todos,.gm-rx-panel-recebidos) .gm-rx-group { display: block; }
    .gm-rx-group { margin-top: 12px; }
    .gm-rx-group-head { margin-bottom: 8px; }
    .gm-rx-group-head h3 { color: var(--gm-text); font-size: 15px; }
    .gm-rx-mobile-list, .gm-exp-mobile { display: grid; gap: 8px; }
    .gm-rx-mobile-card, .gm-exp-mobile-card { min-width: 0; padding: 12px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-md); background: var(--gm-bg); color: var(--gm-text); overflow-wrap: anywhere; }
    .gm-rx-mobile-card-head, .gm-exp-mobile-head { display: flex; justify-content: space-between; gap: 8px; align-items: flex-start; }
    .gm-rx-mobile-origin { display: grid; gap: 5px; min-width: 0; }
    .gm-rx-mobile-origin small, .gm-rx-mobile-card span, .gm-exp-mobile-card span { color: var(--gm-text-secondary); font-size: 12px; }
    .gm-rx-mobile-meta, .gm-exp-mobile-info { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: 10px 0; }
    .gm-rx-mobile-meta > div, .gm-exp-mobile-info > div { display: grid; gap: 5px; min-width: 0; }
    .gm-rx-mobile-value, .gm-exp-mobile-value { color: var(--gm-green); font-size: 18px; }
    .gm-rx-mobile-actions, .gm-exp-mobile-actions { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 12px; border-top: 1px solid var(--gm-border); }
    .gm-rx-mobile-actions form, .gm-exp-mobile-actions form { display: flex; flex: 1; margin: 0; }
    .gm-rx-mobile-actions :is(a,button), .gm-exp-mobile-actions :is(a,button) { display: inline-flex; flex: 1; align-items: center; justify-content: center; min-height: 44px; padding: 8px 10px; border: 1px solid var(--gm-border); border-radius: 8px; background: var(--gm-blue-soft); color: var(--gm-action-blue); font-size: 12px; }
    .gm-rx-mobile-actions .gm-v2-action-delete, .gm-exp-mobile-actions .gm-exp-mobile-btn-delete { background: var(--gm-red-soft); color: var(--gm-action-red); }
    .gm-rx-mobile-actions .gm-v2-action-success, .gm-exp-mobile-actions .gm-exp-mobile-btn-pay { background: var(--gm-green-soft); color: var(--gm-action-green); }
    .gm-exp-mobile-actions .gm-exp-mobile-btn-undo { background: var(--gm-yellow-soft); color: var(--gm-action-yellow); }
    :is(.gm-receipts-v2,.gm-ar-page) .gm-rx-kpi > span { grid-column: 2; align-self: center; font-size: 12px; }
    :is(.gm-receipts-v2,.gm-ar-page) .gm-rx-kpi > small, .gm-exp-page .gm-exp-kpi > small { font-size: 10px; }
    .gm-ledger-period-card > div { gap: 2px; }
    .gm-ledger-period-card svg { width: 18px; height: 18px; }
    .gm-ledger-period-card strong { font-size: 11px; }
    :is(.gm-receipts-v2,.gm-ar-page,.gm-exp-page) :is(.gm-rx-filter-form,.gm-exp-filter-form) input[type=date] { font-size: 14px; padding-inline: 6px; }
    :is(.gm-receipts-v2,.gm-ar-page) .gm-ledger-kpi-icon svg { width: 18px; height: 18px; }
    :is(.gm-receipts-v2,.gm-ar-page) .gm-rx-kpis-3 .gm-rx-kpi:last-child { grid-column: 1 / -1; }
    .gm-exp-page .gm-exp-kpi { min-height: 0; padding: 10px; gap: 6px; }
    .gm-exp-page .gm-exp-kpi-head { gap: 6px; }
    .gm-exp-page .gm-exp-kpi-head > span { font-size: 12px; }
    .gm-exp-page .gm-exp-kpi-icon { flex-basis: 26px; width: 26px; height: 26px; }
    .gm-exp-page .gm-exp-kpi-icon svg { width: 18px; height: 18px; }
    :is(.gm-receipts-v2,.gm-ar-page) .gm-rx-search, .gm-exp-page .gm-exp-filter-search { grid-column: 1 / -1; }
    .gm-ar-page .gm-rx-ar-filter-form { grid-template-columns: minmax(0,1fr); }
    :is(.gm-receipts-v2,.gm-ar-page) .gm-rx-filter-actions, .gm-exp-page .gm-exp-filter-actions { grid-column: 1 / -1; gap: 8px; }
    :is(.gm-receipts-v2,.gm-ar-page) .gm-rx-filter-actions > *, .gm-exp-page .gm-exp-filter-actions > * { flex: 1; height: 44px; min-width: 0; padding: 6px 10px; }
    :is(.gm-receipts-v2,.gm-ar-page) .gm-rx-field input, .gm-exp-page .gm-exp-field input { height: 44px; padding: 6px 8px; }
    :is(.gm-receipts-v2,.gm-ar-page) .gm-rx-field, .gm-exp-page .gm-exp-field { gap: 5px; }
    :is(.gm-receipts-v2,.gm-ar-page,.gm-exp-page) :is(.gm-receipts-tabs,.gm-rx-tabs,.gm-exp-status-tabs) a { min-height: 44px; padding: 8px 2px; min-width: 0; font-size: clamp(10px,2.8vw,12px); text-align: center; white-space: nowrap; }

    .gm-ledger-period-card span { display: none; }
    :is(.gm-receipts-v2,.gm-ar-page) .gm-rx-header::after, .gm-exp-page .gm-exp-hero::after { opacity: .3; }
    :is(.gm-receipts-v2,.gm-ar-page) .gm-card-pdf-action { min-height: 44px; padding: 6px 8px; gap: 4px; font-size: 11px; white-space: nowrap; }
    :is(.gm-receipts-v2,.gm-ar-page) .gm-card-pdf-action svg { flex-shrink: 0; width: 16px; height: 16px; }
}

/* Organização exclusiva da listagem de Recebimentos no celular. */
@media (max-width: 900px) {
    body.gm-receipts-page .main-content { padding-bottom: calc(142px + env(safe-area-inset-bottom)); }
    .gm-receipts-v2 .gm-rx-header { padding: 10px; margin-bottom: 10px; }
    .gm-receipts-v2 .gm-rx-eyebrow { margin-bottom: 4px; font-size: 11px; }
    .gm-receipts-v2 .gm-rx-header h1 { margin-bottom: 4px; }
    .gm-receipts-v2 .gm-ledger-period-card { margin-top: 6px; padding: 5px 8px; }
    .gm-receipts-v2 .gm-receipts-tabs { display: flex; margin-bottom: 10px; padding: 2px; scrollbar-width: thin; }
    .gm-receipts-v2 .gm-receipts-tabs a { flex: 1 0 auto; min-height: 44px; padding: 6px 10px; font-size: 12px; }
    .gm-receipts-v2 .gm-rx-kpis { margin-bottom: 10px; }
    .gm-receipts-v2 .gm-rx-kpi { padding: 8px; row-gap: 4px; }
    .gm-receipts-v2 .gm-ledger-kpi-icon { width: 24px; height: 24px; }
    .gm-receipts-v2 .gm-rx-kpi > small { margin: 0; font-size: 11px; }
    :is(.gm-receipts-v2,.gm-ar-page) .gm-rx-kpis-3 .gm-rx-kpi:last-child { grid-template-columns: 24px minmax(0,1fr) minmax(0,1fr); align-items: center; }
    :is(.gm-receipts-v2,.gm-ar-page) .gm-rx-kpis-3 .gm-rx-kpi:last-child > strong { grid-column: 3; grid-row: 1 / 3; text-align: right; }
    :is(.gm-receipts-v2,.gm-ar-page) .gm-rx-kpis-3 .gm-rx-kpi:last-child > small { grid-column: 1 / 3; }
    .gm-receipts-v2 .gm-rx-filter { margin-bottom: 10px; padding: 10px; }
    .gm-receipts-v2 .gm-rx-filter-top { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; margin-bottom: 8px; align-items: start; }
    .gm-receipts-v2 .gm-rx-filter-top h2 { margin-bottom: 4px; font-size: 16px; }
    .gm-receipts-v2 .gm-rx-filter-top p { font-size: 12px; line-height: 1.4; }
    .gm-receipts-v2 .gm-card-pdf-action { font-size: 12px; padding: 6px; }
    .gm-receipts-v2 .gm-rx-field { gap: 4px; }
    .gm-receipts-v2 .gm-rx-panel { padding: 10px; }
    .gm-receipts-v2 .gm-rx-panel-head { flex-wrap: nowrap; gap: 8px; margin-bottom: 8px; }
    .gm-receipts-v2 .gm-rx-panel-head > div { min-width: 0; }
    .gm-receipts-v2 .gm-rx-panel-head h2 { font-size: 16px; margin: 4px 0 0; }
    .gm-receipts-v2 .gm-rx-group { margin-top: 8px; }
    .gm-receipts-v2 .gm-rx-group-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; gap: 8px; }
    .gm-receipts-v2 .gm-rx-group-head h3 { margin: 0; font-size: 14px; }
    .gm-receipts-v2 .gm-rx-mobile-card { padding: 10px; }
    .gm-receipts-v2 .gm-rx-mobile-origin { gap: 3px; }
    .gm-receipts-v2 .gm-rx-mobile-origin strong { font-size: 14px; line-height: 1.35; }
    .gm-receipts-v2 .gm-rx-mobile-origin span { line-height: 1.4; }
    .gm-receipts-v2 .gm-rx-mobile-card-head .gm-rx-status { flex-shrink: 0; }
    .gm-receipts-v2 .gm-rx-mobile-meta { margin: 8px 0; gap: 6px 8px; }
    .gm-receipts-v2 .gm-rx-mobile-meta > div { gap: 2px; }
    .gm-receipts-v2 .gm-rx-mobile-meta-2 > div { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px; }
    .gm-receipts-v2 .gm-rx-mobile-meta strong { font-size: 13px; line-height: 1.4; }
    .gm-receipts-v2 .gm-rx-mobile-meta > div:last-child strong { font-size: 17px; }
    .gm-receipts-v2 .gm-rx-mobile-meta-3 { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
    .gm-receipts-v2 .gm-rx-mobile-meta-3 > div:last-child { grid-column: 2; grid-row: 1 / 3; align-self: center; text-align: right; }
    .gm-receipts-v2 .gm-rx-mobile-meta-3 > div:nth-child(2) { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px; }
    .gm-receipts-v2 .gm-rx-mobile-actions { gap: 6px; padding-top: 8px; }
    .gm-receipts-v2 .gm-rx-mobile-actions :is(a,button) { min-height: 44px; min-width: 0; padding: 6px 8px; scroll-margin-bottom: 142px; }
    .gm-receipts-v2 .gm-rx-pagination > * { min-height: 44px; }
    .gm-receipts-v2 .gm-quick-fab { right: 12px; bottom: calc(68px + env(safe-area-inset-bottom)); }
    .gm-receipts-v2 .gm-quick-fab-menu { bottom: calc(100% + 10px); width: min(340px,calc(100vw - 24px)); max-height: calc(100dvh - 144px - env(safe-area-inset-bottom)); padding: 10px; gap: 6px; }
    :is(.gm-ar-page,.gm-exp-page) :is(.gm-rx-header,.gm-exp-hero) { padding: 10px; margin-bottom: 10px; }
    :is(.gm-ar-page,.gm-exp-page) :is(.gm-rx-kpi,.gm-exp-kpi) { padding: 8px; gap: 5px; }
    :is(.gm-ar-page,.gm-exp-page) :is(.gm-rx-kpis,.gm-exp-kpis,.gm-rx-filter,.gm-exp-filter-card) { margin-bottom: 10px; }
    :is(.gm-ar-page,.gm-exp-page) :is(.gm-rx-filter,.gm-rx-panel,.gm-exp-filter-card,.gm-exp-list-card) { padding: 10px; }
    :is(.gm-ar-page,.gm-exp-page) :is(.gm-rx-kpi,.gm-exp-kpi) > small { font-size: 11px; }
    :is(.gm-ar-page,.gm-exp-page) :is(.gm-receipts-tabs,.gm-rx-tabs,.gm-exp-status-tabs) { display: flex; padding: 2px; }
    :is(.gm-ar-page,.gm-exp-page) :is(.gm-receipts-tabs,.gm-rx-tabs,.gm-exp-status-tabs) a { flex: 1 0 auto; padding: 6px 10px; font-size: 12px; }
    :is(.gm-ar-page,.gm-exp-page) :is(.gm-rx-mobile-card,.gm-exp-mobile-card) { padding: 10px; }
    :is(.gm-ar-page,.gm-exp-page) :is(.gm-rx-mobile-meta,.gm-exp-mobile-info) { margin: 8px 0; gap: 6px; }
    :is(.gm-ar-page,.gm-exp-page) :is(.gm-rx-mobile-actions,.gm-exp-mobile-actions) { gap: 6px; padding-top: 8px; }
    :is(.gm-ar-page,.gm-exp-page) :is(.gm-rx-mobile-actions,.gm-exp-mobile-actions) :is(a,button) { min-height: 44px; min-width: 0; padding: 6px 8px; }

    :is(.gm-ar-page,.gm-exp-page) :is(.gm-rx-pagination a,.gm-pagination-btn,.gm-pagination-current) { min-height: 44px; }
}
/* Relatórios desktop: apresentação compartilhada dos períodos, sem cálculos financeiros. */
@media (min-width: 0px) {
    .gm-report-page { min-width: 0; }
    .gm-report-page .gm-report-hero { position: relative; isolation: isolate; display: flex; align-items: center; justify-content: space-between; gap: 17px; min-height: 124px; margin: 0 0 14px; padding: 23px; overflow: hidden; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-md); background: linear-gradient(115deg, var(--gm-surface), var(--gm-bg)); }
    .gm-report-page .gm-report-hero::after { content: ""; position: absolute; z-index: -1; inset: 0 0 0 38%; opacity: .7; background: url("../img/financial-wave.svg") right bottom / cover no-repeat; pointer-events: none; }
    .gm-report-page .gm-report-hero > div { min-width: 0; }
    .gm-report-page :is(.gm-report-eyebrow, .gm-report-section-label) { display: block; margin: 0 0 8px; color: var(--gm-info); font-size: 12px; font-weight: 700; letter-spacing: .12em; }
    .gm-report-page .gm-report-hero h1 { margin: 0 0 8px; color: var(--gm-text); font-size: clamp(23px, 3vw, 35px); font-weight: 800; line-height: 1.12; letter-spacing: -.035em; }
    .gm-report-page .gm-report-hero p { margin: 0; color: var(--gm-text-secondary); font-size: 16px; line-height: 1.5; }
    .gm-report-page .gm-report-tabs { display: flex; width: max-content; max-width: 100%; gap: 0; margin: 0 0 13px; padding: 3px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); background: var(--gm-bg); }
    .gm-report-page .gm-report-tabs a { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; min-width: 112px; padding: 8px 14px; border-radius: var(--gm-radius-xs); background: transparent; color: var(--gm-text-secondary); font-size: 13px; font-weight: 600; text-decoration: none; }
    .gm-report-page .gm-report-tabs a:hover { background: var(--gm-blue-soft); color: var(--gm-text); }
    .gm-report-page .gm-report-tabs a.is-active { background: var(--gm-blue); color: white; }
    .gm-report-page :is(.gm-report-filter, .gm-report-flow-card, .gm-report-movements) { margin: 0 0 14px; padding: 17px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-md); background: linear-gradient(135deg, var(--gm-surface), var(--gm-bg)); box-shadow: var(--gm-shadow-soft); }
    .gm-report-page .gm-report-filter { position: relative; }
    .gm-report-page .gm-report-filter-heading { margin: 0 144px 14px 0; }
    .gm-report-page h2 { margin: 0 0 6px; color: var(--gm-text); font-size: 17px; line-height: 1.3; }
    .gm-report-page :is(.gm-report-filter-heading, .gm-report-flow-card header, .gm-report-movements header) p { margin: 0; color: var(--gm-text-secondary); font-size: 13px; line-height: 1.5; }
    .gm-report-page .gm-report-filter-pdf { position: absolute; top: 24px; right: 24px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 36px; padding: 10px 13px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); background: var(--gm-bg); color: var(--gm-text); font-size: 13px; font-weight: 600; text-decoration: none; }
    .gm-report-page .gm-report-filter-pdf svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; }
    .gm-report-page .gm-report-filter-form { display: flex; align-items: end; gap: 13px; margin: 0; }
    .gm-report-page .gm-report-filter-form > div { display: grid; gap: 8px; width: 320px; max-width: 100%; }
    .gm-report-page .gm-report-filter-form label { color: var(--gm-text); font-size: 13px; font-weight: 600; }
    .gm-report-page .gm-report-filter-form input { width: 100%; min-width: 0; height: 48px; margin: 0; padding: 10px 11px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); background: var(--gm-bg); color: var(--gm-text); color-scheme: dark; font: inherit; font-size: 14px; box-shadow: none; }
    .gm-report-page .gm-report-filter-form button { min-height: 38px; margin: 0; padding: 10px 17px; border: 1px solid var(--gm-blue); border-radius: var(--gm-radius-sm); background: var(--gm-blue); color: white; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
    .gm-report-page .gm-report-period { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; color: var(--gm-text-secondary); font-size: 12px; }
    .gm-report-page .gm-report-period strong { color: var(--gm-text-secondary); }
    .gm-report-page .gm-report-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; margin: 0 0 14px; }
    .gm-report-page .gm-report-kpi { --report-color: var(--gm-green); --report-soft: var(--gm-green-soft); position: relative; isolation: isolate; display: flex; flex-direction: column; gap: 10px; min-width: 0; min-height: 112px; padding: 14px; overflow: hidden; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-md); background: linear-gradient(135deg, var(--gm-surface), var(--gm-bg)); }
    .gm-report-page .gm-report-kpi:nth-child(2) { --report-color: var(--gm-yellow); --report-soft: var(--gm-yellow-soft); }
    .gm-report-page .gm-report-kpi:nth-child(3) { --report-color: var(--gm-info); --report-soft: var(--gm-info-soft); }
    .gm-report-page .gm-report-kpi:nth-child(4) { --report-color: var(--gm-purple); --report-soft: var(--gm-purple-soft); }
    .gm-report-page .gm-report-kpi::after { content: ""; position: absolute; z-index: -1; right: 0; bottom: 0; width: 48%; height: 66%; opacity: .2; background: var(--report-color); mask: url("../img/financial-wave.svg") center bottom / 100% 100% no-repeat; pointer-events: none; }
    .gm-report-page .gm-report-kpi-head { display: flex; align-items: center; gap: 10px; }
    .gm-report-page .gm-report-kpi-head > span { color: var(--gm-text); font-size: 14px; font-weight: 600; line-height: 1.4; }
    .gm-report-page :is(.gm-report-kpi-icon, .gm-report-flow-icon) { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; border: 1px solid var(--report-color); border-radius: var(--gm-radius-sm); background: var(--report-soft); color: var(--report-color); }
    .gm-report-page .gm-report-kpi-icon { order: -1; }
    .gm-report-page :is(.gm-report-kpi-icon, .gm-report-flow-icon) svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; }
    .gm-report-page .gm-report-desktop-icon > svg:not(.gm-outline-icon) { display: none; }
    .gm-report-page .gm-report-kpi > strong { margin: 0; color: var(--report-color); font-size: clamp(19px, 2.3vw, 29px); font-weight: 800; line-height: 1.15; letter-spacing: -.025em; white-space: nowrap; }
    .gm-report-page .gm-report-kpi > small { margin-top: auto; color: var(--gm-text-secondary); font-size: 12px; line-height: 1.4; }
    .gm-report-page .gm-report-flow-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
    .gm-report-page .gm-report-flow-card { --report-color: var(--gm-green); --report-soft: var(--gm-green-soft); min-width: 0; }
    .gm-report-page .gm-report-flow-card:nth-child(2) { --report-color: var(--gm-red); --report-soft: var(--gm-red-soft); }
    .gm-report-page .gm-report-flow-card header { display: flex; align-items: center; gap: 13px; margin-bottom: 17px; }
    .gm-report-page .gm-report-flow-card header span { display: block; margin-bottom: 6px; color: var(--report-color); font-size: 11px; font-weight: 700; letter-spacing: .1em; }
    .gm-report-page .gm-report-summary-list { overflow: hidden; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); }
    .gm-report-page .gm-report-summary-list > div { display: flex; align-items: center; justify-content: space-between; gap: 13px; min-height: 38px; padding: 10px; border-bottom: 1px solid var(--gm-border-soft); color: var(--gm-text-secondary); font-size: 13px; }
    .gm-report-page .gm-report-summary-list strong { color: var(--gm-text); white-space: nowrap; font-size: 14px; }
    .gm-report-page .gm-report-summary-list .gm-report-summary-spacer { display: none; }
    .gm-report-page .gm-report-summary-list .gm-report-summary-total { border: 0; background: var(--report-soft); color: var(--gm-text); font-weight: 600; }
    .gm-report-page .gm-report-summary-total strong { color: var(--report-color); font-size: 17px; }
    .gm-report-page .gm-report-secondary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; margin: 0 0 14px; }
    .gm-report-page .gm-report-secondary article { display: grid; align-content: start; gap: 10px; min-width: 0; padding: 14px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-md); background: var(--gm-surface); }
    .gm-report-page .gm-report-secondary span { color: var(--gm-text); font-size: 13px; font-weight: 600; }
    .gm-report-page .gm-report-secondary strong { color: var(--gm-text); font-size: 18px; }
    .gm-report-page .gm-report-secondary small { color: var(--gm-text-secondary); font-size: 12px; line-height: 1.5; }
    .gm-report-page .gm-report-movements header { margin-bottom: 14px; }
    .gm-report-page .gm-report-desktop { display: block; width: 100%; overflow-x: auto; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); }
    .gm-report-page .gm-report-mobile { display: none; }
    .gm-report-page .gm-report-table { width: 100%; min-width: 760px; margin: 0; border-collapse: collapse; table-layout: auto; background: transparent; color: var(--gm-text-secondary); }
    .gm-report-page .gm-report-table th { padding: 10px; border-bottom: 1px solid var(--gm-border); background: var(--gm-blue-soft); color: var(--gm-muted); font-size: 11px; font-weight: 700; letter-spacing: .05em; text-align: left; }
    .gm-report-page .gm-report-table td { padding: 11px 10px; border-bottom: 1px solid var(--gm-border-soft); font-size: 13px; vertical-align: middle; }
    .gm-report-page .gm-report-table strong { color: var(--gm-text); font-size: inherit; }
    .gm-report-page .gm-report-table tbody tr:last-child td { border-bottom: 0; }
    .gm-report-page .gm-report-table tbody tr:hover { background: var(--gm-blue-soft); }
    .gm-report-page .gm-report-table .gm-report-right { text-align: right; white-space: nowrap; }
    .gm-report-page .gm-report-status { display: inline-flex; align-items: center; gap: 8px; padding: 6px 10px; border-radius: 999px; font-size: 11px; font-weight: 600; white-space: nowrap; }
    .gm-report-page .gm-report-status::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
    .gm-report-page .gm-report-status-income { color: var(--gm-green); background: var(--gm-green-soft); }
    .gm-report-page .gm-report-status-expense { color: var(--gm-red); background: var(--gm-red-soft); }
    html[data-theme="dark"] .gm-report-page :is(.gm-result-positive, .gm-report-reading-positive) { color: var(--gm-green); }
    html[data-theme="dark"] .gm-report-page :is(.gm-result-negative, .gm-report-reading-negative) { color: var(--gm-red); }
    html[data-theme="dark"] .gm-report-page .gm-result-neutral { color: var(--gm-info); }
    html[data-theme="dark"] .gm-report-page .gm-report-table .gm-report-value-income strong { color: var(--gm-green); }
    html[data-theme="dark"] .gm-report-page .gm-report-table .gm-report-value-expense strong, .gm-report-page .gm-report-secondary .gm-report-value-expense { color: var(--gm-red); }
    .gm-report-page .gm-report-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; min-height: 130px; color: var(--gm-text-secondary); text-align: center; }
    .gm-report-page .gm-report-empty svg { width: 32px; height: 32px; fill: none; stroke: var(--gm-info); stroke-width: 1.8; }
    .gm-report-page .gm-report-empty strong { color: var(--gm-text); font-size: 16px; }
    .gm-report-page .gm-report-empty span { font-size: 13px; }
    .gm-report-page :is(.gm-report-tabs a, .gm-report-filter-form input, .gm-report-filter-form button, .gm-report-filter-pdf):focus-visible { outline: 2px solid var(--gm-info); outline-offset: 3px; }
}
@media (min-width: 901px) and (max-width: 1180px) {
    .gm-report-page .gm-report-hero { flex-wrap: wrap; }
    .gm-report-page .gm-report-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gm-report-page .gm-report-flow-grid { grid-template-columns: minmax(0, 1fr); }
    .gm-report-page .gm-report-kpi > strong { font-size: 22px; }
}

/* Anotações desktop: listagem e diálogos; conteúdo e ações mantidos nos templates. */
@media (min-width: 0px) {
    .gm-notes-page { min-width: 0; }
    .gm-notes-page .gm-notes-hero { position: relative; isolation: isolate; display: flex; align-items: center; gap: 17px; min-height: 124px; margin: 0 0 17px; padding: 23px; overflow: hidden; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-md); background: linear-gradient(115deg, var(--gm-surface), var(--gm-bg)); }
    .gm-notes-page .gm-notes-hero::before { content: none; }
    .gm-notes-page .gm-notes-hero::after { content: ""; position: absolute; z-index: -1; inset: 0 0 0 38%; opacity: .6; background: url("../img/financial-wave.svg") right bottom / cover no-repeat; pointer-events: none; }
    .gm-notes-page .gm-notes-hero > div { min-width: 0; }
    .gm-notes-page .gm-notes-hero-icon { display: grid; place-items: center; flex: 0 0 56px; width: 56px; height: 56px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); background: var(--gm-blue-soft); color: var(--gm-info); }
    .gm-notes-page .gm-notes-hero-icon svg { width: 32px; height: 32px; }
    .gm-notes-page .gm-notes-eyebrow { display: block; margin: 0 0 8px; color: var(--gm-info); font-size: 12px; font-weight: 700; letter-spacing: .12em; }
    .gm-notes-page .gm-notes-hero h1 { margin: 0 0 8px; color: var(--gm-text); font-size: clamp(23px, 3vw, 32px); font-weight: 800; line-height: 1.12; letter-spacing: -.035em; }
    .gm-notes-page .gm-notes-hero p { margin: 0; color: var(--gm-text-secondary); font-size: 16px; line-height: 1.5; }
    .gm-notes-page .gm-notes-tools { margin: 0 0 17px; padding: 14px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-md); background: var(--gm-surface); }
    .gm-notes-page .gm-notes-search { display: flex; align-items: center; gap: 13px; margin: 0 0 13px; }
    .gm-notes-page .gm-notes-search-field { position: relative; flex: 1; min-width: 0; }
    .gm-notes-page .gm-notes-search-field > svg { position: absolute; top: 50%; left: 16px; width: 22px; height: 22px; transform: translateY(-50%); fill: none; stroke: var(--gm-muted); stroke-width: 1.8; pointer-events: none; }
    .gm-notes-page .gm-notes-search-field input[type="search"] { display: block; width: 100%; height: 52px; margin: 0; padding: 10px 13px 10px 34px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); background: var(--gm-bg); color: var(--gm-text); font: inherit; font-size: 16px; box-shadow: none; }
    .gm-notes-page .gm-notes-search-field input::placeholder { color: var(--gm-muted); }
    .gm-notes-page .gm-notes-search button { min-height: 42px; padding: 10px 20px; border: 1px solid var(--gm-blue); border-radius: var(--gm-radius-sm); background: var(--gm-blue); color: white; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
    .gm-notes-page .gm-notes-clear { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 10px 13px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); background: var(--gm-bg); color: var(--gm-text-secondary); font-size: 13px; text-decoration: none; }
    .gm-notes-page .gm-notes-tabs { display: flex; gap: 10px; }
    .gm-notes-page .gm-notes-tabs a { display: inline-flex; align-items: center; gap: 10px; min-height: 36px; padding: 10px 14px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); background: var(--gm-bg); color: var(--gm-text-secondary); font-size: 14px; font-weight: 600; text-decoration: none; }
    .gm-notes-page .gm-notes-tabs a.active { border-color: var(--gm-blue); background: var(--gm-blue); color: white; }
    .gm-notes-page .gm-notes-tabs span { display: grid; place-items: center; min-width: 24px; height: 24px; padding: 2px 6px; border-radius: 999px; background: var(--gm-blue-soft); color: inherit; font-size: 12px; }
    .gm-notes-page .gm-notes-tabs a.active span { background: rgba(255, 255, 255, .16); }
    .gm-notes-page .gm-notes-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 0; }
    .gm-notes-page .gm-note-card { display: flex; flex-direction: column; gap: 14px; min-width: 0; min-height: 202px; margin: 0; padding: 17px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-md); background: linear-gradient(135deg, var(--gm-surface), var(--gm-bg)); color: var(--gm-text); box-shadow: var(--gm-shadow-soft); cursor: pointer; }
    .gm-notes-page .gm-note-card:hover { border-color: var(--gm-info); }
    .gm-notes-page .gm-note-card.is-pinned { border-color: var(--gm-blue); }
    .gm-notes-page .gm-note-card-top { display: flex; align-items: center; justify-content: space-between; gap: 13px; }
    .gm-notes-page .gm-note-card-icon { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); background: var(--gm-blue-soft); color: var(--gm-info); }
    .gm-notes-page .gm-note-pin-form { display: flex; margin: 0; padding: 0; }
    .gm-notes-page .gm-note-icon-btn { display: grid; place-items: center; width: 44px; height: 44px; margin: 0; padding: 0; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); background: var(--gm-bg); color: var(--gm-text-secondary); cursor: pointer; }
    .gm-notes-page .gm-note-icon-btn.is-active { border-color: var(--gm-yellow); background: var(--gm-yellow-soft); color: var(--gm-yellow); }
    .gm-notes-page .gm-note-icon-btn svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; }
    .gm-notes-page .gm-note-card-summary { flex: 1; min-width: 0; }
    .gm-notes-page .gm-note-card h2 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; overflow-wrap: anywhere; margin: 0 0 10px; color: var(--gm-text); font-size: 15px; font-weight: 700; line-height: 1.4; }
    .gm-notes-page .gm-note-preview { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; overflow-wrap: anywhere; margin: 0; color: var(--gm-text-secondary); font-size: 16px; line-height: 1.5; }
    .gm-notes-page .gm-note-card-footer { display: flex; align-items: center; gap: 10px; margin-top: auto; padding-top: 13px; border-top: 1px solid var(--gm-border); color: var(--gm-text-secondary); }
    .gm-notes-page .gm-note-card-footer > span { min-width: 0; font-size: 12px; line-height: 1.5; }
    .gm-notes-page .gm-note-date-icon { display: grid; place-items: center; width: 20px; height: 20px; flex-shrink: 0; }
    .gm-notes-page .gm-note-date-icon svg { width: 20px; height: 20px; }
    .gm-notes-page .gm-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin: 14px 0 0; padding: 0; border: 0; background: transparent; }
    .gm-notes-page .gm-pagination-summary { color: var(--gm-text-secondary); font-size: 12px; }
    .gm-notes-page .gm-pagination-actions { display: flex; align-items: center; gap: 8px; }
    .gm-notes-page :is(.gm-pagination-btn, .gm-pagination-current) { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; padding: 6px 10px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-xs); background: var(--gm-bg); color: var(--gm-text-secondary); font-size: 12px; font-weight: 600; text-decoration: none; }
    .gm-notes-page .gm-pagination-current { background: var(--gm-blue); color: white; }
    .gm-notes-page .gm-notes-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 13px; min-height: 202px; padding: 23px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-md); background: var(--gm-surface); text-align: center; }
    .gm-notes-page .gm-notes-empty-icon { display: grid; place-items: center; width: 56px; height: 56px; border-radius: var(--gm-radius-sm); background: var(--gm-blue-soft); color: var(--gm-info); }
    .gm-notes-page .gm-notes-empty-icon svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.8; }
    .gm-notes-page .gm-notes-empty h2 { margin: 0; color: var(--gm-text); font-size: 17px; }
    .gm-notes-page .gm-notes-empty p { max-width: 620px; margin: 0; color: var(--gm-text-secondary); font-size: 14px; line-height: 1.5; }
    .gm-notes-page :is(.gm-notes-primary-btn, .gm-notes-secondary-btn) { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; padding: 10px 14px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); background: var(--gm-bg); color: var(--gm-text); font-size: 13px; font-weight: 600; text-decoration: none; }
    .gm-notes-page .gm-notes-primary-btn { border-color: var(--gm-blue); background: var(--gm-blue); color: white; }
    .gm-notes-page :is(.gm-note-view-modal, .gm-note-delete-confirm-modal) { position: fixed; z-index: 3000; inset: 0; display: grid; place-items: center; padding: 23px; }
    .gm-notes-page .gm-note-delete-confirm-modal { z-index: 3100; }
    .gm-notes-page :is(.gm-note-view-modal, .gm-note-delete-confirm-modal)[hidden] { display: none; }
    .gm-notes-page :is(.gm-note-view-backdrop, .gm-note-delete-confirm-backdrop) { position: absolute; inset: 0; background: rgba(2, 10, 24, .65); backdrop-filter: blur(4px); }
    .gm-notes-page :is(.gm-note-view-dialog, .gm-note-delete-confirm-dialog) { position: relative; width: min(760px, 100%); max-height: calc(100dvh - 64px); margin: 0; padding: 17px; overflow: auto; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-lg); background: var(--gm-surface); color: var(--gm-text); box-shadow: var(--gm-shadow); }
    .gm-notes-page .gm-note-view-close { position: absolute; top: 16px; right: 16px; display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-xs); background: var(--gm-bg); color: var(--gm-text); font: inherit; font-size: 18px; cursor: pointer; }
    .gm-notes-page .gm-note-view-header { margin: 0 32px 17px 0; }
    .gm-notes-page .gm-note-view-header h2 { margin: 0 0 8px; overflow-wrap: anywhere; color: var(--gm-text); font-size: 18px; line-height: 1.3; }
    .gm-notes-page .gm-note-view-header p { margin: 0; color: var(--gm-text-secondary); font-size: 12px; }
    .gm-notes-page .gm-note-view-content { min-width: 0; overflow-wrap: anywhere; color: var(--gm-text); font-size: 15px; line-height: 1.6; }
    .gm-notes-page .gm-note-view-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 17px; padding-top: 14px; border-top: 1px solid var(--gm-border); }
    .gm-notes-page :is(.gm-note-modal-edit-btn, .gm-note-modal-delete-btn, .gm-note-delete-cancel-btn, .gm-note-delete-confirm-btn) { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; padding: 10px 14px; border: 1px solid color-mix(in srgb, var(--gm-action-blue) 25%, transparent); border-radius: var(--gm-radius-sm); background: var(--gm-blue-soft); color: var(--gm-action-blue); font: inherit; font-size: 13px; font-weight: 600; text-decoration: none; cursor: pointer; }
    .gm-notes-page :is(.gm-note-modal-delete-btn, .gm-note-delete-confirm-btn) { border-color: color-mix(in srgb, var(--gm-action-red) 25%, transparent); background: var(--gm-red-soft); color: var(--gm-action-red); }
    .gm-notes-page .gm-note-delete-cancel-btn { border-color: var(--gm-border); background: var(--gm-bg); color: var(--gm-text-secondary); }
    .gm-notes-page .gm-note-delete-confirm-dialog { width: min(440px, 100%); text-align: center; }
    .gm-notes-page .gm-note-delete-confirm-dialog h2 { margin: 13px 0 10px; color: var(--gm-text); font-size: 17px; }
    .gm-notes-page .gm-note-delete-confirm-dialog p { margin: 0 0 17px; color: var(--gm-text-secondary); font-size: 14px; line-height: 1.5; }
    .gm-notes-page .gm-note-delete-confirm-icon { display: grid; place-items: center; width: 48px; height: 48px; margin: 0 auto; border-radius: 50%; background: var(--gm-red-soft); color: var(--gm-red); font-size: 22px; font-weight: 700; }
    .gm-notes-page .gm-note-delete-confirm-actions { display: flex; justify-content: center; gap: 10px; }
    .gm-notes-page :is(.gm-note-card, .gm-note-icon-btn, .gm-notes-search input, .gm-notes-search button, .gm-notes-tabs a, .gm-notes-clear, .gm-pagination-btn, .gm-note-view-close, .gm-note-modal-edit-btn, .gm-note-modal-delete-btn, .gm-note-delete-cancel-btn, .gm-note-delete-confirm-btn):focus-visible { outline: 2px solid var(--gm-info); outline-offset: 3px; }
}
@media (min-width: 901px) and (max-width: 1180px) {
    .gm-notes-page .gm-notes-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Anotações desktop: edição, leitura e confirmação de exclusão. */
@media (min-width: 0px) {
    :is(.gm-note-form-page, .gm-note-detail-page, .gm-note-delete-page) { min-width: 0; color: var(--gm-text); }
    :is(.gm-note-form-page, .gm-note-detail-page) > header { position: relative; isolation: isolate; display: block; margin: 0 0 17px; padding: 17px 23px; overflow: hidden; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-md); background: linear-gradient(115deg, var(--gm-surface), var(--gm-bg)); }
    :is(.gm-note-form-page, .gm-note-detail-page) > header::before { content: none; }
    :is(.gm-note-form-page, .gm-note-detail-page) > header::after { content: ""; position: absolute; z-index: -1; inset: 0 0 0 38%; opacity: .45; background: url("../img/financial-wave.svg") right bottom / cover no-repeat; pointer-events: none; }
    :is(.gm-note-form-page, .gm-note-detail-page) .gm-note-back { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 14px; color: var(--gm-text-secondary); font-size: 13px; font-weight: 600; text-decoration: none; }
    :is(.gm-note-form-page, .gm-note-detail-page) .gm-note-back svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; }
    :is(.gm-note-form-page, .gm-note-detail-page, .gm-note-delete-page) .gm-notes-eyebrow { display: block; margin: 0 0 8px; color: var(--gm-info); font-size: 12px; font-weight: 700; letter-spacing: .12em; }
    :is(.gm-note-form-page, .gm-note-detail-page) h1 { margin: 0 0 8px; overflow-wrap: anywhere; color: var(--gm-text); font-size: clamp(22px, 3vw, 29px); font-weight: 800; line-height: 1.2; letter-spacing: -.035em; }
    :is(.gm-note-form-page, .gm-note-detail-page) header p { margin: 0; color: var(--gm-text-secondary); font-size: 15px; line-height: 1.5; }
    :is(.gm-note-editor-card, .gm-note-content-card) { width: 100%; max-width: 1040px; margin: 0; padding: 17px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-md); background: var(--gm-surface); box-shadow: var(--gm-shadow-soft); }
    .gm-note-form-page .gm-note-field { margin: 0 0 17px; }
    .gm-note-form-page .gm-note-field > label { display: block; margin-bottom: 8px; color: var(--gm-text); font-size: 14px; font-weight: 600; }
    .gm-note-form-page .gm-note-field > label span { color: var(--gm-red); }
    .gm-note-form-page input[type="text"] { display: block; width: 100%; height: 48px; margin: 0; padding: 10px 13px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); background: var(--gm-bg); color: var(--gm-text); font: inherit; font-size: 15px; box-shadow: none; }
    .gm-note-form-page input::placeholder { color: var(--gm-muted); }
    .gm-note-form-page .gm-note-field-meta { display: flex; justify-content: space-between; gap: 13px; margin-top: 8px; }
    .gm-note-form-page .gm-note-field-meta small { color: var(--gm-muted); font-size: 12px; line-height: 1.5; }
    .gm-note-form-page .gm-note-field-meta .is-limit { color: var(--gm-red); font-weight: 700; }
    .gm-note-form-page .gm-note-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; min-height: 42px; padding: 6px; border: 1px solid var(--gm-border); border-bottom: 0; border-radius: var(--gm-radius-sm) var(--gm-radius-sm) 0 0; background: var(--gm-surface-2); }
    .gm-note-form-page .gm-note-toolbar button { display: inline-flex; align-items: center; justify-content: center; min-width: 38px; height: 38px; margin: 0; padding: 0 10px; border: 1px solid transparent; border-radius: var(--gm-radius-xs); background: transparent; color: var(--gm-text-secondary); font: inherit; font-size: 15px; cursor: pointer; box-shadow: none; }
    .gm-note-form-page .gm-note-toolbar button:hover { background: var(--gm-blue-soft); color: var(--gm-text); }
    .gm-note-form-page .gm-note-toolbar button.is-active { border-color: var(--gm-blue); background: var(--gm-blue-soft); color: var(--gm-info); }
    .gm-note-form-page .gm-note-toolbar-separator { width: 1px; height: 24px; margin: 0 4px; background: var(--gm-border); }
    .gm-note-form-page .gm-note-editor { min-height: 230px; max-height: 600px; overflow: auto; overflow-wrap: anywhere; padding: 14px; border: 1px solid var(--gm-border); border-radius: 0 0 var(--gm-radius-sm) var(--gm-radius-sm); background: var(--gm-bg); color: var(--gm-text); font-size: 16px; line-height: 1.7; outline: none; box-shadow: none; }
    .gm-note-form-page .gm-note-editor:focus { border-color: var(--gm-info); box-shadow: 0 0 0 2px var(--gm-blue-soft); }
    .gm-note-form-page .gm-note-editor.has-error { border-color: var(--gm-red); }
    .gm-note-form-page .gm-note-editor:empty::before { content: attr(data-placeholder); color: var(--gm-muted); pointer-events: none; }
    .gm-note-form-page :is(.gm-note-error, .gm-note-errors) { color: var(--gm-red); font-size: 13px; line-height: 1.5; }
    .gm-note-form-page .gm-note-error { display: block; margin-top: 8px; }
    .gm-note-form-page .gm-note-errors { margin-bottom: 14px; padding: 10px 13px; border: 1px solid var(--gm-red); border-radius: var(--gm-radius-xs); background: var(--gm-red-soft); }
    .gm-note-form-page .gm-note-form-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 0; padding: 14px 0 0; border-top: 1px solid var(--gm-border); }
    :is(.gm-note-form-page, .gm-note-detail-page, .gm-note-delete-page) :is(.gm-notes-primary-btn, .gm-notes-secondary-btn, .gm-note-danger-btn) { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 36px; margin: 0; padding: 10px 14px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); background: var(--gm-bg); color: var(--gm-text-secondary); font: inherit; font-size: 13px; font-weight: 600; text-decoration: none; cursor: pointer; box-shadow: none; }
    :is(.gm-note-form-page, .gm-note-detail-page, .gm-note-delete-page) .gm-notes-primary-btn { border-color: var(--gm-blue); background: var(--gm-blue); color: white; }
    :is(.gm-note-detail-page, .gm-note-delete-page) .gm-note-danger-btn { border-color: var(--gm-red); background: var(--gm-red); color: white; }
    .gm-note-form-page .gm-note-form-actions svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; }
    .gm-note-detail-page .gm-note-detail-heading { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 17px; }
    .gm-note-detail-page .gm-note-detail-copy { flex: 1 1 340px; min-width: 0; }
    .gm-note-detail-page .gm-note-detail-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
    .gm-note-detail-page .gm-note-detail-actions form { margin: 0; }
    .gm-note-detail-page .gm-note-pin-badge { display: inline-flex; margin: 0 0 10px; padding: 4px 10px; border: 1px solid var(--gm-yellow); border-radius: 999px; background: var(--gm-yellow-soft); color: var(--gm-yellow); font-size: 12px; font-weight: 600; }
    .gm-note-detail-page .gm-note-rendered-content { min-height: 130px; overflow-wrap: anywhere; color: var(--gm-text); font-size: 16px; line-height: 1.7; }
    :is(.gm-note-form-page .gm-note-editor, .gm-note-detail-page .gm-note-rendered-content) p { margin: 0 0 13px; }
    :is(.gm-note-form-page .gm-note-editor, .gm-note-detail-page .gm-note-rendered-content) p:last-child { margin-bottom: 0; }
    :is(.gm-note-form-page .gm-note-editor, .gm-note-detail-page .gm-note-rendered-content) :is(ul, ol) { margin: 10px 0; padding-left: 22px; }
    :is(.gm-note-form-page .gm-note-editor, .gm-note-detail-page .gm-note-rendered-content) strong, .gm-note-form-page .gm-note-toolbar strong { font-weight: 700; color: inherit; }
    .gm-note-delete-page { display: grid; place-items: center; min-height: 60vh; }
    .gm-note-delete-page .gm-note-delete-card { width: min(100%, 500px); padding: 23px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-lg); background: var(--gm-surface); text-align: center; box-shadow: var(--gm-shadow-soft); }
    .gm-note-delete-page .gm-note-delete-icon { display: grid; place-items: center; width: 52px; height: 52px; margin: 0 auto 14px; border-radius: var(--gm-radius-sm); background: var(--gm-red-soft); color: var(--gm-red); }
    .gm-note-delete-page .gm-note-delete-icon svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.8; }
    .gm-note-delete-page h1 { margin: 0 0 10px; overflow-wrap: anywhere; color: var(--gm-text); font-size: 18px; line-height: 1.3; }
    .gm-note-delete-page p { margin: 0; color: var(--gm-text-secondary); font-size: 14px; line-height: 1.6; }
    .gm-note-delete-page .gm-note-delete-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 17px; }
    :is(.gm-note-form-page, .gm-note-detail-page, .gm-note-delete-page) :is(input, button, a):focus-visible { outline: 2px solid var(--gm-info); outline-offset: 3px; }
}

@media (max-width: 900px) {
    .gm-notes-page .gm-notes-hero { display: block; padding: 10px; min-height: 0; }
    .gm-notes-page .gm-notes-hero-icon { display: none; }
    .gm-notes-page .gm-notes-hero h1 { font-size: 22px; }
    .gm-notes-page .gm-notes-hero p { font-size: 12px; }
    .gm-notes-page .gm-notes-search { flex-wrap: nowrap; gap: 8px; }
    .gm-notes-page .gm-notes-search-field { flex-basis: auto; }
    .gm-notes-page .gm-notes-search button { min-height: 44px; padding: 6px 10px; font-size: 12px; }
    .gm-notes-page .gm-notes-grid { grid-template-columns: minmax(0,1fr); }
    .gm-notes-page .gm-note-icon-btn { width: 44px; height: 44px; }
    .gm-note-form-page .gm-note-toolbar button { min-width: 44px; min-height: 44px; }
    .gm-note-detail-page .gm-notes-primary-btn { background: var(--gm-blue-soft); color: var(--gm-action-blue); }
    :is(.gm-note-detail-page,.gm-note-delete-page) .gm-note-danger-btn { border-color: var(--gm-border); background: var(--gm-red-soft); color: var(--gm-action-red); }
    .gm-notes-page :is(.gm-note-view-modal,.gm-note-delete-confirm-modal) { padding: 10px; }
    .gm-notes-page :is(.gm-note-view-dialog,.gm-note-delete-confirm-dialog) { max-height: calc(100dvh - 32px); padding: 16px; }
    .gm-notes-page :is(.gm-note-modal-edit-btn,.gm-note-modal-delete-btn,.gm-note-delete-cancel-btn,.gm-note-delete-confirm-btn) { min-height: 44px; }
    :is(.gm-note-form-layout,.gm-note-detail-layout) { grid-template-columns: minmax(0,1fr); }
    .gm-notes-page .gm-notes-hero-icon svg { width: 18px; height: 18px; }
    .gm-notes-page .gm-notes-filters { padding: 10px; margin-bottom: 10px; }
    .gm-notes-page .gm-notes-search { margin-bottom: 10px; }
    .gm-notes-page .gm-notes-search-field input[type="search"] { height: 44px; padding-left: 34px; }
    .gm-notes-page .gm-notes-search-field > svg { left: 10px; width: 18px; height: 18px; }
    .gm-notes-page .gm-notes-tabs { gap: 8px; }
    .gm-notes-page .gm-notes-tabs a { min-height: 44px; padding: 6px 10px; gap: 6px; font-size: 12px; }
    .gm-notes-page .gm-notes-tabs span { min-width: 20px; height: 20px; font-size: 10px; }
    .gm-notes-page .gm-note-card { min-height: 0; padding: 10px; gap: 8px; }
    .gm-notes-page .gm-note-card-icon { width: 28px; height: 28px; }
    .gm-notes-page .gm-note-card-icon svg { width: 18px; height: 18px; }
    .gm-notes-page .gm-note-card h2 { font-size: 14px; margin-bottom: 6px; }
    .gm-notes-page .gm-note-preview { font-size: 13px; line-height: 1.4; }
    .gm-notes-page .gm-note-card-footer { padding-top: 8px; gap: 6px; }
    .gm-notes-page .gm-note-card-footer > span { font-size: 10px; }

    :is(.gm-note-form-page,.gm-note-detail-page) > header { padding: 10px; margin-bottom: 10px; }
    :is(.gm-note-editor-card,.gm-note-content-card) { padding: 10px; }
    .gm-notes-page .gm-notes-hero::after { opacity: .3; }
    .gm-notes-page .gm-notes-hero { margin-bottom: 10px; }
    .gm-notes-page .gm-note-card-footer > span { font-size: 11px; }
    .gm-note-form-page .gm-note-editor { min-height: 240px; }
    :is(.gm-note-form-page,.gm-note-detail-page,.gm-note-delete-page) :is(.btn,.gm-notes-primary-btn,.gm-notes-secondary-btn,.gm-note-danger-btn) { min-height: 44px; }

    .gm-notes-page :is(.gm-pagination-btn,.gm-pagination-current) { min-height: 44px; }
}

/* Mobile cards only; desktop preview and pin geometry remain unchanged. */
@media (max-width: 900px) {
    .gm-notes-page .gm-note-card-summary > .gm-note-preview { display: none; }
    .gm-notes-page .gm-note-card-summary > .gm-note-preview-mobile {
        display: block;
        min-width: 0;
        max-width: 100%;
        margin: 0;
        white-space: pre-wrap;
        overflow-wrap: anywhere;
        color: var(--gm-text-secondary);
        font-size: 13px;
        line-height: 1.6;
    }
    .gm-notes-page .gm-note-pin-form .gm-note-icon-btn {
        position: relative;
        width: 44px;
        height: 44px;
        min-width: 44px;
        min-height: 44px;
        padding: 0;
        border: 0;
        background: transparent;
    }
    .gm-notes-page .gm-note-pin-form .gm-note-icon-btn::before {
        content: "";
        position: absolute;
        top: 5.5px;
        right: 5.5px;
        width: 33px;
        height: 33px;
        box-sizing: border-box;
        border: 1px solid var(--gm-border);
        border-radius: inherit;
        background: var(--gm-bg);
        pointer-events: none;
    }
    .gm-notes-page .gm-note-pin-form .gm-note-icon-btn.is-active::before {
        border-color: var(--gm-yellow);
        background: var(--gm-yellow-soft);
    }
    .gm-notes-page .gm-note-pin-form .gm-note-icon-btn svg {
        position: relative;
        width: 16.5px;
        height: 16.5px;
        pointer-events: none;
    }
}
/* Formulários financeiros desktop: recebimento à vista e parcelado. */
@media (min-width: 0px) {
    :is(.gm-cash-form-page, .gm-installment-form-page, .gm-pay-installment-page, .gm-exp-pay-page, .gm-exp-form-page) { min-width: 0; color: var(--gm-text); }
    :is(.gm-cash-form-page, .gm-installment-form-page, .gm-pay-installment-page, .gm-exp-pay-page, .gm-exp-form-page) :is(.gm-form-page-header, .gm-exp-form-header) { position: relative; isolation: isolate; display: flex; align-items: center; justify-content: space-between; gap: 17px; margin: 0 0 17px; padding: 17px 23px; overflow: hidden; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-md); background: linear-gradient(115deg, var(--gm-surface), var(--gm-bg)); }
    :is(.gm-cash-form-page, .gm-installment-form-page, .gm-pay-installment-page, .gm-exp-pay-page, .gm-exp-form-page) :is(.gm-form-page-header, .gm-exp-form-header)::before { content: none; }
    :is(.gm-cash-form-page, .gm-installment-form-page, .gm-pay-installment-page, .gm-exp-pay-page, .gm-exp-form-page) :is(.gm-form-page-header, .gm-exp-form-header)::after { content: ""; position: absolute; z-index: -1; inset: 0 0 0 38%; opacity: .45; background: url("../img/financial-wave.svg") right bottom / cover no-repeat; pointer-events: none; }
    :is(.gm-cash-form-page, .gm-installment-form-page, .gm-pay-installment-page, .gm-exp-pay-page, .gm-exp-form-page) :is(.gm-form-page-header, .gm-exp-form-header) > div { min-width: 0; }
    :is(.gm-cash-form-page, .gm-installment-form-page, .gm-pay-installment-page, .gm-exp-pay-page, .gm-exp-form-page) :is(.gm-form-back, .gm-exp-back) { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 14px; color: var(--gm-text-secondary); font-size: 13px; font-weight: 600; text-decoration: none; }
    :is(.gm-cash-form-page, .gm-installment-form-page, .gm-pay-installment-page, .gm-exp-pay-page, .gm-exp-form-page) svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; flex-shrink: 0; }
    :is(.gm-cash-form-page, .gm-installment-form-page, .gm-pay-installment-page, .gm-exp-pay-page, .gm-exp-form-page) :is(.gm-form-eyebrow, .gm-exp-form-eyebrow) { display: block; margin: 0 0 8px; color: var(--gm-info); font-size: 12px; font-weight: 700; letter-spacing: .12em; }
    :is(.gm-cash-form-page, .gm-installment-form-page, .gm-pay-installment-page, .gm-exp-pay-page, .gm-exp-form-page) h1 { margin: 0 0 8px; overflow-wrap: anywhere; color: var(--gm-text); font-size: clamp(22px, 3vw, 29px); font-weight: 800; line-height: 1.2; letter-spacing: -.035em; }
    :is(.gm-cash-form-page, .gm-installment-form-page, .gm-pay-installment-page, .gm-exp-pay-page, .gm-exp-form-page) :is(.gm-form-page-header, .gm-exp-form-header) p { margin: 0; color: var(--gm-text-secondary); font-size: 15px; line-height: 1.5; }
    :is(.gm-cash-form-layout, .gm-installment-layout, .gm-exp-form-layout) { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 340px); align-items: start; gap: 17px; margin: 0; }
    :is(.gm-cash-form-page, .gm-installment-form-page, .gm-pay-installment-page, .gm-exp-pay-page, .gm-exp-form-page) :is(.gm-form-card, .gm-form-side-card, .gm-installment-preview, .gm-exp-form-card, .gm-exp-form-side) { min-width: 0; margin: 0; padding: 17px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-md); background: var(--gm-surface); box-shadow: var(--gm-shadow-soft); }
    :is(.gm-cash-form-page, .gm-installment-form-page, .gm-pay-installment-page, .gm-exp-pay-page, .gm-exp-form-page) :is(.gm-form-card-header, .gm-preview-header, .gm-exp-form-card-head) { display: flex; align-items: flex-start; gap: 13px; margin: 0 0 17px; }
    :is(.gm-cash-form-page, .gm-installment-form-page, .gm-pay-installment-page, .gm-exp-pay-page, .gm-exp-form-page) :is(.gm-form-card-icon, .gm-form-side-icon, .gm-preview-icon, .gm-preview-empty-icon, .gm-exp-form-card-icon, .gm-exp-form-side-icon) { display: grid; place-items: center; flex-shrink: 0; width: 48px; height: 48px; margin: 0; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); background: var(--gm-green-soft); color: var(--gm-green); }
    .gm-installment-form-page :is(.gm-form-card-icon, .gm-preview-icon, .gm-preview-empty-icon) { background: var(--gm-blue-soft); color: var(--gm-info); }
    :is(.gm-cash-form-page, .gm-installment-form-page, .gm-pay-installment-page, .gm-exp-pay-page, .gm-exp-form-page) h2 { margin: 0 0 8px; color: var(--gm-text); font-size: 17px; font-weight: 700; line-height: 1.3; }
    :is(.gm-cash-form-page, .gm-installment-form-page, .gm-pay-installment-page, .gm-exp-pay-page, .gm-exp-form-page) :is(.gm-form-card-header, .gm-preview-header, .gm-form-side-card, .gm-installment-preview-empty) p { margin: 0; color: var(--gm-text-secondary); font-size: 14px; line-height: 1.6; }
    :is(.gm-cash-form-page, .gm-installment-form-page, .gm-pay-installment-page, .gm-exp-pay-page, .gm-exp-form-page) :is(.gm-modern-form, .gm-exp-modern-form) { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
    :is(.gm-cash-form-page, .gm-installment-form-page, .gm-pay-installment-page, .gm-exp-pay-page, .gm-exp-form-page) .gm-form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 0; }
    :is(.gm-cash-form-page, .gm-installment-form-page, .gm-pay-installment-page, .gm-exp-pay-page, .gm-exp-form-page) :is(.gm-form-field, .gm-exp-form-field) { min-width: 0; margin: 0 0 14px; }
    :is(.gm-cash-form-page, .gm-installment-form-page, .gm-pay-installment-page, .gm-exp-pay-page, .gm-exp-form-page) :is(.gm-form-field, .gm-exp-form-field) > label { display: block; margin: 0 0 8px; color: var(--gm-text); font-size: 13px; font-weight: 600; line-height: 1.5; }
    :is(.gm-cash-form-page, .gm-installment-form-page, .gm-pay-installment-page, .gm-exp-pay-page, .gm-exp-form-page) :is(.gm-form-field, .gm-exp-form-field) > label span { color: var(--gm-red); }
    :is(.gm-cash-form-page, .gm-installment-form-page, .gm-pay-installment-page, .gm-exp-pay-page, .gm-exp-form-page) :is(.gm-form-field, .gm-exp-form-field) > label small { margin-left: 6px; color: var(--gm-muted); font-size: 11px; font-weight: 400; }
    :is(.gm-cash-form-page, .gm-installment-form-page, .gm-pay-installment-page, .gm-exp-pay-page, .gm-exp-form-page) .gm-field-control { position: relative; display: block; min-width: 0; }
    :is(.gm-cash-form-page, .gm-installment-form-page, .gm-pay-installment-page, .gm-exp-pay-page, .gm-exp-form-page) .gm-field-control :is(input, textarea) { display: block; width: 100%; min-width: 0; min-height: 38px; margin: 0; padding: 10px 13px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); background: var(--gm-bg); color: var(--gm-text); font: inherit; font-size: 14px; line-height: 1.5; box-shadow: none; outline: none; }
    :is(.gm-cash-form-page, .gm-installment-form-page, .gm-pay-installment-page, .gm-exp-pay-page, .gm-exp-form-page) .gm-field-control input { height: 48px; }
    :is(.gm-cash-form-page, .gm-installment-form-page, .gm-pay-installment-page, .gm-exp-pay-page, .gm-exp-form-page) .gm-field-control textarea { min-height: 79px; resize: vertical; }
    :is(.gm-cash-form-page, .gm-installment-form-page, .gm-pay-installment-page, .gm-exp-pay-page, .gm-exp-form-page) .gm-field-control :is(input, textarea)::placeholder { color: var(--gm-muted); }
    :is(.gm-cash-form-page, .gm-installment-form-page, .gm-pay-installment-page, .gm-exp-pay-page, .gm-exp-form-page) :is(.gm-field-with-icon, .gm-money-control) input { padding-left: 43px; }
    :is(.gm-cash-form-page, .gm-installment-form-page, .gm-pay-installment-page, .gm-exp-pay-page, .gm-exp-form-page) .gm-field-with-icon > svg { position: absolute; z-index: 1; top: 13px; left: 14px; color: var(--gm-muted); pointer-events: none; }
    :is(.gm-cash-form-page, .gm-installment-form-page, .gm-pay-installment-page, .gm-exp-pay-page, .gm-exp-form-page) .gm-money-prefix { position: absolute; top: 14px; left: 14px; color: var(--gm-green); font-size: 14px; font-weight: 700; pointer-events: none; }
    :is(.gm-cash-form-page, .gm-installment-form-page, .gm-pay-installment-page, .gm-exp-pay-page, .gm-exp-form-page) .gm-field-help { display: block; margin-top: 8px; color: var(--gm-muted); font-size: 12px; line-height: 1.5; }
    :is(.gm-cash-form-page, .gm-installment-form-page, .gm-pay-installment-page, .gm-exp-pay-page, .gm-exp-form-page) .gm-field-errors { display: grid; gap: 4px; margin-top: 8px; color: var(--gm-red); font-size: 13px; line-height: 1.5; }
    :is(.gm-cash-form-page, .gm-installment-form-page, .gm-pay-installment-page, .gm-exp-pay-page, .gm-exp-form-page) .gm-form-global-errors { margin: 0 0 14px; padding: 10px 13px; border: 1px solid var(--gm-red); border-radius: var(--gm-radius-sm); background: var(--gm-red-soft); color: var(--gm-red); }
    :is(.gm-cash-form-page, .gm-installment-form-page, .gm-pay-installment-page, .gm-exp-pay-page, .gm-exp-form-page) .gm-form-global-errors p { margin: 0; font-size: 13px; line-height: 1.5; }
    :is(.gm-cash-form-page, .gm-installment-form-page, .gm-pay-installment-page, .gm-exp-pay-page, .gm-exp-form-page) :is(.gm-form-actions, .gm-exp-form-actions) { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 0; padding: 14px 0 0; border-top: 1px solid var(--gm-border); }
    :is(.gm-cash-form-page, .gm-installment-form-page, .gm-pay-installment-page, .gm-exp-pay-page, .gm-exp-form-page) :is(.gm-form-submit, .gm-form-cancel, .gm-exp-form-submit, .gm-exp-form-cancel) { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 36px; margin: 0; padding: 10px 14px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); background: var(--gm-bg); color: var(--gm-text-secondary); font: inherit; font-size: 13px; font-weight: 600; text-decoration: none; cursor: pointer; box-shadow: none; }
    :is(.gm-cash-form-page, .gm-installment-form-page, .gm-pay-installment-page, .gm-exp-pay-page, .gm-exp-form-page) :is(.gm-form-submit, .gm-exp-form-submit) { border-color: var(--gm-blue); background: var(--gm-blue); color: white; }
    .gm-cash-form-page .gm-side-arrow-mobile { display: none; }
    .gm-cash-form-page .gm-form-side-icon { margin-bottom: 14px; }
    .gm-cash-form-page .gm-form-side-label, .gm-installment-form-page :is(.gm-preview-header span, .gm-installment-preview-empty > span) { display: block; margin: 0 0 8px; color: var(--gm-info); font-size: 11px; font-weight: 700; letter-spacing: .1em; }
    .gm-cash-form-page .gm-form-side-list { display: grid; gap: 13px; margin-top: 17px; padding-top: 14px; border-top: 1px solid var(--gm-border); }
    .gm-cash-form-page .gm-form-side-list > div { display: flex; gap: 10px; color: var(--gm-text-secondary); font-size: 13px; line-height: 1.5; }
    .gm-cash-form-page .gm-form-side-list svg { color: var(--gm-green); }
    .gm-installment-form-page .gm-interest-rate-badge { display: grid; flex-shrink: 0; grid-template-columns: 1fr 20px; column-gap: 10px; padding: 11px 13px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); background: var(--gm-bg); color: var(--gm-text); text-decoration: none; }
    .gm-installment-form-page .gm-interest-rate-badge span { color: var(--gm-muted); font-size: 12px; }
    .gm-installment-form-page .gm-interest-rate-badge strong { grid-column: 1; color: var(--gm-info); font-size: 15px; }
    .gm-installment-form-page .gm-interest-rate-badge svg { grid-column: 2; grid-row: 1 / 3; align-self: center; }
    .gm-installment-form-page .gm-interest-choice > div { display: flex; flex-wrap: wrap; gap: 10px; min-height: 38px; align-items: center; }
    .gm-installment-form-page .gm-interest-choice label { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 10px 10px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); color: var(--gm-text-secondary); font-size: 13px; cursor: pointer; }
    .gm-installment-form-page input[type="radio"] { width: 16px; height: 16px; min-height: 0; margin: 0; padding: 0; accent-color: var(--gm-blue); box-shadow: none; }
    .gm-installment-form-page .gm-interest-choice label:has(input:checked) { border-color: var(--gm-blue); background: var(--gm-blue-soft); color: var(--gm-text); }
    .gm-installment-form-page .gm-installment-edit-lock { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 17px; padding: 13px; border: 1px solid var(--gm-yellow); border-radius: var(--gm-radius-sm); background: var(--gm-yellow-soft); color: var(--gm-yellow); }
    .gm-installment-form-page .gm-installment-edit-lock strong { display: block; margin-bottom: 6px; color: inherit; font-size: 14px; }
    .gm-installment-form-page .gm-installment-edit-lock span { display: block; color: var(--gm-text-secondary); font-size: 13px; line-height: 1.5; }
    .gm-installment-form-page .gm-field-control input:disabled { opacity: .65; cursor: not-allowed; }
    .gm-installment-form-page .gm-interest-choice label:has(input:disabled) { opacity: .65; cursor: not-allowed; }
    .gm-installment-form-page .gm-installment-preview[hidden], .gm-installment-form-page .gm-preview-note[hidden] { display: none; }
    .gm-installment-form-page .gm-preview-highlight { margin-bottom: 14px; padding: 13px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); background: var(--gm-blue-soft); }
    .gm-installment-form-page .gm-preview-highlight span { display: block; margin-bottom: 8px; color: var(--gm-text-secondary); font-size: 12px; }
    .gm-installment-form-page .gm-preview-highlight strong { display: block; overflow-wrap: anywhere; color: var(--gm-info); font-size: 17px; line-height: 1.4; }
    .gm-installment-form-page .gm-preview-list { display: grid; gap: 13px; }
    .gm-installment-form-page .gm-preview-list > div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; color: var(--gm-text-secondary); font-size: 13px; line-height: 1.5; }
    .gm-installment-form-page .gm-preview-list strong { overflow-wrap: anywhere; color: var(--gm-text); font-weight: 700; }
    .gm-installment-form-page .gm-preview-total { padding-top: 13px; border-top: 1px solid var(--gm-border); }
    .gm-installment-form-page .gm-preview-total strong { color: var(--gm-green); }
    .gm-installment-form-page .gm-preview-note { margin: 14px 0 0; color: var(--gm-muted); font-size: 12px; line-height: 1.5; }
    .gm-installment-form-page .gm-preview-empty-icon { margin-bottom: 14px; }
    :is(.gm-cash-form-page, .gm-installment-form-page, .gm-pay-installment-page, .gm-exp-pay-page, .gm-exp-form-page) :is(input, textarea, button, a):focus-visible { outline: 2px solid var(--gm-info); outline-offset: 3px; }
}
@media (min-width: 901px) and (max-width: 1180px) {
    :is(.gm-cash-form-layout, .gm-installment-layout, .gm-exp-form-layout) { grid-template-columns: minmax(0, 1fr); }
    .gm-installment-form-page :is(.gm-form-page-header, .gm-exp-form-header) { align-items: flex-start; flex-wrap: wrap; }
}

/* Confirmações financeiras desktop: mesmos campos e ações, resumos próprios. */
@media (min-width: 0px) {
    .gm-exp-pay-page .gm-exp-form-header { display: block; }
    :is(.gm-pay-installment-layout, .gm-exp-pay-layout) { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 340px); gap: 17px; align-items: start; }
    :is(.gm-pay-installment-card, .gm-exp-pay-card, .gm-pay-side-card, .gm-exp-pay-page .gm-exp-form-side) { min-width: 0; margin: 0; padding: 17px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-md); background: var(--gm-surface); box-shadow: var(--gm-shadow-soft); }
    :is(.gm-pay-installment-page, .gm-exp-pay-page, .gm-exp-form-page) :is(h2, .gm-pay-form-heading h2) { margin: 0 0 8px; color: var(--gm-text); font-size: 17px; font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; }
    :is(.gm-pay-summary, .gm-exp-pay-summary) { margin: 0 0 17px; padding: 0 0 17px; border-bottom: 1px solid var(--gm-border); }
    .gm-pay-summary-top { display: flex; align-items: center; gap: 13px; margin-bottom: 17px; }
    :is(.gm-pay-summary-icon, .gm-pay-side-icon, .gm-exp-pay-page .gm-exp-form-side-icon) { display: grid; place-items: center; width: 48px; height: 48px; margin: 0 0 14px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); background: var(--gm-green-soft); color: var(--gm-green); }
    .gm-pay-summary-icon { margin: 0; }
    .gm-exp-pay-page .gm-exp-form-side-icon { background: var(--gm-yellow-soft); color: var(--gm-yellow); }
    :is(.gm-pay-summary-top span, .gm-exp-pay-summary > span, .gm-pay-side-card > span, .gm-exp-pay-page .gm-exp-form-side > span) { display: block; margin: 0 0 8px; color: var(--gm-info); font-size: 11px; font-weight: 700; letter-spacing: .1em; }
    :is(.gm-pay-main-value, .gm-exp-pay-value) { margin: 13px 0 17px; }
    :is(.gm-pay-main-value, .gm-exp-pay-value) span { display: block; margin-bottom: 8px; color: var(--gm-text-secondary); font-size: 13px; }
    :is(.gm-pay-main-value, .gm-exp-pay-value) strong { display: block; overflow-wrap: anywhere; color: var(--gm-green); font-size: 24px; font-weight: 800; line-height: 1.2; }
    .gm-exp-pay-value strong { color: var(--gm-yellow); }
    :is(.gm-pay-info-grid, .gm-exp-pay-meta) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
    :is(.gm-pay-info-grid, .gm-exp-pay-meta) span { display: block; margin-bottom: 8px; color: var(--gm-muted); font-size: 12px; }
    :is(.gm-pay-info-grid, .gm-exp-pay-meta) strong { display: block; overflow-wrap: anywhere; color: var(--gm-text); font-size: 14px; font-weight: 600; line-height: 1.5; }
    :is(.gm-pay-form-heading, .gm-exp-pay-form-area) > p, :is(.gm-pay-side-card, .gm-exp-pay-page .gm-exp-form-side) p { margin: 0 0 14px; color: var(--gm-text-secondary); font-size: 14px; line-height: 1.6; }
    .gm-pay-form-heading { margin-bottom: 14px; }
    .gm-exp-pay-form-area form { margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
    .gm-exp-pay-page .gm-exp-form-field input { display: block; width: 100%; height: 48px; margin: 0; padding: 10px 13px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); background: var(--gm-bg); color: var(--gm-text); font: inherit; font-size: 14px; box-shadow: none; }
    .gm-exp-pay-page .gm-exp-field-error { display: block; margin-top: 8px; color: var(--gm-red); font-size: 13px; line-height: 1.5; }
    :is(.gm-pay-note, .gm-exp-pay-note) { display: flex; align-items: flex-start; gap: 10px; margin: 14px 0; padding: 13px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); background: var(--gm-blue-soft); color: var(--gm-text-secondary); font-size: 13px; line-height: 1.6; }
    :is(.gm-pay-note, .gm-exp-pay-note) svg { color: var(--gm-info); }
    :is(.gm-pay-installment-page .gm-pay-submit, .gm-exp-pay-page .gm-exp-pay-submit) { border-color: var(--gm-green); background: var(--gm-green); color: var(--gm-bg); }
    :is(.gm-pay-arrow-mobile, .gm-exp-pay-page .gm-exp-side-arrow-mobile) { display: none; }
    .gm-pay-side-list { display: grid; gap: 13px; margin-top: 17px; padding-top: 14px; border-top: 1px solid var(--gm-border); }
    .gm-pay-side-list > div { display: flex; gap: 10px; color: var(--gm-text-secondary); font-size: 13px; line-height: 1.5; }
    .gm-pay-side-list svg { color: var(--gm-green); }
}
@media (min-width: 901px) and (max-width: 1180px) {
    :is(.gm-pay-installment-layout, .gm-exp-pay-layout) { grid-template-columns: minmax(0, 1fr); }
}

/* Detalhe do parcelamento desktop: indicadores, condições e tabela de parcelas. */
@media (min-width: 0px) {
    .gm-installment-detail-page { min-width: 0; color: var(--gm-text); }
    .gm-installment-detail-page .gm-detail-hero { position: relative; isolation: isolate; margin: 0 0 17px; padding: 17px 23px; overflow: hidden; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-md); background: linear-gradient(115deg, var(--gm-surface), var(--gm-bg)); }
    .gm-installment-detail-page .gm-detail-hero::before { content: none; }
    .gm-installment-detail-page .gm-detail-hero::after { content: ""; position: absolute; z-index: -1; inset: 0 0 0 38%; opacity: .45; background: url("../img/financial-wave.svg") right bottom / cover no-repeat; pointer-events: none; }
    .gm-installment-detail-page svg { width: 22px; height: 22px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.8; }
    .gm-installment-detail-page .gm-form-back { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 14px; color: var(--gm-text-secondary); font-size: 13px; font-weight: 600; text-decoration: none; }
    .gm-installment-detail-page :is(.gm-detail-eyebrow, .gm-detail-summary-header span, .gm-installments-heading > div > span) { display: block; margin: 0 0 8px; color: var(--gm-info); font-size: 11px; font-weight: 700; letter-spacing: .1em; }
    .gm-installment-detail-page .gm-detail-title-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 17px; }
    .gm-installment-detail-page .gm-detail-title-row > div { min-width: 0; }
    .gm-installment-detail-page h1 { margin: 0 0 8px; overflow-wrap: anywhere; color: var(--gm-text); font-size: clamp(22px, 3vw, 29px); font-weight: 800; line-height: 1.2; letter-spacing: -.035em; }
    .gm-installment-detail-page .gm-detail-title-row p { margin: 0; color: var(--gm-text-secondary); font-size: 14px; line-height: 1.5; }
    .gm-installment-detail-page .gm-detail-status { flex-shrink: 0; padding: 6px 10px; border: 1px solid var(--gm-border); border-radius: 999px; background: var(--gm-blue-soft); color: var(--gm-info); font-size: 12px; font-weight: 600; }
    .gm-installment-detail-page .gm-detail-description { display: flex; align-items: flex-start; gap: 10px; margin-top: 14px; color: var(--gm-text-secondary); font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
    .gm-installment-detail-page .gm-detail-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; margin-bottom: 17px; }
    .gm-installment-detail-page .gm-detail-metric { min-width: 0; margin: 0; padding: 14px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-md); background: var(--gm-surface); box-shadow: var(--gm-shadow-soft); }
    .gm-installment-detail-page .gm-detail-metric-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 13px; }
    .gm-installment-detail-page .gm-detail-metric-top span { color: var(--gm-text-secondary); font-size: 13px; line-height: 1.5; }
    .gm-installment-detail-page .gm-detail-metric-icon { display: grid; place-items: center; width: 36px; height: 36px; flex-shrink: 0; border-radius: var(--gm-radius-xs); background: var(--gm-blue-soft); color: var(--gm-info); }
    .gm-installment-detail-page .gm-detail-metric > strong { display: block; overflow-wrap: anywhere; margin-bottom: 8px; color: var(--gm-info); font-size: clamp(18px, 2vw, 23px); font-weight: 800; line-height: 1.2; }
    .gm-installment-detail-page .gm-detail-metric small { color: var(--gm-muted); font-size: 12px; line-height: 1.5; }
    .gm-installment-detail-page .gm-detail-metric-green > strong { color: var(--gm-green); }
    .gm-installment-detail-page .gm-detail-metric-purple > strong { color: var(--gm-purple); }
    .gm-installment-detail-page .gm-detail-metric-orange > strong { color: var(--gm-yellow); }
    .gm-installment-detail-page .gm-detail-metric-green .gm-detail-metric-icon { background: var(--gm-green-soft); color: var(--gm-green); }
    .gm-installment-detail-page .gm-detail-metric-purple .gm-detail-metric-icon { background: var(--gm-purple-soft); color: var(--gm-purple); }
    .gm-installment-detail-page .gm-detail-metric-orange .gm-detail-metric-icon { background: var(--gm-yellow-soft); color: var(--gm-yellow); }
    .gm-installment-detail-page :is(.gm-detail-summary-card, .gm-installments-card) { margin: 0 0 17px; padding: 17px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-md); background: var(--gm-surface); box-shadow: var(--gm-shadow-soft); }
    .gm-installment-detail-page .gm-detail-summary-header { display: flex; align-items: center; gap: 13px; margin-bottom: 17px; }
    .gm-installment-detail-page .gm-detail-summary-icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: var(--gm-radius-sm); background: var(--gm-blue-soft); color: var(--gm-info); }
    .gm-installment-detail-page h2 { margin: 0 0 8px; color: var(--gm-text); font-size: 17px; font-weight: 700; line-height: 1.3; }
    .gm-installment-detail-page .gm-detail-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
    .gm-installment-detail-page .gm-detail-summary-grid > div { min-width: 0; padding: 0; border: 0; background: transparent; }
    .gm-installment-detail-page .gm-detail-summary-grid span { display: block; margin-bottom: 8px; color: var(--gm-muted); font-size: 12px; }
    .gm-installment-detail-page .gm-detail-summary-grid strong { display: block; overflow-wrap: anywhere; color: var(--gm-text); font-size: 15px; font-weight: 600; }
    .gm-installment-detail-page .gm-detail-summary-grid .gm-detail-total-value { color: var(--gm-green); }
    .gm-installment-detail-page .gm-installments-heading { display: flex; align-items: center; justify-content: space-between; gap: 17px; margin-bottom: 14px; }
    .gm-installment-detail-page .gm-installments-heading p { margin: 0; color: var(--gm-text-secondary); font-size: 14px; line-height: 1.5; }
    .gm-installment-detail-page .gm-installments-count { display: flex; align-items: center; gap: 8px; flex-shrink: 0; padding: 8px 10px; border-radius: var(--gm-radius-sm); background: var(--gm-blue-soft); color: var(--gm-info); font-size: 14px; font-weight: 700; }
    .gm-installment-detail-page .gm-installments-count span { font-size: 12px; font-weight: 400; }
    .gm-installment-detail-page .gm-installments-desktop { display: block; }
    .gm-installment-detail-page .gm-installments-mobile { display: none; }
    .gm-installment-detail-page .gm-installments-card { padding: 0; overflow: hidden; }
    .gm-installment-detail-page .gm-installments-table-wrap { width: 100%; overflow-x: auto; }
    .gm-installment-detail-page .gm-installments-table { width: 100%; min-width: 660px; margin: 0; border: 0; border-collapse: collapse; background: transparent; color: var(--gm-text); }
    .gm-installment-detail-page .gm-installments-table th { padding: 10px 13px; border-bottom: 1px solid var(--gm-border); background: var(--gm-surface-2); color: var(--gm-muted); font-size: 11px; font-weight: 700; text-align: left; text-transform: uppercase; }
    .gm-installment-detail-page .gm-installments-table td { padding: 13px; border-bottom: 1px solid var(--gm-border); background: transparent; color: var(--gm-text); font-size: 13px; vertical-align: middle; }
    .gm-installment-detail-page .gm-installments-table tr:last-child td { border-bottom: 0; }
    .gm-installment-detail-page :is(.gm-installment-number, .gm-installment-value) { color: var(--gm-text); font-size: 14px; font-weight: 600; }
    .gm-installment-detail-page .gm-installment-date { color: var(--gm-text-secondary); font-size: 13px; }
    .gm-installment-detail-page .gm-installment-status-wrap { display: grid; gap: 8px; }
    .gm-installment-detail-page .gm-installment-status-wrap small { color: var(--gm-muted); font-size: 11px; }
    .gm-installment-detail-page .gm-installment-status { display: inline-flex; align-items: center; gap: 6px; width: fit-content; padding: 6px 10px; border-radius: 999px; background: var(--gm-yellow-soft); color: var(--gm-yellow); font-size: 12px; font-weight: 600; }
    .gm-installment-detail-page .gm-installment-status svg { width: 16px; height: 16px; }
    .gm-installment-detail-page .gm-installment-status-paid { background: var(--gm-green-soft); color: var(--gm-green); }
    .gm-installment-detail-page .gm-installment-status-late { background: var(--gm-red-soft); color: var(--gm-red); }
    .gm-installment-detail-page .gm-installment-action { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 36px; margin: 0; padding: 8px 10px; border: 1px solid color-mix(in srgb, var(--gm-action-green) 25%, transparent); border-radius: var(--gm-radius-xs); background: var(--gm-green-soft); color: var(--gm-action-green); font: inherit; font-size: 12px; font-weight: 600; text-decoration: none; cursor: pointer; box-shadow: none; }
    .gm-installment-detail-page .gm-installment-action-secondary { border-color: color-mix(in srgb, var(--gm-action-yellow) 25%, transparent); background: var(--gm-yellow-soft); color: var(--gm-action-yellow); }
    .gm-installment-detail-page .gm-installment-inline-form { margin: 0; padding: 0; border: 0; background: transparent; }
    .gm-installment-detail-page :is(button, a):focus-visible { outline: 2px solid var(--gm-info); outline-offset: 3px; }
}
@media (min-width: 901px) and (max-width: 1180px) {
    .gm-installment-detail-page .gm-detail-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gm-installment-detail-page .gm-detail-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
    .gm-installment-detail-page .gm-detail-hero { padding: 10px; }
    .gm-installment-detail-page .gm-detail-title-row { flex-wrap: wrap; }
    .gm-installment-detail-page .gm-detail-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
    .gm-installment-detail-page .gm-detail-summary-grid { grid-template-columns: minmax(0,1fr); }
    .gm-installments-table-wrap { max-width: 100%; overflow-x: auto; }
    .gm-installments-table { min-width: 600px; }
    .gm-installment-detail-page .gm-installments-desktop { display: none; }
    .gm-installment-detail-page .gm-installments-mobile { display: grid; gap: 8px; }
    .gm-mobile-installment-card { padding: 12px; border: 1px solid var(--gm-border); border-radius: 12px; background: var(--gm-surface); }
    .gm-mobile-installment-head { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
    .gm-mobile-installment-head > div { display: flex; align-items: center; gap: 6px; }
    .gm-mobile-installment-head > div > span { color: var(--gm-text-secondary); font-size: 11px; }
    .gm-mobile-installment-info { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-top: 10px; }
    .gm-mobile-installment-info > div { display: grid; gap: 3px; }
    .gm-mobile-installment-info span { color: var(--gm-text-secondary); font-size: 12px; }
    .gm-mobile-installment-info strong { font-size: 14px; overflow-wrap: anywhere; }
    .gm-mobile-installment-payment-date { margin-top: 8px; display: flex; flex-wrap: wrap; gap: 6px; font-size: 12px; color: var(--gm-text-secondary); }
    .gm-mobile-installment-head .gm-installment-status { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; }
    .gm-mobile-installment-head .gm-installment-status svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; }
    .gm-mobile-installment-head .gm-installment-status-paid { color: var(--gm-green); }
    .gm-mobile-installment-head .gm-installment-status-late { color: var(--gm-red); }
    .gm-mobile-installment-head .gm-installment-status-pending { color: var(--gm-yellow); }
    .gm-installments-heading { flex-wrap: wrap; }
    .gm-installment-detail-page .gm-detail-metric > strong { font-size: 20px; }
    :is(.gm-detail-metric-icon,.gm-detail-summary-icon) { width: 28px; height: 28px; }
    .gm-installment-detail-page :is(.gm-detail-hero,.gm-detail-metric,.gm-detail-summary-card) { padding: 10px; margin-bottom: 10px; }
    .gm-installment-detail-page .gm-detail-metric { min-height: 0; gap: 6px; }
    .gm-installment-detail-page :is(.btn,.gm-installment-action) { min-height: 44px; }

}
/* Despesas e saídas: variantes do formulário financeiro, sem alterar cálculos. */
@media (min-width: 0px) {
    .gm-exp-form-page .gm-exp-form-header { display: block; }
    .gm-exp-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 14px; }
    .gm-exp-form-page .gm-exp-form-field :is(input:not([type="hidden"]), select, textarea) { width: 100%; min-height: 38px; margin: 0; padding: 10px 13px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); background: var(--gm-bg); color: var(--gm-text); font: inherit; font-size: 14px; box-shadow: none; }
    .gm-exp-form-page .gm-exp-form-field .gm-money-control input { padding-left: 43px; }
    .gm-exp-form-page .gm-money-prefix { color: var(--gm-yellow); }
    .gm-out-page .gm-money-prefix { color: var(--gm-red); }
    .gm-exp-form-page :is(.gm-exp-form-card-icon, .gm-exp-form-side-icon) { background: var(--gm-yellow-soft); color: var(--gm-yellow); }
    .gm-out-page :is(.gm-exp-form-card-icon, .gm-exp-form-side-icon) { background: var(--gm-red-soft); color: var(--gm-red); }
    .gm-exp-form-page .gm-exp-form-submit { border-color: var(--gm-yellow); background: var(--gm-yellow); color: var(--gm-bg); }
    .gm-out-page .gm-exp-form-submit { border-color: var(--gm-red); background: var(--gm-red); color: white; }
    .gm-exp-form-page :is(.gm-exp-form-card-head, .gm-exp-form-side) p { margin: 0; color: var(--gm-text-secondary); font-size: 14px; line-height: 1.6; }
    .gm-exp-form-page :is(.gm-exp-form-side > span, .gm-exp-side-label) { display: block; margin-bottom: 8px; color: var(--gm-info); font-size: 11px; font-weight: 700; letter-spacing: .1em; }
    .gm-exp-form-page .gm-exp-form-side-icon { margin-bottom: 14px; }
    .gm-exp-form-side-list { display: grid; gap: 13px; margin-top: 17px; padding-top: 14px; border-top: 1px solid var(--gm-border); }
    .gm-exp-form-side-list > div { display: flex; gap: 10px; color: var(--gm-text-secondary); font-size: 13px; line-height: 1.5; }
    .gm-exp-form-side-list svg { color: var(--gm-yellow); }
    .gm-exp-form-page :is(.gm-exp-side-arrow-mobile, .gm-out-mobile-quick-info-legacy, .gm-out-mobile-quick-info-card) { display: none; }
    .gm-exp-form-page :is(.gm-exp-field-error, .gm-exp-form-errors) { display: block; margin-top: 8px; color: var(--gm-red); font-size: 13px; line-height: 1.5; }
    .gm-exp-form-page .gm-exp-form-errors { margin: 0 0 14px; padding: 13px; border: 1px solid var(--gm-red); border-radius: var(--gm-radius-sm); background: var(--gm-red-soft); }
    .gm-exp-form-page .gm-exp-form-field > label em { margin-left: 6px; color: var(--gm-muted); font-size: 11px; font-style: normal; }
    .gm-exp-installments-control > small, .gm-exp-fixed-copy small { display: block; margin-top: 8px; color: var(--gm-muted); font-size: 12px; line-height: 1.6; }
    .gm-exp-fixed-control { position: relative; display: flex; align-items: center; gap: 13px; margin: 0 0 17px; padding: 13px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); background: var(--gm-bg); cursor: pointer; }
    .gm-exp-fixed-control input { position: absolute; width: 44px; height: 24px; margin: 0; opacity: 0; }
    .gm-exp-fixed-switch { position: relative; flex-shrink: 0; width: 44px; height: 24px; border-radius: 24px; background: var(--gm-surface-3); }
    .gm-exp-fixed-switch::after { content: ""; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: var(--gm-text-secondary); transition: transform 160ms; }
    .gm-exp-fixed-control input:checked + .gm-exp-fixed-switch { background: var(--gm-blue); }
    .gm-exp-fixed-control input:checked + .gm-exp-fixed-switch::after { transform: translateX(20px); background: white; }
    .gm-exp-fixed-control input:focus-visible + .gm-exp-fixed-switch { outline: 2px solid var(--gm-info); outline-offset: 3px; }
    .gm-exp-fixed-copy { min-width: 0; }
    .gm-exp-fixed-copy strong { color: var(--gm-text); font-size: 14px; }
    .gm-exp-installments-control.is-disabled { opacity: .6; }
    .gm-exp-installments-control.is-disabled input { cursor: not-allowed; }
    .gm-exp-installment-toast { position: fixed; right: 24px; bottom: 24px; z-index: 1200; max-width: 360px; padding: 13px; border: 1px solid var(--gm-yellow); border-radius: var(--gm-radius-sm); background: var(--gm-surface); color: var(--gm-yellow); font-size: 13px; line-height: 1.5; box-shadow: var(--gm-shadow); opacity: 0; visibility: hidden; }
    .gm-exp-installment-toast.is-visible { opacity: 1; visibility: visible; }
}

@media (max-width: 900px) {
    :is(.gm-cash-form-layout, .gm-installment-layout, .gm-exp-form-layout, .gm-pay-installment-layout, .gm-exp-pay-layout) { grid-template-columns: minmax(0,1fr); gap: 8px; }
    :is(.gm-cash-form-page,.gm-installment-form-page,.gm-pay-installment-page,.gm-exp-pay-page,.gm-exp-form-page) :is(.gm-form-page-header,.gm-exp-form-header) { min-height: 0; padding: 10px; margin-bottom: 10px; gap: 8px; }
    :is(.gm-cash-form-page,.gm-installment-form-page,.gm-pay-installment-page,.gm-exp-pay-page,.gm-exp-form-page) h1 { font-size: 22px; }
    :is(.gm-cash-form-page, .gm-installment-form-page, .gm-exp-form-page) .gm-form-row, .gm-exp-form-grid { grid-template-columns: minmax(0,1fr); }
    :is(.gm-form-card, .gm-installment-preview, .gm-exp-form-card, .gm-pay-installment-card, .gm-exp-pay-card) { padding: 10px; }
    :is(.gm-form-actions, .gm-exp-form-actions) { flex-wrap: wrap; }
    :is(.gm-form-actions, .gm-exp-form-actions) > :is(button,a) { flex: 1 1 auto; min-height: 44px; white-space: nowrap; }
    :is(.gm-cash-form-page, .gm-installment-form-page, .gm-exp-form-page) :is(input:not([type=hidden]):not([type=checkbox]),select,textarea) { font-size: 16px; }
    .gm-out-mobile-quick-info-card, .gm-out-mobile-quick-info-legacy { display: none; }
    .gm-exp-form-side { padding: 10px; }
    :is(.gm-form-card-icon,.gm-exp-form-card-icon,.gm-form-side-icon,.gm-exp-form-side-icon,.gm-preview-icon,.gm-pay-side-icon) { flex-basis: 28px; width: 28px; height: 28px; }

    :is(.gm-form-card-head,.gm-exp-form-card-head,.gm-preview-header) { gap: 8px; margin-bottom: 10px; }
    :is(.gm-form-grid,.gm-exp-form-grid,.gm-preview-list) { gap: 8px; }
    :is(.gm-form-row,.gm-form-field,.gm-exp-form-field) { gap: 6px; }
    :is(.gm-form-actions,.gm-exp-form-actions) { gap: 8px; margin-top: 10px; padding-top: 10px; }
    :is(.gm-pay-installment-page,.gm-exp-pay-page) :is(input:not([type=hidden]),select,.btn) { min-height: 44px; }

    .gm-exp-form-page .gm-exp-form-submit { min-height: 44px; }
    .gm-installment-form-page .gm-form-page-header { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 6px 8px; }
    .gm-installment-form-page .gm-form-page-header > div { display: contents; }
    .gm-installment-form-page .gm-form-page-header :is(.gm-form-eyebrow,h1,p) { grid-column: 1 / -1; margin: 0; }
    .gm-installment-form-page .gm-form-back { grid-column: 1; grid-row: 1; align-self: center; margin: 0; font-size: 12px; }
    .gm-installment-form-page .gm-interest-rate-badge { grid-column: 2; grid-row: 1; align-self: start; min-height: 44px; padding: 5px 8px; column-gap: 5px; }
    .gm-installment-form-page .gm-interest-rate-badge span { font-size: 11px; }
    .gm-installment-form-page .gm-interest-rate-badge strong { font-size: 13px; }
    :is(.gm-form-actions,.gm-exp-form-actions) > :is(.gm-form-submit,.gm-exp-form-submit) { flex: 1 1 200px; }
    :is(.gm-form-actions,.gm-exp-form-actions) > :is(.gm-form-cancel,.gm-exp-form-cancel) { flex: 0 1 auto; }
    .gm-cash-form-page .gm-side-arrow-desktop,
    .gm-exp-form-page .gm-exp-side-arrow-desktop,
    .gm-pay-installment-page .gm-pay-arrow-desktop,
    .gm-exp-pay-page .gm-exp-side-arrow-desktop { display: none; }
    .gm-cash-form-page .gm-side-arrow-mobile,
    .gm-exp-form-page .gm-exp-side-arrow-mobile,
    .gm-pay-installment-page .gm-pay-arrow-mobile,
    .gm-exp-pay-page .gm-exp-side-arrow-mobile { display: block; }
}
/* Primitivas das telas auxiliares; variantes e estados vivem nos respectivos componentes. */
@media (min-width: 0px) {
    :is(.gm-settings-hub, .gm-settings-detail, .gm-billing-page, .gm-billing-flow-page, .gm-suspended-page, .owner-admin-page, .gm-admin-account-page, .gm-install-hub-v6, .gm-install-detail-page, .gm-support-v2, .legal-page, .gm-security-page, .public-shell, .gm-notifications-page, .gm-modal) { min-width: 0; color: var(--gm-text); font-family: Inter, ui-sans-serif, system-ui, sans-serif; }
    :is(.gm-settings-hub, .gm-settings-detail, .gm-billing-page, .gm-billing-flow-page, .gm-suspended-page, .owner-admin-page, .gm-admin-account-page, .gm-install-hub-v6, .gm-install-detail-page, .gm-support-v2, .legal-page, .gm-security-page, .public-shell, .gm-notifications-page, .gm-modal) :is(h1, h2, h3, strong, p, a, span) { overflow-wrap: anywhere; }
    :is(.gm-settings-hub, .gm-settings-detail, .gm-billing-page, .gm-billing-flow-page, .gm-suspended-page, .owner-admin-page, .gm-admin-account-page, .gm-install-hub-v6, .gm-install-detail-page, .gm-support-v2, .legal-page, .gm-security-page, .public-shell, .gm-notifications-page, .gm-modal) h1:where(:not(.gm-exp-form-page *)) { margin: 0 0 8px; color: var(--gm-text); font-size: clamp(22px, 2.5vw, 29px); line-height: 1.2; letter-spacing: -.035em; }
    :is(.gm-settings-hub, .gm-settings-detail, .gm-billing-page, .gm-billing-flow-page, .gm-suspended-page, .owner-admin-page, .gm-admin-account-page, .gm-install-hub-v6, .gm-install-detail-page, .gm-support-v2, .legal-page, .gm-security-page, .public-shell, .gm-notifications-page, .gm-modal) h2:where(:not(.gm-exp-form-page *)) { margin: 0 0 8px; color: var(--gm-text); font-size: 18px; line-height: 1.3; }
    :is(.gm-settings-hub, .gm-settings-detail, .gm-billing-page, .gm-billing-flow-page, .gm-suspended-page, .owner-admin-page, .gm-admin-account-page, .gm-install-hub-v6, .gm-install-detail-page, .gm-support-v2, .legal-page, .gm-security-page, .public-shell, .gm-notifications-page, .gm-modal) p:where(:not(.gm-exp-form-page *)) { color: var(--gm-text-secondary); line-height: 1.6; }
    :where(.gm-settings-hub, .gm-settings-detail, .gm-billing-page, .gm-billing-flow-page, .gm-suspended-page, .owner-admin-page, .gm-admin-account-page, .gm-install-hub-v6, .gm-install-detail-page, .gm-support-v2, .legal-page, .gm-security-page, .public-shell, .gm-notifications-page, .gm-modal) a { color: var(--gm-info); }
    :is(.gm-settings-hub, .gm-settings-detail, .gm-billing-page, .gm-billing-flow-page, .gm-suspended-page, .owner-admin-page, .gm-admin-account-page, .gm-install-hub-v6, .gm-install-detail-page, .gm-support-v2, .legal-page, .gm-security-page, .public-shell, .gm-notifications-page, .gm-modal) svg { width: 22px; height: 22px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.8; }
    :is(.gm-settings-hub-header, .gm-settings-detail-header, .gm-billing-hero, .owner-admin-hero, .gm-admin-account-hero, .gm-install-hub-v6-header, .gm-support-v2-header, .gm-legal-header, .gm-security-hero, .gm-notifications-header) { position: relative; isolation: isolate; margin-bottom: 16px; padding: 16px 22px; overflow: hidden; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-md); background: linear-gradient(115deg, var(--gm-surface), var(--gm-bg)); box-shadow: none; }
    :is(.gm-settings-hub-header, .gm-settings-detail-header, .gm-billing-hero, .owner-admin-hero, .gm-admin-account-hero, .gm-install-hub-v6-header, .gm-support-v2-header, .gm-legal-header, .gm-security-hero, .gm-notifications-header)::before { content: none; }
    :is(.gm-settings-hub-header, .gm-settings-detail-header, .gm-billing-hero, .owner-admin-hero, .gm-admin-account-hero, .gm-install-hub-v6-header, .gm-support-v2-header, .gm-legal-header, .gm-security-hero, .gm-notifications-header)::after { content: ""; position: absolute; z-index: -1; inset: 0 0 0 40%; opacity: .45; background: url("../img/financial-wave.svg") right bottom / cover no-repeat; pointer-events: none; }
    :is(.gm-settings-menu, .gm-settings-detail-card, .gm-settings-preference-card, .gm-billing-plan-card, .gm-billing-rules, .gm-billing-history, .gm-billing-lifetime, .gm-billing-flow-card, .gm-billing-flow-side, .gm-billing-success-card, .gm-suspended-card, .owner-admin-section, .owner-admin-kpi, .gm-admin-support-card, .gm-admin-support-section, .gm-install-hub-v6-menu, .gm-install-detail-card, .gm-install-support-card, .gm-support-v2-card, .gm-support-v2-help, .gm-security-card, .gm-notification-row, .gm-notifications-empty, .auth-card, .gm-modal) { min-width: 0; padding: 22px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-md); background: var(--gm-surface); box-shadow: var(--gm-shadow-soft); }
    :is(.gm-settings-hub, .gm-settings-detail, .gm-billing-page, .gm-billing-flow-page, .gm-suspended-page, .owner-admin-page, .gm-admin-account-page, .gm-install-hub-v6, .gm-install-detail-page, .gm-support-v2, .legal-page, .gm-security-page, .public-shell, .gm-notifications-page, .gm-modal) label { color: var(--gm-text); font-size: 13px; font-weight: 600; }
    :is(.gm-settings-hub, .gm-settings-detail, .gm-billing-page, .gm-billing-flow-page, .gm-suspended-page, .owner-admin-page, .gm-admin-account-page, .gm-install-hub-v6, .gm-install-detail-page, .gm-support-v2, .legal-page, .gm-security-page, .public-shell, .gm-notifications-page, .gm-modal) :where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]), select, textarea) { width: 100%; min-width: 0; min-height: 48px; margin: 0; padding: 12px 14px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); background: var(--gm-bg); color: var(--gm-text); font: inherit; font-size: 14px; box-shadow: none; }
    :is(.gm-settings-hub, .gm-settings-detail, .gm-billing-page, .gm-billing-flow-page, .gm-suspended-page, .owner-admin-page, .gm-admin-account-page, .gm-install-hub-v6, .gm-install-detail-page, .gm-support-v2, .legal-page, .gm-security-page, .public-shell, .gm-notifications-page, .gm-modal) :is(input, textarea)::placeholder { color: var(--gm-muted); }
    :is(.gm-settings-hub, .gm-settings-detail, .gm-billing-page, .gm-billing-flow-page, .gm-suspended-page, .owner-admin-page, .gm-admin-account-page, .gm-install-hub-v6, .gm-install-detail-page, .gm-support-v2, .legal-page, .gm-security-page, .public-shell, .gm-notifications-page, .gm-modal) :is(input[type="checkbox"], input[type="radio"]):where(:not(.gm-exp-form-page *)) { accent-color: var(--gm-blue); }
    :is(.gm-settings-hub, .gm-settings-detail, .gm-billing-page, .gm-billing-flow-page, .gm-suspended-page, .owner-admin-page, .gm-admin-account-page, .gm-install-hub-v6, .gm-install-detail-page, .gm-support-v2, .legal-page, .gm-security-page, .public-shell, .gm-notifications-page, .gm-modal) :where(button, .btn) { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 18px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); background: var(--gm-bg); color: var(--gm-text); font: inherit; font-size: 13px; font-weight: 600; text-decoration: none; cursor: pointer; box-shadow: none; }
    :is(.gm-settings-hub, .gm-settings-detail, .gm-billing-page, .gm-billing-flow-page, .gm-suspended-page, .owner-admin-page, .gm-admin-account-page, .gm-install-hub-v6, .gm-install-detail-page, .gm-support-v2, .legal-page, .gm-security-page, .public-shell, .gm-notifications-page, .gm-modal) :where(button[type="submit"], .btn-primary) { border-color: var(--gm-blue); background: var(--gm-blue); color: white; }
    :is(.gm-settings-hub, .gm-settings-detail, .gm-billing-page, .gm-billing-flow-page, .gm-suspended-page, .owner-admin-page, .gm-admin-account-page, .gm-install-hub-v6, .gm-install-detail-page, .gm-support-v2, .legal-page, .gm-security-page, .public-shell, .gm-notifications-page, .gm-modal) .btn-danger { border-color: var(--gm-red); background: var(--gm-red); color: white; }
    :is(.gm-settings-hub, .gm-settings-detail, .gm-billing-page, .gm-billing-flow-page, .gm-suspended-page, .owner-admin-page, .gm-admin-account-page, .gm-install-hub-v6, .gm-install-detail-page, .gm-support-v2, .legal-page, .gm-security-page, .public-shell, .gm-notifications-page, .gm-modal) :is(button, input):disabled { cursor: not-allowed; opacity: .6; }
    :is(.gm-settings-hub, .gm-settings-detail, .gm-billing-page, .gm-billing-flow-page, .gm-suspended-page, .owner-admin-page, .gm-admin-account-page, .gm-install-hub-v6, .gm-install-detail-page, .gm-support-v2, .legal-page, .gm-security-page, .public-shell, .gm-notifications-page, .gm-modal) :is(a, button, input, select, textarea):focus-visible { outline: 2px solid var(--gm-info); outline-offset: 3px; }
    :is(.gm-settings-hub, .gm-settings-detail, .gm-billing-page, .gm-billing-flow-page, .gm-suspended-page, .owner-admin-page, .gm-admin-account-page, .gm-install-hub-v6, .gm-install-detail-page, .gm-support-v2, .legal-page, .gm-security-page, .public-shell, .gm-notifications-page, .gm-modal) :is(.errorlist, .gm-settings-error, .gm-security-errors) { color: var(--gm-red); font-size: 13px; line-height: 1.5; }
    :is(.gm-settings-hub, .gm-settings-detail, .gm-billing-page, .gm-billing-flow-page, .gm-suspended-page, .owner-admin-page, .gm-admin-account-page, .gm-install-hub-v6, .gm-install-detail-page, .gm-support-v2, .legal-page, .gm-security-page, .public-shell, .gm-notifications-page, .gm-modal) .muted { color: var(--gm-muted); }
    :is(.gm-settings-hub, .gm-settings-detail, .gm-billing-page, .gm-billing-flow-page, .gm-suspended-page, .owner-admin-page, .gm-admin-account-page, .gm-install-hub-v6, .gm-install-detail-page, .gm-support-v2, .legal-page, .gm-security-page, .public-shell, .gm-notifications-page, .gm-modal) table:where(:not(.gm-exp-form-page *)) { width: 100%; border-collapse: collapse; font-size: 13px; }
    :is(.gm-settings-hub, .gm-settings-detail, .gm-billing-page, .gm-billing-flow-page, .gm-suspended-page, .owner-admin-page, .gm-admin-account-page, .gm-install-hub-v6, .gm-install-detail-page, .gm-support-v2, .legal-page, .gm-security-page, .public-shell, .gm-notifications-page, .gm-modal) th:where(:not(.gm-exp-form-page *)) { padding: 12px; border-bottom: 1px solid var(--gm-border); background: var(--gm-surface-2); color: var(--gm-muted); font-size: 11px; font-weight: 700; letter-spacing: .04em; text-align: left; }
    :is(.gm-settings-hub, .gm-settings-detail, .gm-billing-page, .gm-billing-flow-page, .gm-suspended-page, .owner-admin-page, .gm-admin-account-page, .gm-install-hub-v6, .gm-install-detail-page, .gm-support-v2, .legal-page, .gm-security-page, .public-shell, .gm-notifications-page, .gm-modal) td:where(:not(.gm-exp-form-page *)) { padding: 12px; border-bottom: 1px solid var(--gm-border); color: var(--gm-text-secondary); }
    :is(.gm-settings-hub, .gm-settings-detail, .gm-billing-page, .gm-billing-flow-page, .gm-suspended-page, .owner-admin-page, .gm-admin-account-page, .gm-install-hub-v6, .gm-install-detail-page, .gm-support-v2, .legal-page, .gm-security-page, .public-shell, .gm-notifications-page, .gm-modal) tr:last-child td:where(:not(.gm-exp-form-page *)) { border-bottom: 0; }
    .public-body { background: var(--gm-bg); color: var(--gm-text); }
    .public-shell { width: min(100%, 500px); margin: 0 auto; padding: 36px 22px; }
    .public-brand { display: flex; align-items: center; justify-content: center; gap: 12px; margin-bottom: 22px; color: var(--gm-text); font-size: 18px; }
    .public-brand .brand-mark { display: grid; place-items: center; width: 48px; height: 48px; border-radius: var(--gm-radius-sm); background: var(--gm-blue); color: white; font-weight: 800; }
    .auth-card { padding: 29px; }
    .auth-card > h1 { font-size: 25px; }
    .auth-card form { margin-top: 22px; }
    .auth-card form > p { margin: 0 0 18px; }
    .auth-card label { display: block; margin-bottom: 8px; }
    .auth-card button[type="submit"] { width: 100%; }
    .auth-card .password-field input { padding-right: 43px; }
    .auth-card .password-toggle { position: absolute; top: 50%; right: 8px; transform: translateY(-50%); width: 34px; height: 34px; min-height: 34px; padding: 0; border: 0; background: transparent; color: var(--gm-muted); }
    #gm-register-code-form .gm-password-rule-error { white-space: normal; overflow-wrap: anywhere; color: var(--gm-red); }
    .gm-security-page .gm-security-password-wrap input { padding-right: 43px; }
    .gm-security-page .gm-security-password-toggle { min-height: 34px; padding: 0; background: transparent; }
    .gm-modal-close, .gm-account-name-close { min-height: 34px; padding: 0; }
    .gm-modal-actions, .gm-account-name-actions { display: flex; flex-wrap: wrap; gap: 12px; }
    .gm-settings-back-link, .gm-security-back-link, .gm-billing-flow-back { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 18px; color: var(--gm-text-secondary); font-size: 13px; text-decoration: none; }
    .gm-support-v2-feedback,
.gm-exp-installment-toast:where(:not(.gm-exp-form-page *)) { overflow-wrap: anywhere; }
}
@media (min-width: 901px) and (max-width: 1180px) {
    :is(.gm-billing-main-grid, .gm-billing-flow-layout, .gm-admin-support-grid, .gm-admin-support-grid-two, .gm-support-v2-grid, .gm-install-detail-card) { grid-template-columns: minmax(0, 1fr); }
    .owner-admin-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .owner-admin-hero { flex-wrap: wrap; }
}

@media (max-width: 900px) {
    :is(.gm-settings-hub,.gm-settings-detail,.gm-billing-page,.gm-billing-flow-page,.owner-admin-page,.gm-admin-account-page,.gm-install-hub-v6,.gm-install-detail-page,.gm-support-v2,.legal-page,.gm-security-page,.public-body,.gm-notifications-page) h1 { font-size: clamp(21px,5.8vw,24px); }
    .gm-support-v2-help { grid-template-columns: 38px minmax(0,1fr); }
    .gm-support-v2-help > :last-child { grid-column: 2; }
    .legal-page { padding: 10px; }
    .legal-page :is(.legal-table-wrap,table) { max-width: 100%; overflow-x: auto; }
    .owner-admin-table-wrap, .gm-admin-table-wrap { max-width: 100%; overflow-x: auto; }
    .owner-admin-table, .gm-admin-table { min-width: 650px; }
    .gm-modal-backdrop { padding: 10px; }
    .gm-modal { max-height: calc(100dvh - 32px); overflow-y: auto; }
    .public-body { display: block; padding: 16px 12px; }
    .auth-card { width: 100%; max-width: 440px; margin-inline: auto; padding: 16px; }
    .public-brand { font-size: 16px; }
    .gm-security-page { width: 100%; max-width: 560px; margin-inline: auto; }
    :is(.gm-settings-menu, .gm-settings-detail-card, .gm-settings-preference-card, .gm-billing-plan-card, .gm-billing-rules, .gm-billing-history, .gm-billing-lifetime, .gm-billing-flow-card, .gm-billing-flow-side, .gm-billing-success-card, .gm-suspended-card, .owner-admin-section, .owner-admin-kpi, .gm-admin-support-card, .gm-admin-support-section, .gm-install-hub-v6-menu, .gm-install-detail-card, .gm-install-support-card, .gm-support-v2-card, .gm-support-v2-help, .gm-security-card, .gm-notification-row, .gm-notifications-empty, .auth-card, .gm-modal) { padding: 10px; }

}
/* Settings: componentes compartilhados e adaptação por breakpoint. */

@media (min-width: 0px) {
    .gm-switch { position: relative; display: inline-flex; flex: 0 0 auto; cursor: pointer; }
    .gm-switch input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
    .gm-switch-track { position: relative; width: 52px; height: 30px; border-radius: 999px; background: var(--gm-surface-3); transition: background .18s ease, box-shadow .18s ease; }
    .gm-switch-thumb { position: absolute; top: 3px; left: 3px; width: 24px; height: 24px; border-radius: 50%; background: var(--gm-text-secondary); box-shadow: 0 2px 5px rgba(15, 23, 42, .22); transition: transform .18s ease; }
    .gm-switch input:checked + .gm-switch-track { background: var(--gm-blue); }
    .gm-switch input:checked + .gm-switch-track .gm-switch-thumb { transform: translateX(22px); }
    .gm-switch input:focus-visible + .gm-switch-track { box-shadow: 0 0 0 4px rgba(37, 99, 235, .16); }
    .gm-switch input:disabled + .gm-switch-track { opacity: .55; cursor: not-allowed; }
    .gm-unified-detail-header > .gm-settings-back-link:where(:not(.gm-exp-form-page *)) { margin: 0 0 12px; margin-bottom: 13px; }
    .gm-settings-detail { width: 100%; max-width: 1160px; margin: 0 auto; }
    .gm-settings-detail .gm-settings-detail-card { width: 100%; max-width: none; box-sizing: border-box; }
    .gm-settings-detail .gm-settings-list-section { width: 100%; max-width: none; }
    .gm-settings-detail .gm-settings-menu { width: 100%; }
}

@media (min-width: 0px) {
@media (min-width: 769px) {
    .gm-settings-detail-form .gm-settings-compact-save { width: auto; min-width: 160px; min-height: 36px; padding: 10px 13px; display: inline-flex; align-items: center; justify-content: center; align-self: flex-start; margin-right: auto; border-radius: 10px; font-size: 13px; }
}
}

@media (min-width: 0px) {
    .gm-settings-hub { width: 100%; max-width: 1160px; margin: 0 auto; }
    .gm-settings-hub-header { margin-bottom: 17px; }
    .gm-settings-detail-header { margin-bottom: 17px; align-items: flex-start; flex-direction: column; gap: 10px; display: block; }
    .gm-settings-hub-eyebrow { display: block; margin-bottom: 7px; font-size: 11px; font-weight: 800; letter-spacing: .08em; color: var(--gm-info); }
    .gm-settings-hub-header h1 { margin: 0; font-size: 24px; line-height: 1.08; font-weight: 800; color: var(--gm-text); }
    .gm-settings-detail-header h1 { margin: 0; font-size: 24px; line-height: 1.08; font-weight: 800; color: var(--gm-text); }
    .gm-settings-hub-header p { margin: 7px 0 0; font-size: 14px; line-height: 1.5; color: var(--gm-text-secondary); }
    .gm-settings-detail-header p { margin: 7px 0 0; font-size: 14px; line-height: 1.5; color: var(--gm-text-secondary); }
    .gm-settings-group { margin-top: 17px; }
    .gm-settings-list-section { margin-top: 17px; }
    .gm-settings-group-title { display: block; margin: 0 0 9px 2px; font-size: 12px; font-weight: 700; letter-spacing: .04em; color: var(--gm-text-secondary); }
    .gm-settings-menu { overflow: hidden; border: 1px solid var(--gm-border); border-radius: 16px; color: var(--gm-text); background: var(--gm-surface); border-color: var(--gm-border); }
    .gm-settings-menu-row { min-height: 61px; display: flex; align-items: center; gap: 11px; padding: 10px 13px; box-sizing: border-box; text-decoration: none; border-bottom: 1px solid var(--gm-border); transition: background .15s ease; color: var(--gm-text); border-color: var(--gm-border); }
    .gm-settings-menu-row:last-child { border-bottom: 0; }
    .gm-settings-menu-row:hover { background: var(--gm-bg); }
    .gm-settings-menu-icon { flex: 0 0 auto; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border-radius: 11px; background: var(--gm-bg); border-color: var(--gm-surface-2); color: var(--gm-info); }
    .gm-settings-menu-icon svg { width: 21px; height: 21px; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; color: var(--gm-info); stroke: var(--gm-info); }
    .gm-settings-menu-copy { min-width: 0; flex: 1; display: flex; flex-direction: column; gap: 3px; }
    .gm-settings-menu-copy strong { font-size: 15px; line-height: 1.3; color: var(--gm-text); }
    .gm-settings-menu-copy small { overflow: hidden; font-size: 12px; line-height: 1.4; text-overflow: ellipsis; color: var(--gm-text-secondary); }
    .gm-settings-menu-arrow { flex: 0 0 auto; font-size: 22px; line-height: 1; color: var(--gm-info); }
    .gm-settings-detail-card { padding: 14px; border: 1px solid var(--gm-border); border-radius: 16px; max-width: 760px; color: var(--gm-text); background: var(--gm-surface); border-color: var(--gm-border); }
    .gm-settings-preference-card { padding: 14px; border: 1px solid var(--gm-border); border-radius: 16px; max-width: 760px; display: flex; align-items: center; justify-content: space-between; gap: 14px; color: var(--gm-text); background: var(--gm-surface); border-color: var(--gm-border); }
    .gm-settings-detail-title { margin-bottom: 13px; }
    .gm-settings-detail-title h2 { margin: 0; font-size: 16px; color: var(--gm-text); }
    .gm-settings-detail-title p { margin: 5px 0 0; font-size: 12px; color: var(--gm-text-secondary); }
    .gm-settings-detail-form { display: grid; gap: 13px; }
    .gm-settings-detail-field { display: grid; gap: 7px; }
    .gm-settings-detail-field label { font-size: 12px; font-weight: 700; color: var(--gm-text-secondary); }
    .gm-settings-detail-field input { width: 100%; min-height: 37px; box-sizing: border-box; padding: 0 10px; border: 1px solid var(--gm-border); border-radius: 10px; font-size: 13px; background: var(--gm-bg); border-color: var(--gm-border); color: var(--gm-text); }
    .gm-settings-detail-button { min-height: 36px; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; border-radius: 10px; font-size: 12px; font-weight: 700; }
    .gm-settings-error { color: var(--gm-red); font-size: 11px; }
    .gm-settings-field-help { font-size: 11px; color: var(--gm-text-secondary); }
    .gm-settings-percent-field { position: relative; }
    .gm-settings-percent-field input { padding-right: 40px; }
    .gm-settings-percent-field > span { position: absolute; right: 15px; top: 50%; transform: translateY(-50%); font-size: 13px; font-weight: 700; color: var(--gm-text-secondary); }
    .gm-settings-finance-note { padding: 11px; border: 1px solid var(--gm-border); border-radius: 11px; background: var(--gm-bg); border-color: var(--gm-surface-2); }
    .gm-settings-finance-note strong { font-size: 12.5px; color: var(--gm-info); }
    .gm-settings-finance-note p { margin: 5px 0 0; font-size: 11.5px; line-height: 1.5; color: var(--gm-text-secondary); }
    .gm-settings-preference-copy { display: flex; align-items: flex-start; gap: 10px; }
    .gm-settings-preference-copy strong { display: block; font-size: 15px; color: var(--gm-text); }
    .gm-settings-preference-copy p { margin: 4px 0 6px; max-width: 520px; font-size: 12px; line-height: 1.45; color: var(--gm-text-secondary); }
    .gm-settings-preference-copy small { font-size: 11px; color: var(--gm-text-secondary); }
    .gm-settings-danger-label { color: var(--gm-red); }
    .gm-settings-danger-detail > strong { display: block; font-size: 14px; color: var(--gm-red); }
    .gm-settings-danger-detail > p { margin: 5px 0 12px; font-size: 12px; line-height: 1.5; color: var(--gm-text-secondary); }
    .gm-settings-delete-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; text-decoration: none; color: var(--gm-red); }
    .gm-settings-delete-row strong { display: block; font-size: 14px; }
    .gm-settings-delete-row small { display: block; margin-top: 4px; font-size: 11.5px; line-height: 1.4; color: var(--gm-text-secondary); }
    .gm-settings-delete-row > span:last-child { font-size: 22px; color: var(--gm-red); }
    .gm-settings-back-link {
        width: fit-content;
        display: inline-flex;
        align-items: center;
        gap: 6px;
        margin: 0 0 14px 0;
        padding: 0;
        border: 0;
        background: transparent;
        text-decoration: none;
        font-size: 12px;
        line-height: 1.3;
        font-weight: 600;
        transition: color .15s ease;
        color: var(--gm-text-secondary);
    }
    .gm-settings-back-link:hover { color: var(--gm-text); }
    .gm-settings-back-link svg { flex: 0 0 auto; width: 15px; height: 15px; margin-right: 4px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
    .gm-install-detail-page .gm-settings-detail-header h1 { margin: 0; font-size: 22px; font-weight: 800; letter-spacing: -.035em; color: var(--gm-text); }
    .gm-install-detail-page .gm-settings-detail-header p { margin: 7px 0 0; font-size: 12.5px; line-height: 1.55; color: var(--gm-text-secondary); }
    .gm-install-detail-page .gm-settings-detail-header { margin-bottom: 13px; }
    .gm-admin-account-hero .gm-settings-back-link { margin-bottom: 13px; }
    .gm-settings-list-section .gm-settings-menu-row { min-height: 48px; padding: 9px 13px; }
    .gm-settings-list-section .gm-settings-menu-icon { width: 36px; height: 36px; border-radius: 9px; }
    .gm-settings-list-section .gm-settings-menu-icon svg { width: 18px; height: 18px; }
    .gm-settings-list-section .gm-settings-menu-copy strong { font-size: 13.5px; }
    .gm-settings-list-section .gm-settings-menu-copy small { font-size: 11px; }
    .gm-account-name-summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
    .gm-account-name-summary > div { min-width: 0; }
    .gm-account-name-label { display: block; margin-bottom: 5px; color: var(--gm-muted); font-size: 12px; }
    .gm-account-name-summary strong { display: block; color: var(--gm-text); font-size: 16px; }
    .gm-account-edit-name-btn { flex: 0 0 auto; }
    .gm-account-name-modal[hidden] { display: none; }
    .gm-account-name-modal { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 14px; }
    .gm-account-name-backdrop { position: absolute; inset: 0; background: rgba(3, 8, 18, .68); backdrop-filter: blur(3px); }
    .gm-account-name-dialog {
        position: relative;
        z-index: 1;
        width: min( 520px, 100% );
        padding: 18px;
        border: 1px solid var(--border);
        border-radius: 17px;
        box-shadow: 0 28px 80px rgba(0, 0, 0, .34);
        opacity: 0;
        transform: translateY(8px) scale(.985);
        transition: opacity .15s ease, transform .15s ease;
        background: var(--gm-bg);
        border-color: var(--gm-border);
    }
    .gm-account-name-modal.is-open .gm-account-name-dialog { opacity: 1; transform: translateY(0) scale(1); }
    .gm-account-name-close {
        position: absolute;
        top: 16px;
        right: 16px;
        width: 34px;
        height: 34px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        border: 1px solid var(--gm-blue-soft);
        border-radius: 9px;
        background: transparent;
        color: var(--gm-info);
        font-size: 18px;
        cursor: pointer;
    }
    .gm-account-name-modal-copy { padding-right: 40px; margin-bottom: 14px; }
    .gm-account-name-modal-copy h2 { margin: 6px 0 6px; color: var(--gm-text); font-size: 17px; }
    .gm-account-name-modal-copy p { margin: 0; color: var(--gm-muted); font-size: 13px; }
    .gm-account-name-actions { display: flex; align-items: center; gap: 10px; margin-top: 13px; }
    .gm-account-name-actions .btn { width: auto; min-width: 105px; }
    html.gm-account-name-modal-open { overflow: hidden; }
    html.gm-account-name-modal-open body { overflow: hidden; }
}

@media (max-width: 900px) {
    .gm-settings-menu-row { padding: 10px 12px; gap: 8px; }
    .gm-settings-menu-icon, .gm-settings-list-section .gm-settings-menu-icon { width: 28px; height: 28px; }
    .gm-settings-menu-icon svg { width: 18px; height: 18px; }
    :is(.gm-settings-hub-header,.gm-settings-detail-header) { margin-bottom: 10px; }

    :is(.gm-settings-detail-card,.gm-settings-preference-card) { padding: 10px; }
    .gm-settings-menu-row { min-height: 56px; padding: 8px 10px; }
    .gm-settings-detail :is(input:not([type=checkbox]):not([type=hidden]),select) { min-height: 44px; font-size: 16px; }
    :is(.gm-settings-hub,.gm-settings-detail) .btn { min-height: 44px; }

    .gm-account-name-dialog { padding: 16px; max-height: calc(100dvh - 32px); overflow-y: auto; }
}
/* Billing: componentes compartilhados e adaptação por breakpoint. */

@media (min-width: 0px) {
    .gm-billing-status { font-size: 11px; min-height: 31px; display: inline-flex; align-items: center; gap: 7px; padding: 0 11px; border-radius: 999px; font-weight: 750; white-space: nowrap; }
    .gm-billing-price strong { font-size: 21px; color: var(--gm-text); font-weight: 800; letter-spacing: -.035em; }
    .gm-billing-price span { font-size: 11px; color: var(--gm-text-secondary); }
    .gm-billing-details span { font-size: 12px; color: var(--gm-text-secondary); }
    .gm-billing-details strong { font-size: 12px; text-align: right; color: var(--gm-text); }
    .gm-billing-rules-list span { font-size: 11px; display: block; color: var(--gm-text-secondary); }
    .gm-billing-rules-list strong { font-size: 12px; display: block; margin-top: 2px; color: var(--gm-text); }
    .gm-billing-page { width: 100%; max-width: 1180px; margin: 0 auto; }
    .gm-billing-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; margin-bottom: 12px; padding: 16px; border: 1px solid var(--gm-border); border-radius: 18px; background: var(--gm-bg); border-color: var(--gm-border); }
    .gm-billing-eyebrow { display: block; margin-bottom: 6px; color: var(--gm-info); font-size: 11px; font-weight: 800; letter-spacing: .11em; }
    .gm-billing-section-label { display: block; margin-bottom: 6px; color: var(--gm-info); font-size: 11px; font-weight: 800; letter-spacing: .11em; }
    .gm-billing-hero h1 { margin: 0; color: var(--gm-text); font-size: 23px; line-height: 1.08; letter-spacing: -.025em; }
    .gm-billing-hero p { margin: 7px 0 0; color: var(--gm-text-secondary); font-size: 13px; }
    .gm-billing-status > span { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
    .gm-billing-status-active { color: var(--gm-green); background: var(--gm-surface); }
    .gm-billing-status-lifetime { color: var(--gm-yellow); background: var(--gm-surface); }
    .gm-billing-status-trial { color: var(--gm-info); background: var(--gm-surface); }
    .gm-billing-status-pending { color: var(--gm-yellow); background: var(--gm-surface); }
    .gm-billing-status-cancelled { color: var(--gm-red); background: var(--gm-surface); }
    .gm-billing-status-suspended { color: var(--gm-red); background: var(--gm-surface); }
    .gm-billing-main-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .75fr); align-items: start; gap: 11px; margin-bottom: 11px; }
    .gm-billing-plan-card { border: 1px solid var(--gm-border); border-radius: 16px; padding: 14px; background: var(--gm-surface); border-color: var(--gm-border); }
    .gm-billing-rules { border: 1px solid var(--gm-border); border-radius: 16px; padding: 13px; background: var(--gm-surface); border-color: var(--gm-border); }
    .gm-billing-history { margin-bottom: 20px; border-color: var(--gm-border); color: var(--gm-text); overflow: hidden; background: var(--gm-surface); border: 1px solid var(--gm-border); border-radius: 16px; }
    .gm-billing-lifetime { border: 1px solid var(--gm-border); border-radius: 16px; padding: 14px; background: var(--gm-surface); border-color: var(--gm-border); color: var(--gm-text); }
    .gm-billing-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 13px; margin-bottom: 13px; }
    .gm-billing-card-heading h2 { margin: 0; font-size: 15px; color: var(--gm-text); }
    .gm-billing-price { display: flex; align-items: baseline; gap: 4px; white-space: nowrap; color: var(--gm-text); }
    .gm-billing-details { overflow: hidden; border: 1px solid var(--gm-border); border-radius: 11px; color: var(--gm-text); }
    .gm-billing-details > div { min-height: 36px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 0 10px; border-bottom: 1px solid var(--gm-border); }
    .gm-billing-details > div:last-child { border-bottom: 0; }
    .gm-billing-access-until { background: var(--gm-surface); color: var(--gm-text); }
    .gm-billing-access-until strong { color: var(--gm-red); }
    .gm-billing-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin: 13px 0 0; }
    .gm-billing-actions form { margin: 0; }
    .gm-billing-btn { min-height: 36px; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; padding: 0 10px; border-radius: 9px; font-family: inherit; font-size: 11px; font-weight: 700; cursor: pointer; }
    .gm-billing-btn-primary { border: 0; color: var(--gm-text); background: var(--gm-blue); }
    .gm-billing-btn-secondary { border: 1px solid var(--gm-border); background: var(--gm-bg); border-color: var(--gm-border); color: var(--gm-text); box-shadow: none; }
    .gm-billing-btn-danger { border: 1px solid var(--gm-border); color: var(--gm-red); background: var(--gm-surface); }
    .gm-billing-btn:disabled { opacity: .55; cursor: not-allowed; }
    .gm-billing-cancelled-note { margin-top: 11px; border-radius: 10px; display: flex; align-items: flex-start; gap: 9px; padding: 11px; border: 1px solid var(--gm-blue-soft); background: var(--gm-surface); }
    .gm-billing-warning { margin-top: 11px; border-radius: 10px; padding: 10px 11px; border: 1px solid var(--gm-blue-soft); color: var(--gm-yellow); background: var(--gm-surface); font-size: 11px; }
    .gm-billing-cancelled-note svg { width: 18px; height: 18px; flex: 0 0 auto; color: var(--gm-red); fill: none; stroke: currentColor; stroke-width: 1.8; }
    .gm-billing-cancelled-note strong { display: block; color: var(--gm-red); font-size: 11px; }
    .gm-billing-cancelled-note span { display: block; margin-top: 3px; color: var(--gm-red); font-size: 11px; line-height: 1.45; }
    .gm-billing-rules h2 { margin: 0; font-size: 17px; color: var(--gm-text); }
    .gm-billing-rules > p { margin: 5px 0 12px; color: var(--gm-text-secondary); font-size: 11px; line-height: 1.45; }
    .gm-billing-rules-list { display: flex; flex-direction: column; gap: 8px; color: var(--gm-text); }
    .gm-billing-rules-list > div { display: flex; align-items: center; gap: 9px; padding: 9px; border: 1px solid var(--gm-border); border-radius: 10px; background: var(--gm-surface); }
    .gm-billing-rule-icon { width: 31px; height: 31px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 9px; background: var(--gm-bg); color: var(--gm-info); }
    .gm-billing-rule-icon svg { width: 15px; height: 15px; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; color: var(--gm-info); stroke: var(--gm-info); }
    .gm-billing-history > header { margin: 0; padding: 13px 14px; background: var(--gm-surface); border-bottom: 1px solid var(--gm-border); color: var(--gm-text); }
    .gm-billing-history h2 { margin: 0; font-size: 17px; color: var(--gm-text); }
    .gm-billing-history header p { margin: 4px 0 0; color: var(--gm-text-secondary); font-size: 11px; }
    .gm-billing-history table { width: 100%; border-collapse: collapse; background: var(--gm-surface); color: var(--gm-text); }
    .gm-billing-history th { padding: 11px 11px; border-bottom: 1px solid var(--gm-border); font-size: 11px; font-weight: 750; text-align: left; text-transform: uppercase; letter-spacing: .04em; background: var(--gm-surface); color: var(--gm-text); border-color: var(--gm-border); }
    .gm-billing-history td { padding: 10px 11px; border-bottom: 1px solid var(--gm-border); font-size: 11px; background: var(--gm-surface); color: var(--gm-text); border-color: var(--gm-border); }
    .gm-billing-history tbody tr:last-child td { border-bottom: 0; }
    .gm-billing-payment-id { max-width: 220px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: var(--gm-text); }
    .gm-billing-payment-status { display: inline-flex; align-items: center; justify-content: center; min-width: 72px; min-height: 27px; box-sizing: border-box; padding: 0 10px; border-radius: 999px; border: 1px solid transparent; font-size: 11px; font-weight: 800; line-height: 1; box-shadow: none; }
    .gm-billing-payment-status.is-approved { background: var(--gm-bg); border-color: var(--gm-green); color: var(--gm-green); }
    .gm-billing-payment-status.is-pending { background: var(--gm-bg); border-color: var(--gm-yellow); color: var(--gm-yellow); }
    .gm-billing-payment-status.is-cancelled { background: var(--gm-bg); border-color: var(--gm-red); color: var(--gm-red); }
    .gm-billing-payment-status.is-neutral { background: var(--gm-bg); border-color: var(--gm-border); color: var(--gm-text); }
    .gm-billing-history-mobile { display: none; background: var(--gm-bg); border-color: var(--gm-border); }
    .gm-billing-lifetime-main { display: flex; align-items: center; gap: 10px; padding-bottom: 13px; background: transparent; }
    .gm-billing-lifetime-icon { width: 48px; height: 48px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 13px; border-color: var(--gm-yellow); background: var(--gm-yellow-soft); color: var(--gm-yellow); }
    .gm-billing-lifetime-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linejoin: round; }
    .gm-billing-lifetime-main span { display: block; margin-bottom: 4px; color: var(--gm-yellow); font-size: 11px; font-weight: 800; letter-spacing: .08em; }
    .gm-billing-lifetime-main h2 { margin: 0; font-size: 15px; color: var(--gm-text); }
    .gm-billing-lifetime-main p { margin: 4px 0 0; font-size: 11px; color: var(--gm-text-secondary); }
    .gm-billing-info-list { overflow: hidden; border: 1px solid var(--gm-border); border-radius: 11px; color: var(--gm-text); }
    .gm-billing-info-list > div { min-height: 36px; display: flex; align-items: center; justify-content: space-between; padding: 0 10px; border-bottom: 1px solid var(--gm-border); }
    .gm-billing-info-list > div:last-child { border-bottom: 0; }
    .gm-billing-info-list span { font-size: 11px; color: var(--gm-text-secondary); }
    .gm-billing-info-list strong { font-size: 11px; color: var(--gm-text); }
    .gm-billing-modal[hidden] { display: none; }
    .gm-billing-modal { position: fixed; z-index: 99999; inset: 0; display: flex; align-items: center; justify-content: center; padding: 14px; }
    .gm-billing-modal-backdrop { position: absolute; inset: 0; background: rgba(15,23,42,.48); backdrop-filter: blur(3px); }
    .gm-billing-modal-card { position: relative; z-index: 1; width: min(100%, 430px); padding: 16px; border: 1px solid var(--gm-border); border-radius: 18px; box-shadow: 0 24px 70px rgba(15,23,42,.22); background: var(--gm-bg); border-color: var(--gm-border); color: var(--gm-text); }
    .gm-billing-modal-icon { width: 46px; height: 46px; display: grid; place-items: center; margin-bottom: 11px; border-radius: 13px; color: var(--gm-red); background: var(--gm-surface); }
    .gm-billing-modal-icon svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
    .gm-billing-modal-card h2 { margin: 0; color: var(--gm-text); font-size: 16px; }
    .gm-billing-modal-card > p { margin: 7px 0 0; color: var(--gm-text-secondary); font-size: 11px; }
    .gm-billing-modal-info { display: flex; align-items: flex-start; gap: 8px; margin-top: 11px; padding: 10px; border: 1px solid var(--gm-border); border-radius: 10px; color: var(--gm-text-secondary); background: var(--gm-surface); }
    .gm-billing-modal-info svg { width: 17px; height: 17px; flex: 0 0 auto; color: var(--gm-info); fill: none; stroke: currentColor; stroke-width: 1.8; }
    .gm-billing-modal-info span { font-size: 11px; line-height: 1.45; }
    .gm-billing-modal-actions { display: grid; grid-template-columns: .8fr 1.2fr; gap: 8px; margin-top: 13px; }
    .gm-billing-modal-actions form { margin: 0; }
    .gm-billing-modal-cancel { width: 100%; min-height: 36px; border-radius: 9px; font-family: inherit; font-size: 11px; font-weight: 700; cursor: pointer; border: 1px solid var(--gm-border); color: var(--gm-text-secondary); background: var(--gm-surface); }
    .gm-billing-modal-confirm { width: 100%; min-height: 36px; border-radius: 9px; font-family: inherit; font-size: 11px; font-weight: 700; cursor: pointer; border: 0; color: var(--gm-text); background: var(--gm-red); }
    body.gm-billing-modal-open { overflow: hidden; }
    .gm-billing-empty { padding: 14px; font-size: 11px; text-align: center; color: var(--gm-text-secondary); }
    .gm-billing-flow-page { width: 100%; max-width: 1040px; margin: 0 auto; }
    .gm-billing-flow-back { display: inline-flex; align-items: center; gap: 5px; margin-bottom: 13px; font-size: 11px; font-weight: 650; text-decoration: none; color: var(--gm-text-secondary); }
    .gm-billing-flow-back svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
    .gm-billing-flow-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(270px, .65fr); align-items: start; gap: 13px; }
    .gm-billing-flow-card { border: 1px solid var(--gm-border); border-radius: 17px; padding: 18px; background: var(--gm-surface); border-color: var(--gm-border); }
    .gm-billing-success-card { border: 1px solid var(--gm-border); border-radius: 17px; max-width: 720px; margin: 0 auto; padding: 19px; background: var(--gm-surface); border-color: var(--gm-border); }
    .gm-billing-flow-side { border: 1px solid var(--gm-border); border-radius: 17px; padding: 14px; background: var(--gm-surface); border-color: var(--gm-border); }
    .gm-billing-flow-icon { width: 48px; height: 48px; display: grid; place-items: center; margin-bottom: 12px; border-radius: 13px; }
    .gm-billing-success-icon { width: 48px; height: 48px; display: grid; place-items: center; margin-bottom: 12px; border-radius: 13px; color: var(--gm-green); background: var(--gm-surface); }
    .gm-billing-flow-icon-mail { color: var(--gm-info); background: var(--gm-surface); }
    .gm-billing-flow-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
    .gm-billing-success-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
    .gm-billing-flow-eyebrow { display: block; margin-bottom: 6px; color: var(--gm-info); font-size: 11px; font-weight: 800; letter-spacing: .1em; }
    .gm-billing-flow-card h1 { margin: 0; font-size: 19px; line-height: 1.12; letter-spacing: -.025em; color: var(--gm-text); }
    .gm-billing-success-card h1 { margin: 0; font-size: 19px; line-height: 1.12; letter-spacing: -.025em; color: var(--gm-text); }
    .gm-billing-flow-description { margin: 8px 0 0; font-size: 11px; line-height: 1.5; color: var(--gm-text-secondary); }
    .gm-billing-success-card > p { margin: 8px 0 0; color: var(--gm-text-secondary); font-size: 11px; line-height: 1.5; }
    .gm-billing-code-expiration { display: flex; align-items: center; gap: 8px; margin-top: 13px; padding: 10px 11px; border: 1px solid var(--gm-border); border-radius: 10px; background: var(--gm-surface); color: var(--gm-text-secondary); }
    .gm-billing-code-expiration svg { width: 17px; height: 17px; flex: 0 0 auto; fill: none; stroke: var(--gm-info); stroke-width: 1.9; }
    .gm-billing-code-expiration span { font-size: 11px; }
    .gm-billing-code-form { margin-top: 13px; }
    .gm-billing-code-field label { display: block; margin-bottom: 6px; color: var(--gm-text-secondary); font-size: 11px; font-weight: 700; }
    .gm-billing-code-field input {
        width: 100%;
        height: 52px;
        box-sizing: border-box;
        padding: 0 11px;
        border: 1px solid var(--gm-border);
        border-radius: 10px;
        outline: 0;
        color: var(--gm-text);
        background: var(--gm-surface);
        font-family: inherit;
        font-size: 17px;
        font-weight: 700;
        text-align: center;
        letter-spacing: .24em;
    }
    .gm-billing-code-field input:focus { border-color: var(--gm-blue-soft); background: var(--gm-surface); box-shadow: 0 0 0 3px rgba(37,99,235,.07); }
    .gm-billing-code-errors { margin-top: 6px; color: var(--gm-red); font-size: 11px; }
    .gm-billing-flow-danger-btn {
        min-height: 36px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        padding: 0 11px;
        border-radius: 10px;
        font-family: inherit;
        font-size: 11px;
        font-weight: 700;
        text-decoration: none;
        cursor: pointer;
        width: 100%;
        margin-top: 10px;
        border: 0;
        color: var(--gm-text);
        background: var(--gm-red);
    }
    .gm-billing-flow-primary-btn {
        min-height: 36px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        padding: 0 11px;
        border-radius: 10px;
        font-family: inherit;
        font-size: 11px;
        font-weight: 700;
        text-decoration: none;
        cursor: pointer;
        border: 0;
        color: var(--gm-text);
        background: var(--gm-blue);
    }
    .gm-billing-flow-secondary-btn {
        min-height: 36px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        padding: 0 11px;
        border-radius: 10px;
        font-family: inherit;
        font-size: 11px;
        font-weight: 700;
        text-decoration: none;
        cursor: pointer;
        width: 100%;
        border: 1px solid var(--gm-border);
        color: var(--gm-text-secondary);
        background: var(--gm-surface);
    }
    .gm-billing-flow-divider { position: relative; margin: 13px 0; text-align: center; border-color: var(--gm-border); }
    .gm-billing-flow-divider::before { content: ""; position: absolute; top: 50%; left: 0; right: 0; height: 1px; background: var(--gm-surface); }
    .gm-billing-flow-divider span { position: relative; padding: 0 9px; color: var(--gm-text-secondary); background: var(--gm-surface); font-size: 11px; }
    .gm-billing-resend-form { margin: 0; }
    .gm-billing-flow-safe-link { display: block; margin-top: 11px; color: var(--gm-info); font-size: 11px; font-weight: 650; text-align: center; text-decoration: none; }
    .gm-billing-flow-side-icon { width: 45px; height: 45px; display: grid; place-items: center; margin-bottom: 10px; border-radius: 13px; color: var(--gm-green); background: var(--gm-surface); }
    .gm-billing-flow-side-icon svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
    .gm-billing-flow-side > span { display: block; margin-bottom: 5px; color: var(--gm-green); font-size: 11px; font-weight: 800; letter-spacing: .1em; }
    .gm-billing-flow-side h2 { margin: 0; color: var(--gm-text); font-size: 17px; }
    .gm-billing-flow-side p { margin: 7px 0 0; color: var(--gm-text-secondary); font-size: 11px; line-height: 1.5; }
    .gm-billing-access-card { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 13px; padding: 10px; border: 1px solid var(--gm-border); border-radius: 11px; background: var(--gm-bg); border-color: var(--gm-border); }
    .gm-billing-access-card span { color: var(--gm-text-secondary); font-size: 11px; }
    .gm-billing-access-card strong { color: var(--gm-text); font-size: 11px; text-align: right; }
    .gm-billing-success-actions { display: flex; gap: 8px; margin-top: 13px; }
    .gm-billing-success-actions form { margin: 0; }
    .gm-billing-refund-box { display: flex; gap: 10px; margin-top: 14px; padding: 11px; border: 1px solid var(--gm-blue-soft); border-radius: 11px; background: var(--gm-surface); }
    .gm-billing-refund-icon { width: 32px; height: 32px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 9px; color: var(--gm-red); background: var(--gm-surface); }
    .gm-billing-refund-icon svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; }
    .gm-billing-refund-box strong { color: var(--gm-red); font-size: 11px; }
    .gm-billing-refund-box p { margin: 4px 0 0; color: var(--gm-red); font-size: 11px; line-height: 1.5; }
    .gm-billing-support-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
    .gm-billing-support-actions a { padding: 7px 9px; border: 1px solid var(--gm-blue-soft); border-radius: 8px; color: var(--gm-red); background: var(--gm-surface); font-size: 11px; font-weight: 700; text-decoration: none; }
    .gm-billing-delete-account { display: flex; align-items: center; justify-content: space-between; gap: 13px; margin-top: 14px; padding-top: 13px; border-top: 1px solid var(--gm-border); }
    .gm-billing-delete-account strong { display: block; color: var(--gm-text-secondary); font-size: 11px; }
    .gm-billing-delete-account span { display: block; margin-top: 3px; color: var(--gm-text-secondary); font-size: 11px; }
    .gm-billing-delete-account > a { flex: 0 0 auto; color: var(--gm-red); font-size: 11px; font-weight: 700; text-decoration: none; }
    .gm-suspended-page { width: 100%; max-width: 520px; margin: 0 auto; }
    .gm-suspended-card { padding: 20px; border: 1px solid var(--gm-border); border-radius: 18px; box-shadow: 0 8px 30px rgba(15,23,42,.06); background: var(--gm-surface); border-color: var(--gm-border); }
    .gm-suspended-icon { width: 50px; height: 50px; display: grid; place-items: center; margin-bottom: 12px; border-radius: 14px; color: var(--gm-red); background: var(--gm-surface); }
    .gm-suspended-icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; }
    .gm-suspended-eyebrow { display: block; margin-bottom: 6px; color: var(--gm-red); font-size: 11px; font-weight: 800; letter-spacing: .09em; }
    .gm-suspended-card h1 { margin: 0; font-size: 20px; line-height: 1.1; color: var(--gm-text); }
    .gm-suspended-card > p { margin: 8px 0 0; color: var(--gm-text-secondary); font-size: 11px; line-height: 1.55; }
    .gm-suspended-plan { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 14px; padding: 11px; border: 1px solid var(--gm-border); border-radius: 11px; background: var(--gm-bg); border-color: var(--gm-border); }
    .gm-suspended-plan > div:first-child span { display: block; color: var(--gm-red); font-size: 11px; font-weight: 800; }
    .gm-suspended-plan > div:first-child strong { display: block; margin-top: 3px; color: var(--gm-text-secondary); font-size: 11px; }
    .gm-suspended-price { display: flex; align-items: baseline; gap: 3px; white-space: nowrap; color: var(--gm-text); }
    .gm-suspended-price strong { color: var(--gm-text); font-size: 17px; }
    .gm-suspended-price span { color: var(--gm-text-secondary); font-size: 11px; }
    .gm-suspended-payment-info { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-top: 9px; background: var(--gm-bg); border-color: var(--gm-border); }
    .gm-suspended-payment-info > div { padding: 10px; border: 1px solid var(--gm-border); border-radius: 10px; background: var(--gm-surface); }
    .gm-suspended-payment-info span { display: block; color: var(--gm-text-secondary); font-size: 11px; }
    .gm-suspended-payment-info strong { display: block; margin-top: 3px; color: var(--gm-text-secondary); font-size: 11px; }
    .gm-suspended-primary { width: 100%; min-height: 36px; margin-top: 11px; border-radius: 10px; font-family: inherit; font-size: 11px; font-weight: 700; cursor: pointer; border: 0; color: var(--gm-text); background: var(--gm-blue); }
    .gm-suspended-secondary { width: 100%; min-height: 36px; border-radius: 10px; font-family: inherit; font-size: 11px; font-weight: 700; cursor: pointer; margin-top: 9px; border: 1px solid var(--gm-border); color: var(--gm-text-secondary); background: var(--gm-surface); }
    .gm-suspended-secure { display: flex; align-items: flex-start; gap: 8px; margin-top: 10px; padding: 10px; border-radius: 9px; color: var(--gm-text-secondary); background: var(--gm-bg); border-color: var(--gm-border); }
    .gm-suspended-secure svg { width: 17px; height: 17px; flex: 0 0 auto; fill: none; stroke: var(--gm-green); stroke-width: 1.8; }
    .gm-suspended-secure span { font-size: 11px; line-height: 1.45; }
    .gm-suspended-warning { margin-top: 11px; padding: 10px; border: 1px solid var(--gm-blue-soft); border-radius: 9px; color: var(--gm-yellow); background: var(--gm-surface); font-size: 11px; }
    .gm-suspended-logout-form { margin: 0; }
    .gm-suspended-delete { margin-top: 13px; padding-top: 12px; border-top: 1px solid var(--gm-border); text-align: center; }
    .gm-suspended-delete span { display: block; color: var(--gm-text-secondary); font-size: 11px; }
    .gm-suspended-delete a { display: inline-block; margin-top: 5px; color: var(--gm-red); font-size: 11px; font-weight: 700; text-decoration: none; }
    .gm-cancel-btn-loading { display: inline-flex; align-items: center; justify-content: center; gap: 7px; }
    .gm-cancel-btn-loading[hidden] { display: none; }
    .gm-cancel-btn-text[hidden] { display: none; }
    .gm-cancel-spinner { width: 13px; height: 13px; border: 2px solid rgba(255,255,255,.45); border-top-color: var(--gm-border); border-radius: 50%; animation: gm-cancel-spin .7s linear infinite; }
    .gm-billing-modal-confirm:disabled { opacity: .78; cursor: wait; }
    .gm-billing-lifetime-main > div:last-child > span { color: var(--gm-yellow); }
    .gm-billing-lifetime .gm-billing-info-list { background: var(--gm-surface); border-color: var(--gm-border); }
    .gm-billing-lifetime .gm-billing-info-list > div { background: transparent; border-color: var(--gm-border); }
    .gm-billing-lifetime .gm-billing-info-list span { color: var(--gm-text-secondary); }
    .gm-billing-lifetime .gm-billing-info-list strong { color: var(--gm-text); }
    .gm-billing-page .gm-billing-lifetime { background-color: var(--gm-bg); }
    .gm-dark-refund-note { background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.02)), var(--gm-bg); border: 1px solid rgba(117, 155, 255, 0.22); box-shadow: none; color: var(--gm-text); }
    body[data-theme="dark"] .gm-dark-refund-note { background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.02)), var(--gm-bg); border: 1px solid rgba(117, 155, 255, 0.22); box-shadow: none; color: var(--gm-text); }
    body[data-bs-theme="dark"] .gm-dark-refund-note { background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.02)), var(--gm-bg); border: 1px solid rgba(117, 155, 255, 0.22); box-shadow: none; color: var(--gm-text); }
    .gm-dark-refund-note h1 { color: var(--gm-text); }
    body[data-theme="dark"] .gm-dark-refund-note h1 { color: var(--gm-text); }
    body[data-bs-theme="dark"] .gm-dark-refund-note h1 { color: var(--gm-text); }
    .gm-dark-refund-note h2 { color: var(--gm-text); }
    body[data-theme="dark"] .gm-dark-refund-note h2 { color: var(--gm-text); }
    body[data-bs-theme="dark"] .gm-dark-refund-note h2 { color: var(--gm-text); }
    .gm-dark-refund-note h3 { color: var(--gm-text); }
    body[data-theme="dark"] .gm-dark-refund-note h3 { color: var(--gm-text); }
    body[data-bs-theme="dark"] .gm-dark-refund-note h3 { color: var(--gm-text); }
    .gm-dark-refund-note h4 { color: var(--gm-text); }
    body[data-theme="dark"] .gm-dark-refund-note h4 { color: var(--gm-text); }
    body[data-bs-theme="dark"] .gm-dark-refund-note h4 { color: var(--gm-text); }
    .gm-dark-refund-note h5 { color: var(--gm-text); }
    body[data-theme="dark"] .gm-dark-refund-note h5 { color: var(--gm-text); }
    body[data-bs-theme="dark"] .gm-dark-refund-note h5 { color: var(--gm-text); }
    .gm-dark-refund-note h6 { color: var(--gm-text); }
    body[data-theme="dark"] .gm-dark-refund-note h6 { color: var(--gm-text); }
    body[data-bs-theme="dark"] .gm-dark-refund-note h6 { color: var(--gm-text); }
    .gm-dark-refund-note strong { color: var(--gm-text); }
    body[data-theme="dark"] .gm-dark-refund-note strong { color: var(--gm-text); }
    body[data-bs-theme="dark"] .gm-dark-refund-note strong { color: var(--gm-text); }
    .gm-dark-refund-note span { color: var(--gm-text); }
    body[data-theme="dark"] .gm-dark-refund-note span { color: var(--gm-text); }
    body[data-bs-theme="dark"] .gm-dark-refund-note span { color: var(--gm-text); }
    .gm-dark-refund-note p { color: var(--gm-text); }
    body[data-theme="dark"] .gm-dark-refund-note p { color: var(--gm-text); }
    body[data-bs-theme="dark"] .gm-dark-refund-note p { color: var(--gm-text); }
    .gm-dark-refund-note small { color: var(--gm-text); }
    body[data-theme="dark"] .gm-dark-refund-note small { color: var(--gm-text); }
    body[data-bs-theme="dark"] .gm-dark-refund-note small { color: var(--gm-text); }
    .gm-dark-refund-note li { color: var(--gm-text); }
    body[data-theme="dark"] .gm-dark-refund-note li { color: var(--gm-text); }
    body[data-bs-theme="dark"] .gm-dark-refund-note li { color: var(--gm-text); }
    .gm-dark-refund-note label { color: var(--gm-text); }
    body[data-theme="dark"] .gm-dark-refund-note label { color: var(--gm-text); }
    body[data-bs-theme="dark"] .gm-dark-refund-note label { color: var(--gm-text); }
    .gm-dark-refund-note a[href^="mailto:"] { background: var(--gm-surface-2); border: 1px solid rgba(220, 232, 255, 0.20); color: var(--gm-text); box-shadow: none; }
    body[data-theme="dark"] .gm-dark-refund-note a[href^="mailto:"] { background: var(--gm-surface-2); border: 1px solid rgba(220, 232, 255, 0.20); color: var(--gm-text); box-shadow: none; }
    body[data-bs-theme="dark"] .gm-dark-refund-note a[href^="mailto:"] { background: var(--gm-surface-2); border: 1px solid rgba(220, 232, 255, 0.20); color: var(--gm-text); box-shadow: none; }
    .gm-dark-refund-note a[href*="whatsapp"] { background: var(--gm-surface-2); border: 1px solid rgba(220, 232, 255, 0.20); color: var(--gm-text); box-shadow: none; }
    body[data-theme="dark"] .gm-dark-refund-note a[href*="whatsapp"] { background: var(--gm-surface-2); border: 1px solid rgba(220, 232, 255, 0.20); color: var(--gm-text); box-shadow: none; }
    body[data-bs-theme="dark"] .gm-dark-refund-note a[href*="whatsapp"] { background: var(--gm-surface-2); border: 1px solid rgba(220, 232, 255, 0.20); color: var(--gm-text); box-shadow: none; }
    .gm-dark-refund-note button { background: var(--gm-surface-2); border: 1px solid rgba(220, 232, 255, 0.20); color: var(--gm-text); box-shadow: none; }
    body[data-theme="dark"] .gm-dark-refund-note button { background: var(--gm-surface-2); border: 1px solid rgba(220, 232, 255, 0.20); color: var(--gm-text); box-shadow: none; }
    body[data-bs-theme="dark"] .gm-dark-refund-note button { background: var(--gm-surface-2); border: 1px solid rgba(220, 232, 255, 0.20); color: var(--gm-text); box-shadow: none; }
    .gm-dark-refund-note a[href^="mailto:"]:hover { background: var(--gm-surface-2); color: var(--gm-text); }
    body[data-theme="dark"] .gm-dark-refund-note a[href^="mailto:"]:hover { background: var(--gm-surface-2); color: var(--gm-text); }
    body[data-bs-theme="dark"] .gm-dark-refund-note a[href^="mailto:"]:hover { background: var(--gm-surface-2); color: var(--gm-text); }
    .gm-dark-refund-note a[href*="whatsapp"]:hover { background: var(--gm-surface-2); color: var(--gm-text); }
    body[data-theme="dark"] .gm-dark-refund-note a[href*="whatsapp"]:hover { background: var(--gm-surface-2); color: var(--gm-text); }
    body[data-bs-theme="dark"] .gm-dark-refund-note a[href*="whatsapp"]:hover { background: var(--gm-surface-2); color: var(--gm-text); }
    .gm-dark-refund-note button:hover { background: var(--gm-surface-2); color: var(--gm-text); }
    body[data-theme="dark"] .gm-dark-refund-note button:hover { background: var(--gm-surface-2); color: var(--gm-text); }
    body[data-bs-theme="dark"] .gm-dark-refund-note button:hover { background: var(--gm-surface-2); color: var(--gm-text); }
    .gm-dark-code-expiry { background: var(--gm-bg); border: 1px solid rgba(117, 155, 255, 0.22); box-shadow: none; color: var(--gm-text); }
    body[data-theme="dark"] .gm-dark-code-expiry { background: var(--gm-bg); border: 1px solid rgba(117, 155, 255, 0.22); box-shadow: none; color: var(--gm-text); }
    body[data-bs-theme="dark"] .gm-dark-code-expiry { background: var(--gm-bg); border: 1px solid rgba(117, 155, 255, 0.22); box-shadow: none; color: var(--gm-text); }
    .gm-dark-code-expiry * { color: var(--gm-text); }
    body[data-theme="dark"] .gm-dark-code-expiry * { color: var(--gm-text); }
    body[data-bs-theme="dark"] .gm-dark-code-expiry * { color: var(--gm-text); }
    .gm-dark-code-expiry svg { color: var(--gm-info); stroke: currentColor; }
    body[data-theme="dark"] .gm-dark-code-expiry svg { color: var(--gm-info); stroke: currentColor; }
    body[data-bs-theme="dark"] .gm-dark-code-expiry svg { color: var(--gm-info); stroke: currentColor; }
    .gm-dark-code-expiry i { color: var(--gm-info); stroke: currentColor; }
    body[data-theme="dark"] .gm-dark-code-expiry i { color: var(--gm-info); stroke: currentColor; }
    body[data-bs-theme="dark"] .gm-dark-code-expiry i { color: var(--gm-info); stroke: currentColor; }
    .gm-dark-resend-button { background: var(--gm-surface-2); border: 1px solid rgba(220, 232, 255, 0.20); color: var(--gm-text); box-shadow: none; }
    body[data-theme="dark"] .gm-dark-resend-button { background: var(--gm-surface-2); border: 1px solid rgba(220, 232, 255, 0.20); color: var(--gm-text); box-shadow: none; }
    body[data-bs-theme="dark"] .gm-dark-resend-button { background: var(--gm-surface-2); border: 1px solid rgba(220, 232, 255, 0.20); color: var(--gm-text); box-shadow: none; }
    .gm-dark-resend-button:hover { background: var(--gm-surface-2); border-color: rgba(220, 232, 255, 0.28); color: var(--gm-text); }
    body[data-theme="dark"] .gm-dark-resend-button:hover { background: var(--gm-surface-2); border-color: rgba(220, 232, 255, 0.28); color: var(--gm-text); }
    body[data-bs-theme="dark"] .gm-dark-resend-button:hover { background: var(--gm-surface-2); border-color: rgba(220, 232, 255, 0.28); color: var(--gm-text); }
    .gm-dark-resend-button:focus { background: var(--gm-surface-2); border-color: rgba(220, 232, 255, 0.28); color: var(--gm-text); }
    body[data-theme="dark"] .gm-dark-resend-button:focus { background: var(--gm-surface-2); border-color: rgba(220, 232, 255, 0.28); color: var(--gm-text); }
    body[data-bs-theme="dark"] .gm-dark-resend-button:focus { background: var(--gm-surface-2); border-color: rgba(220, 232, 255, 0.28); color: var(--gm-text); }
    .gm-dark-resend-button:disabled { background: var(--gm-bg); color: rgba(234, 241, 255, 0.62); border-color: rgba(220, 232, 255, 0.12); opacity: 1; }
    body[data-theme="dark"] .gm-dark-resend-button:disabled { background: var(--gm-bg); color: rgba(234, 241, 255, 0.62); border-color: rgba(220, 232, 255, 0.12); opacity: 1; }
    body[data-bs-theme="dark"] .gm-dark-resend-button:disabled { background: var(--gm-bg); color: rgba(234, 241, 255, 0.62); border-color: rgba(220, 232, 255, 0.12); opacity: 1; }
    .gm-billing-plan-card h2 { color: var(--gm-text); }
    .gm-billing-info-list > * { background: var(--gm-bg); border-color: var(--gm-border); }
    .gm-billing-rules-list > * { background: var(--gm-bg); border-color: var(--gm-border); }
    .gm-billing-details > * { border-color: var(--gm-border); }
    .gm-billing-info-list li { color: var(--gm-text-secondary); }
    .gm-billing-rules-list li { color: var(--gm-text-secondary); }
    .gm-billing-modal-card p { color: var(--gm-text-secondary); }
    .gm-billing-flow-back:hover { color: var(--gm-text); }
    .gm-billing-history .gm-billing-card-heading { background: var(--gm-surface); border-color: var(--gm-border); }
    .gm-billing-history-desktop table { width: 100%; background: var(--gm-bg); border-collapse: collapse; }
    .gm-billing-history-desktop tbody { background: var(--gm-bg); color: var(--gm-text); }
    .gm-billing-history-desktop tr { background: var(--gm-bg); color: var(--gm-text); }
    .gm-billing-history-desktop td { background: var(--gm-bg); color: var(--gm-text); border-color: var(--gm-border); }
    .gm-billing-history-desktop thead { background: var(--gm-bg); color: var(--gm-text); }
    .gm-billing-history-desktop th { background: var(--gm-bg); color: var(--gm-text); border-color: var(--gm-border); }
    .gm-billing-mobile-payment-info { background: var(--gm-bg); border-color: var(--gm-border); }
    .gm-billing-history thead { background: var(--gm-surface); color: var(--gm-text); }
    .gm-billing-history tbody { background: var(--gm-surface); color: var(--gm-text); }
    .gm-billing-history tr { background: var(--gm-surface); color: var(--gm-text); }
    .gm-billing-history .status:has(.gm-billing-payment-status) { padding: 0; background: transparent; border: 0; color: inherit; }
    .gm-billing-history tbody tr:hover { background: var(--gm-surface); }
    .gm-billing-history .status { background: transparent; border: 0; box-shadow: none; padding: 0; color: inherit; }
    .gm-billing-history > header * { background: transparent; }
    .gm-billing-history .gm-billing-section-label { color: var(--gm-info); }
    .gm-billing-history > header h2 { color: var(--gm-text); }
    .gm-billing-history > header p { color: var(--gm-text-secondary); }
    .gm-billing-history-desktop { background: var(--gm-bg); }
    .gm-billing-history-desktop td strong { color: var(--gm-text); }
    .gm-billing-history-mobile article { background: var(--gm-bg); border-color: var(--gm-border); }
}

@media (max-width: 900px) {
    .gm-billing-main-grid, .gm-billing-flow-layout { grid-template-columns: minmax(0,1fr); }
    .gm-billing-hero, .gm-billing-card-heading { flex-wrap: wrap; }
    .gm-billing-hero { min-height: 0; padding: 10px; }
    .gm-billing-details { grid-template-columns: minmax(0,1fr); }
    .gm-billing-plan-card, .gm-billing-rules { min-width: 0; padding: 10px; }
    .gm-billing-history-desktop { display: none; }
    .gm-billing-history-mobile { display: grid; gap: 8px; padding: 10px; }
    .gm-billing-history-mobile article { min-width: 0; padding: 10px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); overflow-wrap: anywhere; }
    .gm-billing-mobile-payment-head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; }
    .gm-billing-mobile-payment-info { display: grid; gap: 8px; margin: 10px 0; }
    .gm-billing-mobile-payment-info > div { display: grid; gap: 4px; }
    .gm-billing-mobile-payment-info span, .gm-billing-history-mobile small { color: var(--gm-text-secondary); font-size: 12px; }
    .gm-billing-modal-card { max-height: calc(100dvh - 32px); overflow-y: auto; }
    :is(.gm-billing-lifetime-icon,.gm-billing-rule-icon,.gm-billing-flow-side-icon) { width: 28px; height: 28px; }
    .gm-billing-hero { margin-bottom: 10px; gap: 8px; }
    .gm-billing-main-grid, .gm-billing-flow-layout { gap: 8px; }
    .gm-billing-mobile-payment-info { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; margin: 8px 0; }
    :is(.gm-billing-page,.gm-billing-flow-page,.gm-suspended-page) :is(.btn,.gm-billing-btn,.gm-billing-flow-danger-btn,.gm-billing-flow-primary-btn,.gm-billing-flow-secondary-btn) { min-height: 44px; }

    .gm-billing-modal :is(.gm-billing-modal-cancel,.gm-billing-modal-confirm) { min-height: 44px; }
}
/* Administration: componentes compartilhados e adaptação por breakpoint. */

@media (min-width: 0px) {
    .owner-admin-page { display: block; }
    .owner-admin-eyebrow { display: block; margin-bottom: 6px; color: var(--gm-info); font-size: 11px; font-weight: 800; letter-spacing: .09em; }
    .owner-admin-kpis { margin-bottom: 13px; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin: 0; }
    .owner-admin-kpi { min-width: 0; padding: 12px; border: 1px solid var(--gm-border); border-radius: 14px; box-shadow: none; background: var(--gm-bg); border-color: var(--gm-border); }
    .owner-admin-kpi span { display: block; margin-bottom: 8px; color: var(--gm-text-secondary); font-size: 12px; font-weight: 650; }
    .owner-admin-kpi strong { display: block; margin: 0; font-size: 19px; line-height: 1; color: var(--gm-text); }
    .owner-kpi-active { border-top: 3px solid var(--gm-green); }
    .owner-kpi-trial { border-top: 3px solid var(--gm-blue-soft); }
    .owner-kpi-pending { border-top: 3px solid var(--gm-red); }
    .owner-kpi-suspended { border-top: 3px solid var(--gm-red); }
    .owner-kpi-cancelled { border-top: 3px solid var(--gm-border); }
    .owner-kpi-history { border-top: 3px solid var(--gm-border); }
    .owner-admin-empty { gap: 5px; color: var(--gm-text-secondary); display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 130px; padding: 19px 14px; text-align: center; }
    .owner-admin-empty strong { font-size: 12px; color: var(--gm-text); }
    .owner-admin-empty span { margin-top: 4px; font-size: 12px; color: var(--gm-text-secondary); }
    .owner-admin-v2 { display: grid; gap: 13px; }
    .owner-admin-hero { padding: 16px 17px; border: 1px solid var(--gm-border); border-radius: 16px; background: var(--gm-bg); border-color: var(--gm-border); box-shadow: none; }
    .owner-admin-hero h1 { margin: 0; font-size: 22px; line-height: 1.15; color: var(--gm-text); }
    .owner-admin-hero p { margin: 7px 0 0; font-size: 12px; color: var(--gm-text-secondary); }
    .owner-admin-kpi-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; }
    .owner-admin-kpi-top > span:first-child { font-size: 12px; font-weight: 700; color: var(--gm-text); }
    .owner-admin-kpi-dot { width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; }
    .owner-admin-kpi small { display: block; margin-top: 7px; font-size: 12px; color: var(--gm-text-secondary); }
    .owner-kpi-active .owner-admin-kpi-dot { background: var(--gm-green); }
    .owner-kpi-trial .owner-admin-kpi-dot { background: var(--gm-info); }
    .owner-kpi-pending .owner-admin-kpi-dot { background: var(--gm-yellow); }
    .owner-kpi-suspended .owner-admin-kpi-dot { background: var(--gm-red); }
    .owner-kpi-cancelled .owner-admin-kpi-dot { background: var(--gm-surface); }
    .owner-kpi-history .owner-admin-kpi-dot { background: var(--gm-blue-soft); }
    .owner-admin-section { overflow: hidden; border: 1px solid var(--gm-border); border-radius: 16px; background: var(--gm-surface); border-color: var(--gm-border); box-shadow: none; }
    .owner-admin-section-head { padding: 13px 14px; border-bottom: 1px solid var(--gm-border); border-color: var(--gm-border); }
    .owner-admin-section-head h2 { margin: 0; font-size: 17px; color: var(--gm-text); }
    .owner-admin-section-head p { margin: 4px 0 0; font-size: 12px; color: var(--gm-text-secondary); }
    .owner-admin-table-wrap { overflow-x: auto; background: var(--gm-bg); }
    .owner-admin-table { width: 100%; min-width: 900px; border-collapse: collapse; background: var(--gm-bg); }
    .owner-admin-table th { padding: 11px 11px; border-bottom: 1px solid var(--gm-border); font-size: 11px; font-weight: 800; letter-spacing: .03em; text-align: left; background: var(--gm-bg); border-color: var(--gm-border); color: var(--gm-text); }
    .owner-admin-table td { padding: 10px 11px; border-bottom: 1px solid var(--gm-border); font-size: 12px; vertical-align: middle; background: var(--gm-bg); border-color: var(--gm-border); color: var(--gm-text); }
    .owner-admin-table tr:last-child td { border-bottom: 0; }
    .owner-admin-table td strong { color: var(--gm-text); }
    .owner-admin-technical { max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .owner-admin-status {
        border-color: var(--gm-border);
        background: var(--gm-bg);
        color: var(--gm-text);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 25px;
        box-sizing: border-box;
        padding: 0 9px;
        border: 0;
        border-radius: 999px;
        font-size: 11px;
        font-weight: 800;
        line-height: 1;
        white-space: nowrap;
        box-shadow: none;
    }
    .owner-admin-status[ data-status*="ativa" ] { border-color: var(--gm-green); background: var(--gm-bg); color: var(--gm-green); }
    .owner-admin-status[ data-status*="active" ] { border-color: var(--gm-green); background: var(--gm-bg); color: var(--gm-green); }
    .owner-admin-status[ data-status*="aprov" ] { border-color: var(--gm-green); background: var(--gm-bg); color: var(--gm-green); }
    .owner-admin-status[ data-status*="teste" ] { border-color: var(--gm-surface-2); background: var(--gm-surface-2); color: var(--gm-info); }
    .owner-admin-status[ data-status*="trial" ] { border-color: var(--gm-surface-2); background: var(--gm-surface-2); color: var(--gm-info); }
    .owner-admin-status[ data-status*="pend" ] { border-color: var(--gm-red); background: var(--gm-bg); color: var(--gm-info); }
    .owner-admin-status[ data-status*="susp" ] { border-color: var(--gm-red); background: var(--gm-bg); color: var(--gm-red); }
    .owner-admin-status[ data-status*="cancel" ] { border-color: var(--gm-border); background: var(--gm-surface); color: var(--gm-text-secondary); }
    .owner-admin-mobile-list { display: none; }
    .owner-admin-mobile-card { padding: 11px; border: 1px solid var(--gm-border); border-radius: 13px; background: var(--gm-bg); border-color: var(--gm-border); box-shadow: none; }
    .owner-admin-mobile-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
    .owner-admin-mobile-card-head > div { min-width: 0; }
    .owner-admin-mobile-label { display: block; margin-bottom: 4px; color: var(--gm-info); font-size: 11px; font-weight: 800; letter-spacing: .08em; }
    .owner-admin-mobile-card-head strong { display: block; font-size: 13px; color: var(--gm-text); }
    .owner-admin-mobile-card-head small { display: block; margin-top: 3px; font-size: 12px; overflow-wrap: anywhere; color: var(--gm-text-secondary); }
    .owner-admin-mobile-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 10px; padding-top: 11px; border-top: 1px solid var(--gm-border); border-color: var(--gm-border); }
    .owner-admin-mobile-grid > div { min-width: 0; }
    .owner-admin-mobile-grid span { display: block; color: var(--gm-text-secondary); font-size: 12px; }
    .owner-admin-mobile-technical span { display: block; color: var(--gm-text-secondary); font-size: 12px; }
    .owner-admin-mobile-grid strong { display: block; margin-top: 3px; font-size: 12px; overflow-wrap: anywhere; color: var(--gm-text); }
    .owner-admin-mobile-technical strong { display: block; margin-top: 3px; font-size: 12px; overflow-wrap: anywhere; color: var(--gm-text); }
    .owner-admin-mobile-technical { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--gm-border); border-color: var(--gm-border); }
    .owner-admin-empty-icon { width: 42px; height: 42px; display: grid; place-items: center; margin-bottom: 10px; border-radius: 11px; background: var(--gm-surface); color: var(--gm-green); font-weight: 800; }
}

@media (min-width: 0px) {
@media (max-width: 1200px) {
    .owner-admin-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
}

@media (min-width: 0px) {
    .owner-admin-search-box { position: relative; flex: 1 1 auto; min-width: 0; }
    .owner-admin-search-box svg { position: absolute; top: 50%; left: 12px; width: 17px; height: 17px; transform: translateY(-50%); fill: none; stroke-width: 1.8; pointer-events: none; stroke: var(--gm-text-secondary); }
    .owner-admin-search-box input { width: 100%; height: 40px; padding: 0 10px 0 27px; border: 1px solid var(--gm-border); border-radius: 10px; outline: none; font-size: 12px; background: var(--gm-bg); border-color: var(--gm-border); color: var(--gm-text); }
    .owner-admin-search-box input:focus { border-color: var(--gm-blue-soft); box-shadow: 0 0 0 3px rgba(47,111,237,.10); }
    .owner-admin-search-submit {
        height: 40px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0 11px;
        border-radius: 10px;
        font-size: 12px;
        font-weight: 750;
        text-decoration: none;
        white-space: nowrap;
        border: 1px solid var(--gm-blue-soft);
        background: var(--gm-blue-soft);
        color: var(--gm-text);
        cursor: pointer;
    }
    .owner-admin-search-clear {
        height: 40px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0 11px;
        border-radius: 10px;
        font-size: 12px;
        font-weight: 750;
        text-decoration: none;
        white-space: nowrap;
        border: 1px solid var(--gm-border);
        background: var(--gm-bg);
        border-color: var(--gm-border);
        color: var(--gm-text);
    }
    .owner-admin-periods { display: flex; align-items: center; gap: 6px; margin-top: 11px; overflow-x: auto; scrollbar-width: none; }
    .owner-admin-periods::-webkit-scrollbar { display: none; }
    .owner-admin-periods a {
        min-height: 30px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0 11px;
        border: 1px solid var(--gm-border);
        border-radius: 8px;
        font-size: 12px;
        font-weight: 700;
        text-decoration: none;
        white-space: nowrap;
        background: var(--gm-bg);
        border-color: var(--gm-border);
        color: var(--gm-text-secondary);
    }
    .owner-admin-periods a.is-active { background: var(--gm-blue); border-color: white; color: white; }
    .owner-admin-lifetime-section .owner-admin-section-head { display: flex; align-items: center; justify-content: space-between; gap: 13px; }
    .owner-admin-lifetime-count { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 38px; border-radius: 11px; font-size: 15px; font-weight: 800; background: var(--gm-surface-2); color: var(--gm-yellow); }
    .owner-admin-lifetime-badge {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 24px;
        padding: 0 9px;
        border: 1px solid var(--gm-blue-soft);
        border-radius: 999px;
        font-size: 12px;
        font-weight: 800;
        white-space: nowrap;
        background: var(--gm-surface-2);
        border-color: var(--gm-surface-2);
        color: var(--gm-yellow);
    }
    .owner-admin-lifetime-mobile { border-color: var(--gm-border); }
    .owner-admin-period-filter { display: flex; align-items: center; gap: 10px; min-height: 38px; padding: 8px 10px; border: 1px solid var(--gm-border); border-radius: 12px; background: var(--gm-bg); border-color: var(--gm-border); }
    .owner-admin-period-title { flex: 0 0 auto; font-size: 12px; font-weight: 750; white-space: nowrap; color: var(--gm-text); }
    .owner-admin-period-filter .owner-admin-periods { display: flex; align-items: center; gap: 6px; margin: 0; }
    .owner-admin-period-filter .owner-admin-periods a {
        min-height: 30px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0 11px;
        border: 1px solid var(--gm-border);
        border-radius: 8px;
        font-size: 12px;
        font-weight: 700;
        text-decoration: none;
        white-space: nowrap;
        background: var(--gm-bg);
        border-color: var(--gm-border);
        color: var(--gm-text-secondary);
    }
    .owner-admin-period-filter .owner-admin-periods a.is-active { background: var(--gm-blue); border-color: white; color: white; box-shadow: 0 0 0 1px rgba(59, 130, 246, .15); opacity: 1; }
    .owner-admin-current-search { display: flex; align-items: center; gap: 8px; padding: 10px 11px; border-bottom: 1px solid var(--gm-border); background: var(--gm-bg); border-color: var(--gm-border); }
    .owner-admin-current-search .owner-admin-search-box { position: relative; flex: 1 1 auto; min-width: 0; }
    .owner-admin-current-search .owner-admin-search-box svg { position: absolute; top: 50%; left: 12px; width: 16px; height: 16px; transform: translateY(-50%); fill: none; stroke-width: 1.8; pointer-events: none; stroke: var(--gm-text-secondary); }
    .owner-admin-current-search .owner-admin-search-box input { width: 100%; height: 38px; padding: 0 10px 0 27px; border: 1px solid var(--gm-border); border-radius: 9px; outline: none; font-size: 12px; background: var(--gm-bg); border-color: var(--gm-border); color: var(--gm-text); }
    .owner-admin-current-search .owner-admin-search-box input:focus { border-color: var(--gm-blue-soft); box-shadow: 0 0 0 3px rgba(47,111,237,.10); }
    .owner-admin-current-search .owner-admin-search-submit {
        height: 38px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0 10px;
        border-radius: 9px;
        font-size: 12px;
        font-weight: 750;
        text-decoration: none;
        white-space: nowrap;
        border: 1px solid var(--gm-blue-soft);
        background: var(--gm-blue-soft);
        color: var(--gm-text);
        cursor: pointer;
    }
    .owner-admin-current-search .owner-admin-search-clear {
        height: 38px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0 10px;
        border-radius: 9px;
        font-size: 12px;
        font-weight: 750;
        text-decoration: none;
        white-space: nowrap;
        border: 1px solid var(--gm-border);
        background: var(--gm-bg);
        border-color: var(--gm-border);
        color: var(--gm-text);
    }
    .owner-admin-history-tools { padding: 10px 11px; border-bottom: 1px solid var(--gm-border); background: var(--gm-bg); border-color: var(--gm-border); }
    .owner-admin-history-search { display: flex; align-items: center; gap: 8px; }
    .owner-admin-history-search .owner-admin-search-box { position: relative; flex: 1 1 auto; min-width: 0; }
    .owner-admin-history-search .owner-admin-search-box svg { position: absolute; top: 50%; left: 12px; width: 16px; height: 16px; transform: translateY(-50%); fill: none; stroke-width: 1.8; pointer-events: none; stroke: var(--gm-text-secondary); }
    .owner-admin-history-search .owner-admin-search-box input { width: 100%; height: 38px; padding: 0 10px 0 27px; border: 1px solid var(--gm-border); border-radius: 9px; outline: none; font-size: 12px; background: var(--gm-bg); border-color: var(--gm-border); color: var(--gm-text); }
    .owner-admin-history-search .owner-admin-search-box input:focus { border-color: var(--gm-blue-soft); box-shadow: 0 0 0 3px rgba(47,111,237,.10); }
    .owner-admin-history-search .owner-admin-search-submit {
        height: 38px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0 10px;
        border-radius: 9px;
        font-size: 12px;
        font-weight: 750;
        text-decoration: none;
        white-space: nowrap;
        border: 1px solid var(--gm-blue-soft);
        background: var(--gm-blue-soft);
        color: var(--gm-text);
        cursor: pointer;
    }
    .owner-admin-history-search .owner-admin-search-clear {
        height: 38px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0 10px;
        border-radius: 9px;
        font-size: 12px;
        font-weight: 750;
        text-decoration: none;
        white-space: nowrap;
        border: 1px solid var(--gm-border);
        background: var(--gm-bg);
        border-color: var(--gm-border);
        color: var(--gm-text);
    }
    .owner-admin-history-period { display: flex; align-items: center; gap: 10px; margin-top: 10px; }
    .owner-admin-history-period > span { font-size: 12px; font-weight: 700; white-space: nowrap; color: var(--gm-text-secondary); }
    .owner-admin-history-period .owner-admin-periods { display: flex; align-items: center; gap: 6px; margin: 0; }
    .owner-admin-history-period .owner-admin-periods a {
        min-height: 29px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0 10px;
        border: 1px solid var(--gm-border);
        border-radius: 8px;
        font-size: 12px;
        font-weight: 700;
        text-decoration: none;
        white-space: nowrap;
        background: var(--gm-bg);
        border-color: var(--gm-border);
        color: var(--gm-text-secondary);
    }
    .owner-admin-history-period .owner-admin-periods a.is-active { background: var(--gm-blue); border-color: white; color: white; opacity: 1; }
    .owner-admin-view-account {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 29px;
        padding: 0 10px;
        border: 1px solid var(--gm-blue-soft);
        border-radius: 8px;
        font-size: 12px;
        font-weight: 800;
        text-decoration: none;
        white-space: nowrap;
        border-color: var(--gm-surface-2);
        background: var(--gm-surface-2);
        color: var(--gm-info);
    }
    .owner-admin-view-account:hover { border-color: var(--gm-blue-soft); background: var(--gm-surface); }
    .owner-admin-view-account-mobile { width: 100%; min-height: 35px; margin-top: 11px; }
    .gm-admin-account-page { display: grid; gap: 13px; }
    .gm-admin-account-hero { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 16px 17px; border: 1px solid var(--gm-border); border-radius: 16px; background: var(--gm-bg); border-color: var(--gm-border); }
    .gm-admin-account-eyebrow { display: block; margin-bottom: 6px; color: var(--gm-info); font-size: 11px; font-weight: 800; letter-spacing: .09em; }
    .gm-admin-support-label { display: block; margin-bottom: 6px; color: var(--gm-info); font-size: 11px; font-weight: 800; letter-spacing: .09em; }
    .gm-admin-account-hero h1 { margin: 0; font-size: 22px; color: var(--gm-text); }
    .gm-admin-account-hero p { margin: 6px 0 0; font-size: 12px; color: var(--gm-text-secondary); }
    .gm-admin-account-id { min-width: 78px; padding: 10px; border: 1px solid var(--gm-border); border-radius: 12px; text-align: center; background: var(--gm-bg); border-color: var(--gm-surface-2); }
    .gm-admin-account-id span { display: block; color: var(--gm-text-secondary); font-size: 12px; }
    .gm-admin-account-id strong { display: block; margin-top: 3px; color: var(--gm-info); font-size: 17px; }
    .gm-admin-support-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
    .gm-admin-support-card { border: 1px solid var(--gm-border); border-radius: 14px; padding: 13px; background: var(--gm-surface); border-color: var(--gm-border); }
    .gm-admin-support-section { border: 1px solid var(--gm-border); border-radius: 14px; overflow: hidden; background: var(--gm-surface); border-color: var(--gm-border); }
    .gm-admin-support-card h2 { margin: 0; font-size: 15px; color: var(--gm-text); }
    .gm-admin-support-section h2 { margin: 0; font-size: 15px; color: var(--gm-text); }
    .gm-admin-support-list { display: grid; gap: 9px; margin-top: 11px; }
    .gm-admin-support-list > div { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; padding-bottom: 8px; border-bottom: 1px solid var(--gm-border); border-color: var(--gm-border); }
    .gm-admin-support-list > div:last-child { padding-bottom: 0; border-bottom: 0; }
    .gm-admin-support-list span { color: var(--gm-text-secondary); font-size: 12px; }
    .gm-admin-support-list strong { max-width: 64%; font-size: 12px; text-align: right; overflow-wrap: anywhere; color: var(--gm-text); }
    .gm-admin-code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
    .gm-admin-support-kpis { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 9px; }
    .gm-admin-support-kpis article { padding: 11px; border: 1px solid var(--gm-border); border-radius: 13px; background: var(--gm-bg); border-color: var(--gm-border); }
    .gm-admin-support-kpis span { color: var(--gm-text-secondary); font-size: 12px; font-weight: 700; }
    .gm-admin-support-kpis strong { display: block; margin-top: 8px; font-size: 17px; color: var(--gm-text); }
    .gm-admin-support-kpis small { display: block; margin-top: 5px; color: var(--gm-text-secondary); font-size: 12px; }
    .gm-admin-support-section > header { padding: 12px 13px; border-bottom: 1px solid var(--gm-border); border-color: var(--gm-border); }
    .gm-admin-readonly-note { display: flex; align-items: center; gap: 10px; padding: 10px 11px; border: 1px solid var(--gm-blue-soft); border-radius: 11px; background: var(--gm-bg); border-color: var(--gm-surface-2); }
    .gm-admin-readonly-note strong { color: var(--gm-info); font-size: 12px; }
    .gm-admin-readonly-note span { font-size: 12px; color: var(--gm-text-secondary); }
}

@media (min-width: 0px) {
@media (max-width: 1200px) {
    .gm-admin-support-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gm-admin-support-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
}

@media (min-width: 0px) {
    .gm-admin-support-description { margin: 5px 0 0; font-size: 12px; line-height: 1.45; color: var(--gm-text-secondary); }
    .gm-admin-support-grid-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gm-admin-meta-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; padding: 11px; }
    .gm-admin-meta-grid > article { padding: 11px; border: 1px solid var(--gm-border); border-radius: 12px; background: var(--gm-bg); border-color: var(--gm-border); }
    .gm-admin-meta-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
    .gm-admin-meta-head span { font-size: 12px; font-weight: 750; color: var(--gm-text); }
    .gm-admin-meta-head strong { min-width: 27px; height: 27px; display: inline-flex; align-items: center; justify-content: center; padding: 0 7px; border-radius: 8px; font-size: 12px; background: var(--gm-surface-2); color: var(--gm-info); }
    .gm-admin-meta-grid dl { display: grid; gap: 7px; margin: 0; }
    .gm-admin-meta-grid dl > div { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
    .gm-admin-meta-grid dt { font-size: 12px; color: var(--gm-text-secondary); }
    .gm-admin-meta-grid dd { margin: 0; font-size: 12px; font-weight: 700; text-align: right; color: var(--gm-text); }
    .gm-admin-meta-grid > article > p { margin: 0; color: var(--gm-text-secondary); font-size: 12px; }
    .gm-admin-support-v2 .gm-admin-readonly-note { justify-content: flex-start; }
    .gm-admin-support-v2 .gm-admin-readonly-note > div { display: grid; gap: 3px; }
}

@media (min-width: 0px) {
@media (max-width: 1100px) {
    .gm-admin-meta-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
}

@media (min-width: 0px) {
    .owner-admin-period-filter .owner-admin-periods a.is-active:hover { background: var(--gm-blue); border-color: white; color: white; }
    .owner-admin-status[data-status="ativa"] { background: rgba(16, 185, 129, .14); color: var(--gm-green); }
    .owner-admin-status[data-status="ativa "] { background: rgba(16, 185, 129, .14); color: var(--gm-green); }
    .owner-admin-status[data-status="período gratuito"] { background: rgba(59, 130, 246, .15); color: var(--gm-info); }
    .owner-admin-status[data-status="periodo gratuito"] { background: rgba(59, 130, 246, .15); color: var(--gm-info); }
    .owner-admin-status[data-status="trial"] { background: rgba(59, 130, 246, .15); color: var(--gm-info); }
    .owner-admin-status[data-status="em teste"] { background: rgba(59, 130, 246, .15); color: var(--gm-info); }
    .owner-admin-status[data-status="pagamento pendente"] { background: rgba(245, 158, 11, .15); color: var(--gm-yellow); }
    .owner-admin-status[data-status="pendente"] { background: rgba(245, 158, 11, .15); color: var(--gm-yellow); }
    .owner-admin-status[data-status="pagamento_pendente"] { background: rgba(245, 158, 11, .15); color: var(--gm-yellow); }
    .owner-admin-status[data-status="suspensa"] { background: rgba(239, 68, 68, .15); color: var(--gm-red); }
    .owner-admin-status[data-status="cancelada"] { background: rgba(148, 163, 184, .14); color: var(--gm-text); }
}

@media (max-width: 900px) {
    .owner-admin-page, .owner-admin-page > *, .owner-admin-period-filter { min-width: 0; max-width: 100%; }
    .owner-admin-kpis, .gm-admin-support-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .owner-admin-period-filter, .owner-admin-history-period { flex-wrap: wrap; }
    .owner-admin-period-filter .owner-admin-periods { min-width: 0; max-width: 100%; }
    .gm-admin-support-grid, .gm-admin-support-grid-two, .gm-admin-meta-grid { grid-template-columns: minmax(0,1fr); }
    .gm-admin-account-hero { flex-wrap: wrap; }
    .owner-admin-kpi strong { overflow-wrap: anywhere; font-size: 20px; }
    .owner-admin-hero, .gm-admin-account-hero { padding: 10px; }
    .owner-admin-kpi { padding: 10px; min-height: 0; }

    .owner-admin-kpis, .gm-admin-support-kpis { gap: 8px; margin-bottom: 10px; }
    .owner-admin-hero, .gm-admin-account-hero { gap: 8px; margin-bottom: 10px; }
    .owner-admin-page :is(input:not([type=hidden]),select,.btn), .gm-admin-account-page .btn { min-height: 44px; }

    .owner-admin-page .owner-admin-periods a { min-height: 44px; }
}
/* Support: componentes compartilhados e adaptação por breakpoint. */

@media (min-width: 0px) {
    .gm-install-hub-v6 { width: 100%; max-width: none; margin: 0; }
    .gm-install-hub-v6-header { margin-bottom: 20px; }
    .gm-install-hub-v6-eyebrow { display: block; margin-bottom: 8px; color: var(--gm-info); font-size: 11px; font-weight: 800; letter-spacing: .12em; }
    .gm-install-hub-v6-header h1 { margin: 0; font-size: 23px; font-weight: 800; letter-spacing: -.035em; color: var(--gm-text); }
    .gm-install-hub-v6-header p { margin: 8px 0 0; font-size: 13px; line-height: 1.55; color: var(--gm-text-secondary); }
    .gm-install-hub-v6-group { margin-top: 18px; }
    .gm-install-hub-v6-group:first-of-type { margin-top: 0; }
    .gm-install-hub-v6-label { display: block; margin: 0 0 9px 2px; font-size: 11px; font-weight: 800; letter-spacing: .07em; color: var(--gm-text-secondary); }
    .gm-install-hub-v6-menu { overflow: hidden; border: 1px solid var(--gm-border); border-radius: 16px; border-color: var(--gm-border); background: var(--gm-bg); }
    .gm-install-hub-v6-row {
        min-height: 61px;
        display: grid;
        grid-template-columns: 42px minmax(0,1fr) 18px;
        align-items: center;
        gap: 10px;
        padding: 10px 13px;
        box-sizing: border-box;
        border-bottom: 1px solid var(--gm-border);
        text-decoration: none;
        transition: background .15s ease;
        border-color: var(--gm-border);
        color: var(--gm-text);
    }
    .gm-install-hub-v6-row:last-child { border-bottom: 0; }
    .gm-install-hub-v6-row:hover { text-decoration: none; background: var(--gm-bg); }
    .gm-install-hub-v6-icon { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 11px; color: var(--gm-info); background: var(--gm-surface-2); }
    .gm-install-hub-v6-icon svg { width: 20px; height: 20px; display: block; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
    .gm-install-hub-v6-copy { min-width: 0; }
    .gm-install-hub-v6-copy strong { display: block; margin-bottom: 4px; font-size: 13.5px; font-weight: 750; color: var(--gm-text); }
    .gm-install-hub-v6-copy small { display: block; font-size: 11px; line-height: 1.4; color: var(--gm-text-secondary); }
    .gm-install-hub-v6-arrow { width: 17px; height: 17px; display: block; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; stroke: var(--gm-info); }
    .install-phone { width: 145px; padding: 8px 8px 10px; border: 4px solid var(--gm-border); border-radius: 23px; background: var(--gm-surface); box-shadow: 0 12px 28px rgba(15,23,42,.12); }
    .install-phone-top { width: 48px; height: 5px; margin: 1px auto 9px; border-radius: 20px; background: var(--gm-surface); }
    .install-browser-bar { padding: 6px; border-radius: 7px; background: var(--gm-surface); color: var(--gm-text-secondary); text-align: center; font-size: 11px; }
    .install-screen-content { min-height: 108px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 10px 5px; }
    .install-mini-logo { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; background: var(--gm-bg); color: var(--gm-text); font-size: 11px; font-weight: 800; }
    .install-screen-content strong { color: var(--gm-text); font-size: 11px; }
    .install-desktop-content strong { color: var(--gm-text); font-size: 11px; }
    .install-screen-content > span { color: var(--gm-text-secondary); font-size: 11px; }
    .install-highlight { padding: 7px 9px; border-radius: 7px; background: var(--gm-surface); color: var(--gm-info); text-align: center; font-size: 11px; font-weight: 800; }
    .install-monitor { width: 220px; }
    .install-monitor-screen { overflow: hidden; border: 5px solid var(--gm-border); border-radius: 10px; background: var(--gm-surface); box-shadow: 0 12px 28px rgba(15,23,42,.12); }
    .install-browser-desktop { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 7px 9px; background: var(--gm-surface); color: var(--gm-text-secondary); font-size: 11px; }
    .install-browser-desktop strong { color: var(--gm-info); font-size: 14px; }
    .install-desktop-content { min-height: 90px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; }
    .install-monitor-neck { width: 28px; height: 16px; margin: auto; background: var(--gm-surface); }
    .install-monitor-base { width: 82px; height: 7px; margin: auto; border-radius: 8px 8px 3px 3px; background: var(--gm-surface); }
    .gm-install-detail-page { width: 100%; max-width: 980px; margin: 0 auto; }
    .gm-install-detail-eyebrow { display: block; margin-bottom: 6px; color: var(--gm-info); font-size: 11px; font-weight: 800; letter-spacing: .11em; }
    .gm-install-detail-card {
        display: grid;
        grid-template-columns: minmax(260px, .78fr) minmax(0, 1.22fr);
        overflow: hidden;
        margin-bottom: 11px;
        border: 1px solid var(--gm-border);
        border-radius: 17px;
        box-shadow: 0 5px 20px rgba(15,23,42,.03);
        background: var(--gm-surface);
        border-color: var(--gm-border);
    }
    .gm-install-detail-visual { min-height: 259px; display: flex; align-items: center; justify-content: center; padding: 22px; border-right: 1px solid var(--gm-border); border-color: var(--gm-border); background: linear-gradient( 180deg, var(--gm-bg), var(--gm-bg) ); }
    .gm-install-detail-page .install-phone { width: 150px; background: var(--gm-bg); border-color: var(--gm-border); }
    .gm-install-detail-page .install-monitor { width: 235px; }
    .gm-install-detail-steps { padding: 13px 16px; }
    .gm-install-detail-step { display: grid; grid-template-columns: 31px minmax(0,1fr); gap: 10px; padding: 12px 0; border-bottom: 1px solid var(--gm-border); border-color: var(--gm-border); }
    .gm-install-detail-step:last-child { border-bottom: 0; }
    .gm-install-detail-step > span { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 50%; font-size: 11px; font-weight: 800; color: var(--gm-info); background: var(--gm-surface-2); }
    .gm-install-detail-step > div > strong { display: block; margin-bottom: 4px; font-size: 12px; color: var(--gm-text); }
    .gm-install-detail-step p { margin: 0; font-size: 11px; line-height: 1.55; color: var(--gm-text-secondary); }
    .gm-install-detail-step p strong { display: inline; font-size: inherit; color: var(--gm-text); }
    .gm-install-support-card {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 17px;
        padding: 14px 15px;
        border: 1px solid var(--gm-border);
        border-left: 4px solid var(--gm-blue-soft);
        border-radius: 15px;
        border-color: var(--gm-border);
        border-left-color: var(--gm-surface-2);
        background: linear-gradient( 135deg, var(--gm-bg), var(--gm-bg) );
    }
    .gm-install-support-card h2 { margin: 0; font-size: 15px; color: var(--gm-text); }
    .gm-install-support-card p { max-width: 650px; margin: 6px 0 0; font-size: 11px; line-height: 1.55; color: var(--gm-text-secondary); }
    .gm-install-support-card .btn { flex: 0 0 auto; min-height: 37px; padding: 7px 10px; font-size: 11px; }
    .gm-install-detail-page .install-monitor-screen { background: var(--gm-bg); border-color: var(--gm-border); }
    .gm-install-detail-page .install-browser-bar { background: var(--gm-bg); color: var(--gm-text-secondary); }
    .gm-install-detail-page .install-browser-desktop { background: var(--gm-bg); color: var(--gm-text-secondary); }
    .gm-install-detail-page .install-screen-content strong { color: var(--gm-text); }
    .gm-install-detail-page .install-desktop-content strong { color: var(--gm-text); }
    .gm-install-detail-page .install-screen-content > span { color: var(--gm-text-secondary); }
    .gm-install-detail-page .install-highlight { color: var(--gm-info); background: var(--gm-surface-2); }
    .gm-support-v2 { width: 100%; max-width: none; margin: 0; }
    .gm-support-v2-header { margin-bottom: 19px; }
    .gm-support-v2-eyebrow { display: block; color: var(--gm-info); font-size: 11px; font-weight: 800; letter-spacing: .11em; margin-bottom: 8px; }
    .gm-support-v2-label { display: block; color: var(--gm-info); font-size: 11px; font-weight: 800; letter-spacing: .11em; margin-bottom: 4px; }
    .gm-support-v2-header h1 { margin: 0; font-size: 23px; font-weight: 800; letter-spacing: -.035em; color: var(--gm-text); }
    .gm-support-v2-header p { margin: 8px 0 0; font-size: 13px; line-height: 1.55; color: var(--gm-text-secondary); }
    .gm-support-v2-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 13px; margin-bottom: 13px; }
    .gm-support-v2-card { min-width: 0; padding: 15px; border: 1px solid var(--gm-border); border-radius: 16px; border-color: var(--gm-border); background: var(--gm-surface); min-height: unset; padding-bottom: 13px; justify-content: flex-start; }
    .gm-support-v2-card-head { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
    .gm-support-v2-icon { width: 43px; height: 43px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 12px; }
    .gm-support-v2-icon svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
    .gm-support-v2-icon-whatsapp { color: var(--gm-green); background: var(--gm-bg); }
    .gm-support-v2-icon-email { color: var(--gm-info); background: var(--gm-surface-2); }
    .gm-support-v2-card h2 { margin: 0; font-size: 16px; color: var(--gm-text); }
    .gm-support-v2-card > p { margin: 0 0 12px; font-size: 11px; line-height: 1.55; color: var(--gm-text-secondary); min-height: unset; margin-bottom: 11px; }
    .gm-support-v2-status { width: fit-content; align-items: center; gap: 6px; margin-bottom: 11px; padding: 5px 8px; border-radius: 999px; color: var(--gm-text-secondary); background: var(--gm-surface); font-size: 11px; font-weight: 700; display: none; }
    .gm-support-v2-status span { width: 6px; height: 6px; border-radius: 50%; background: var(--gm-surface); }
    .gm-support-v2-status.is-online { color: var(--gm-green); background: var(--gm-surface); }
    .gm-support-v2-status.is-online span { background: var(--gm-green); }
    .gm-support-v2-primary-btn {
        min-height: 38px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
        padding: 7px 10px;
        border-radius: 10px;
        color: var(--gm-action-green);
        -webkit-text-fill-color: currentColor;
        border: 1px solid color-mix(in srgb, var(--gm-action-green) 30%, transparent);
        background: var(--gm-green-soft);
        font-size: 11px;
        font-weight: 700;
        text-decoration: none;
        margin-top: 8px;
        align-self: flex-start;
    }
    .gm-support-v2-primary-btn:hover { background: color-mix(in srgb, var(--gm-green) 20%, var(--gm-surface)); text-decoration: none; }
    .gm-support-v2-primary-btn svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2; }
    .gm-support-v2-email-box { min-height: 50px; display: flex; align-items: center; justify-content: space-between; gap: 11px; padding: 10px 11px 10px 10px; border: 1px solid var(--gm-border); border-radius: 12px; border-color: var(--gm-border); background: var(--gm-bg); margin-top: 10px; }
    .gm-support-v2-email-box > div { min-width: 0; }
    .gm-support-v2-email-box > div > span { display: block; margin-bottom: 3px; color: var(--gm-text-secondary); font-size: 11px; }
    .gm-support-v2-email-box strong { display: block; overflow-wrap: anywhere; font-size: 11px; color: var(--gm-text); }
    .gm-support-v2-copy {
        min-height: 35px;
        display: inline-flex;
        align-items: center;
        gap: 6px;
        flex: 0 0 auto;
        padding: 6px 10px;
        border-radius: 9px;
        font: inherit;
        font-size: 11px;
        font-weight: 700;
        cursor: pointer;
        border-color: var(--gm-border);
        background: var(--gm-blue-soft);
        border: 1px solid var(--gm-blue-soft);
        color: var(--gm-text);
        opacity: 1;
        box-shadow: none;
    }
    .gm-support-v2-copy svg { width: 14px; height: 14px; fill: none; stroke-width: 1.8; stroke: var(--gm-text); color: var(--gm-text); }
    .gm-support-v2-feedback { min-height: 17px; margin: 7px 0 0; font-size: 11px; font-weight: 700; }
    .gm-support-v2-feedback.is-success { color: var(--gm-green); }
    .gm-support-v2-feedback.is-error { color: var(--gm-red); }
    .gm-support-v2-help { display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 11px 13px; border: 1px solid var(--gm-border); border-radius: 14px; border-color: var(--gm-border); background: var(--gm-bg); }
    .gm-support-v2-help-icon { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; color: var(--gm-info); background: var(--gm-surface-2); }
    .gm-support-v2-help-icon svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; width: 18px; height: 18px; }
    .gm-support-v2-help > a svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; width: 14px; height: 14px; }
    .gm-support-v2-help strong { display: block; margin-bottom: 2px; font-size: 11px; color: var(--gm-text); }
    .gm-support-v2-help p { margin: 0; font-size: 11px; color: var(--gm-text-secondary); }
    .gm-support-v2-help > a { display: inline-flex; align-items: center; gap: 4px; font-size: 11px; font-weight: 700; text-decoration: none; color: var(--gm-info); }
}

@media (min-width: 0px) {
@media (min-width: 900px) {
    .gm-support-v2 { max-width: 1180px; margin: 0 auto; }
    .gm-support-v2-header { margin-bottom: 22px; }
    .gm-support-v2-eyebrow { margin-bottom: 9px; font-size: 11px; }
    .gm-support-v2-header h1 { font-size: 26px; line-height: 1.15; }
    .gm-support-v2-header p { margin-top: 9px; font-size: 13.5px; }
    .gm-support-v2-grid { gap: 13px; margin-bottom: 13px; }
    .gm-support-v2-card { display: flex; flex-direction: column; padding: 18px 19px; box-sizing: border-box; border-radius: 18px; min-height: 158px; padding-bottom: 13px; }
    .gm-support-v2-card-head { gap: 12px; margin-bottom: 13px; }
    .gm-support-v2-icon { width: 50px; height: 50px; border-radius: 13px; }
    .gm-support-v2-icon svg { width: 24px; height: 24px; }
    .gm-support-v2-label { margin-bottom: 5px; font-size: 11px; }
    .gm-support-v2-card h2 { font-size: 15px; line-height: 1.25; }
    .gm-support-v2-card > p { min-height: 36px; font-size: 12px; line-height: 1.55; margin-bottom: 10px; }
    .gm-support-v2-status { margin-bottom: 12px; padding: 6px 9px; font-size: 11px; }
    .gm-support-v2-primary-btn { min-height: 36px; align-self: flex-start; padding: 8px 12px; font-size: 11px; margin-top: 6px; }
    .gm-support-v2-primary-btn svg { width: 16px; height: 16px; }
    .gm-support-v2-email-box { min-height: 58px; padding: 10px 10px 10px 12px; border-radius: 13px; margin-top: 8px; }
    .gm-support-v2-email-box > div > span { margin-bottom: 4px; font-size: 11px; }
    .gm-support-v2-email-box strong { font-size: 12px; }
    .gm-support-v2-copy { min-height: 39px; padding: 7px 10px; font-size: 11px; }
    .gm-support-v2-copy svg { width: 15px; height: 15px; }
    .gm-support-v2-feedback { min-height: 18px; margin-top: 7px; font-size: 11px; }
    .gm-support-v2-help { min-height: 54px; grid-template-columns: 44px minmax(0,1fr) auto; gap: 12px; padding: 12px 13px; box-sizing: border-box; border-radius: 15px; }
    .gm-support-v2-help-icon { width: 42px; height: 42px; border-radius: 11px; }
    .gm-support-v2-help-icon svg { width: 20px; height: 20px; }
    .gm-support-v2-help strong { margin-bottom: 4px; font-size: 12px; }
    .gm-support-v2-help p { font-size: 11px; line-height: 1.45; }
    .gm-support-v2-help > a { gap: 6px; min-height: 36px; display: inline-flex; align-items: center; padding: 0 10px; font-size: 11px; }
    .gm-support-v2-help > a svg { width: 15px; height: 15px; }
}
}

@media (min-width: 0px) {
    .legal-page-v2 { box-sizing: border-box; padding: 27px 32px 33px; font-size: 14px; line-height: 1.72; color: var(--gm-text); }
    .legal-page-v2 p { font-size: 14px; line-height: 1.72; margin: 0 0 11px; color: var(--gm-text); }
    .legal-page-v2 li { font-size: 14px; line-height: 1.72; margin: 6px 0; color: var(--gm-text); }
    .legal-page-v2 ul { margin: 10px 0 13px; padding-left: 21px; }
    .gm-legal-header { margin-bottom: 22px; padding-bottom: 18px; border-bottom: 1px solid var(--gm-border); border-color: var(--gm-border); }
    .gm-legal-eyebrow { display: block; margin-bottom: 8px; color: var(--gm-info); font-size: 11px; font-weight: 800; letter-spacing: .12em; }
    .legal-page-v2 .gm-legal-header h1 { margin: 0; font-size: 26px; line-height: 1.15; font-weight: 800; letter-spacing: -.035em; color: var(--gm-text); }
    .legal-page-v2 .legal-meta { margin: 9px 0 0; font-size: 11.5px; color: var(--gm-text-secondary); }
    .legal-page-v2 h2 { margin: 24px 0 10px; font-size: 15px; line-height: 1.35; font-weight: 750; letter-spacing: -.015em; color: var(--gm-text); }
    .legal-page-v2 h2::before { content: ""; display: inline-block; width: 4px; height: 17px; margin-right: 9px; vertical-align: -3px; border-radius: 4px; background: var(--gm-blue-soft); }
    .legal-page-v2 .legal-provider { margin: 17px 0 22px; padding: 14px 14px; border: 1px solid var(--gm-border); border-radius: 14px; border-color: var(--gm-border); background: var(--gm-bg); }
    .legal-page-v2 .legal-provider > strong { display: block; margin-bottom: 9px; color: var(--gm-text-secondary); font-size: 12px; font-weight: 750; }
    .legal-page-v2 .legal-provider p { margin: 4px 0; font-size: 12px; color: var(--gm-text-secondary); }
    .legal-page-v2 .legal-warning {
        display: block;
        margin: 17px 0;
        padding: 13px 13px;
        border-radius: 14px;
        font-size: 14px;
        line-height: 1.7;
        font-weight: 500;
        border: 1px solid var(--gm-surface-2);
        border-left: 4px solid var(--gm-blue-soft);
        background: linear-gradient( 180deg, var(--gm-bg) 0%, var(--gm-bg) 100% );
        color: var(--gm-text);
        box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22);
    }
    .legal-page-v2 .legal-warning p { color: inherit; }
    .legal-page-v2 .legal-warning li { color: inherit; }
    .legal-page-v2 .legal-warning strong { font-weight: 700; color: inherit; }
    .legal-page-v2 a { word-break: break-word; color: var(--gm-info); }
    .legal-page-v2 strong { color: var(--gm-text); }
    .legal-privacy-v2 h3 { margin: 17px 0 9px; font-size: 14.5px; line-height: 1.4; font-weight: 750; color: var(--gm-text); }
    .legal-privacy-v2 .legal-table-wrap { overflow-x: auto; margin: 14px 0 19px; border: 1px solid var(--gm-border); border-radius: 14px; -webkit-overflow-scrolling: touch; border-color: var(--gm-border); background: var(--gm-bg); }
    .legal-privacy-v2 .legal-table { width: 100%; min-width: 680px; border-collapse: separate; border-spacing: 0; background: var(--gm-bg); }
    .legal-privacy-v2 .legal-table thead { background: var(--gm-bg); color: var(--gm-text); border-color: var(--gm-border); }
    .legal-privacy-v2 .legal-table th { padding: 10px 12px; border-bottom: 1px solid var(--gm-border); font-size: 11px; font-weight: 750; text-align: left; vertical-align: top; background: var(--gm-bg); color: var(--gm-text); border-color: var(--gm-border); }
    .legal-privacy-v2 .legal-table td { padding: 11px 12px; border-bottom: 1px solid var(--gm-border); font-size: 12px; line-height: 1.6; text-align: left; vertical-align: top; background: var(--gm-bg); color: var(--gm-text); border-color: var(--gm-border); }
    .legal-privacy-v2 .legal-table tbody tr:last-child td { border-bottom: 0; }
    .legal-privacy-v2 .legal-table tbody tr:hover td { background: var(--gm-bg); }
    .legal-privacy-v2 .legal-table td:first-child { width: 28%; font-weight: 700; color: var(--gm-text); }
    .legal-privacy-v2 .legal-table tbody { background: var(--gm-bg); }
    .gm-support-v2-copy:hover { background: var(--gm-blue-soft); border-color: var(--gm-blue-soft); color: var(--gm-text); }
}

@media (max-width: 900px) {
    .gm-support-v2-grid, .gm-install-detail-card { grid-template-columns: minmax(0,1fr); }
    .gm-support-v2-header, .gm-install-hub-v6-header { min-height: 0; padding: 10px; }
    .gm-install-detail-visual { min-height: 160px; border-right: 0; border-bottom: 1px solid var(--gm-border); }
    .gm-install-support-card { flex-wrap: wrap; }
    .gm-support-v2-primary-btn { min-height: 44px; }
    :is(.gm-support-v2-icon,.gm-install-hub-v6-icon) { width: 28px; height: 28px; }
    :is(.gm-support-v2-icon,.gm-install-hub-v6-icon) svg { width: 18px; height: 18px; }
    .gm-support-v2-header, .gm-install-hub-v6-header { margin-bottom: 10px; }
    .gm-support-v2-grid { gap: 8px; }
    .gm-install-detail-visual { min-height: 120px; }
    .gm-install-detail-page .btn, .gm-install-support-card .btn { min-height: 44px; }

    .gm-support-v2 .gm-support-v2-copy { min-height: 44px; }
    :is(.gm-legal-auth-page,.legal-public-body) .legal-page-v2 { padding: 0 0 20px; }
    .legal-public-body .legal-page-v2 { padding: 10px; }
    .legal-page-v2 .gm-legal-header { padding: 10px; margin-bottom: 16px; }

}
/* Conta e acesso: componentes compartilhados e adaptação por breakpoint. */

@media (min-width: 0px) {
    .public-body { min-height: 100vh; display: grid; place-items: center; padding: 17px; background: var(--gm-bg); color: var(--gm-text); }
    .public-brand { display: flex; justify-content: center; align-items: center; gap: 11px; margin-bottom: 14px; color: var(--gm-text); }
    .auth-card { border: 1px solid var(--gm-border); border-radius: 20px; padding: 22px; box-shadow: 0 18px 50px rgba(15,23,42,.10); color: var(--gm-text); background: var(--gm-surface); border-color: var(--gm-border); }
    .auth-card h1 { margin-top: 0; font-size: 21px; letter-spacing: -.035em; color: var(--gm-text); }
    .auth-card .btn { width: 100%; }
    .auth-card button[type="submit"] { width: 100%; min-height: 36px; border: 0; border-radius: 9px; background: var(--gm-blue); color: white; font-weight: 700; cursor: pointer; padding: 9px 11px; }
    .gm-password-wrap { position: relative; width: 100%; }
    .gm-password-wrap input { width: 100%; padding-right: 43px; }
    .gm-password-toggle {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        place-items: center;
        margin: 0;
        padding: 0;
        border: 0;
        border-radius: 8px;
        background: transparent;
        color: var(--gm-text-secondary);
        box-shadow: none;
        appearance: none;
        -webkit-appearance: none;
        cursor: pointer;
        right: 9px;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
        z-index: 2;
    }
    .gm-password-toggle::before { content: none; display: none; }
    .gm-password-toggle::after { content: none; display: none; }
    .gm-password-toggle:hover { background: var(--gm-surface); color: var(--gm-text); }
    .gm-password-eye-svg { display: block; width: 21px; height: 21px; min-width: 21px; min-height: 21px; pointer-events: none; }
    .public-shell { width: min(100%, 470px); }
    .public-brand strong { font-size: 15px; letter-spacing: -.02em; }
    .gm-password-toggle:focus-visible { outline: 2px solid var(--gm-info); outline-offset: 1px; }
    .password-field { position: relative; display: block; width: 100%; }
    .password-field input { padding-right: 43px; }
    .password-toggle { position: absolute; top: 50%; right: 7px; transform: translateY(-50%); width: 36px; height: 34px; min-height: 34px; padding: 0; border: 0; border-radius: 8px; background: transparent; color: var(--gm-text-secondary); cursor: pointer; box-shadow: none; }
    .password-toggle:hover { background: var(--gm-surface); color: var(--gm-text); }
    .eye-show { display: grid; place-items: center; font-size: 16px; line-height: 1; }
    .auth-footer { margin-top: 13px; margin-bottom: 0; text-align: center; }
    .verification-form { margin-top: 16px; width: 100%; margin-left: 0; margin-right: 0; }
    .verification-code-field label { display: block; margin-bottom: 8px; font-weight: 650; }
    .verification-code-input { height: 58px; font-size: 20px; font-weight: 750; letter-spacing: .35em; text-align: center; padding-left: calc(11px + .35em); margin-bottom: 4px; }
    .verification-info { margin: 10px 0 0; color: var(--gm-text-secondary); font-size: 13px; }
    .verification-help { margin: 13px 0 0; text-align: center; font-size: 12px; }
    .verification-form button[type="submit"] { min-height: 38px; padding: 7px 10px; margin-top: 10px; font-size: 14px; }
    .verification-form .btn { min-height: 38px; padding: 7px 10px; margin-top: 10px; font-size: 14px; }
    .verification-resend { width: 100%; margin-left: 0; margin-right: 0; margin-top: 10px; }
    .gm-password-toggle:focus { outline: none; }
    .gm-password-toggle.is-visible { color: var(--gm-info); }
    .gm-security-page { width: 100%; max-width: 1080px; margin: 0 auto; }
    .gm-security-hero { margin-bottom: 13px; color: var(--gm-text); }
    .gm-security-eyebrow { display: block; margin-bottom: 7px; font-size: 11px; line-height: 1.2; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--gm-text-secondary); }
    .gm-security-section-label { display: block; margin-bottom: 7px; font-size: 11px; line-height: 1.2; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--gm-text-secondary); }
    .gm-danger-eyebrow { display: block; margin-bottom: 7px; font-size: 11px; line-height: 1.2; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--gm-red); }
    .gm-account-deleted-eyebrow { display: block; margin-bottom: 7px; font-size: 11px; line-height: 1.2; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--gm-text-secondary); }
    .gm-security-hero h1 { margin: 0; font-size: 24px; line-height: 1.08; font-weight: 800; color: var(--gm-text); }
    .gm-security-hero p { margin: 7px 0 0; font-size: 14px; line-height: 1.5; color: var(--gm-text-secondary); }
    .gm-security-card { width: 100%; max-width: 720px; padding: 16px; border: 1px solid var(--gm-border); border-radius: 16px; box-shadow: 0 1px 2px rgba(16,24,40,.04); color: var(--gm-text); background: var(--gm-surface); border-color: var(--gm-border); }
    .gm-security-card-code { max-width: 560px; }
    .gm-security-card-head { display: flex; align-items: flex-start; gap: 11px; padding-bottom: 13px; margin-bottom: 13px; border-bottom: 1px solid var(--gm-border); border-color: var(--gm-border); }
    .gm-security-icon { flex: 0 0 auto; width: 46px; height: 46px; display: flex; align-items: center; justify-content: center; border-radius: 12px; background: var(--gm-bg); border-color: var(--gm-surface-2); color: var(--gm-info); }
    .gm-security-code-icon { flex: 0 0 auto; width: 46px; height: 46px; display: flex; align-items: center; justify-content: center; border-radius: 12px; margin: 0 auto; background: var(--gm-bg); border-color: var(--gm-surface-2); color: var(--gm-info); }
    .gm-security-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
    .gm-security-code-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
    .gm-security-card-head h2 { margin: 0; font-size: 17px; line-height: 1.25; font-weight: 800; color: var(--gm-text); }
    .gm-security-code-copy h2 { margin: 0; font-size: 17px; line-height: 1.25; font-weight: 800; color: var(--gm-text); }
    .gm-danger-copy h2 { margin: 0; line-height: 1.25; font-weight: 800; font-size: 17px; color: var(--gm-text); }
    .gm-security-card-head p { margin: 6px 0 0; font-size: 13px; line-height: 1.5; color: var(--gm-text-secondary); }
    .gm-security-code-copy p { margin: 6px 0 0; font-size: 13px; line-height: 1.5; color: var(--gm-text-secondary); }
    .gm-danger-copy p { margin: 6px 0 0; font-size: 13px; line-height: 1.5; color: var(--gm-text-secondary); }
    .gm-security-code-copy { margin: 11px 0 14px; text-align: center; }
    .gm-security-code-copy small { display: block; margin-top: 8px; font-size: 11px; line-height: 1.4; color: var(--gm-text-secondary); }
    .gm-security-info { display: flex; align-items: flex-start; gap: 10px; padding: 10px 11px; margin-bottom: 13px; border: 1px solid var(--gm-border); border-radius: 11px; background: var(--gm-bg); border-color: var(--gm-surface-2); }
    .gm-security-info svg { flex: 0 0 auto; width: 18px; height: 18px; fill: none; stroke: var(--gm-info); stroke-width: 1.8; stroke-linecap: round; margin-top: 1px; }
    .gm-security-info p { margin: 0; font-size: 12px; line-height: 1.5; color: var(--gm-text-secondary); }
    .gm-security-form { display: grid; gap: 13px; }
    .gm-security-code-form { display: grid; gap: 13px; }
    .gm-security-field { display: grid; gap: 7px; }
    .gm-security-field label { font-size: 12px; line-height: 1.3; font-weight: 700; color: var(--gm-text-secondary); }
    .gm-security-code-form label { font-size: 12px; line-height: 1.3; font-weight: 700; color: var(--gm-text-secondary); }
    .gm-security-field input { width: 100%; min-height: 37px; box-sizing: border-box; padding: 0 10px; border: 1px solid var(--gm-border); border-radius: 10px; font-size: 13px; outline: none; background: var(--gm-bg); border-color: var(--gm-border); color: var(--gm-text); }
    .gm-security-code-form input { width: 100%; min-height: 37px; box-sizing: border-box; padding: 0 10px; border: 1px solid var(--gm-border); border-radius: 10px; background: var(--gm-surface); color: var(--gm-text); font-size: 13px; outline: none; }
    .gm-security-code-input {
        width: 100%;
        min-height: 37px;
        box-sizing: border-box;
        padding: 0 10px;
        border: 1px solid var(--gm-border);
        border-radius: 10px;
        outline: none;
        height: 54px;
        text-align: center;
        font-size: 17px;
        font-weight: 800;
        letter-spacing: .28em;
        font-variant-numeric: tabular-nums;
        background: var(--gm-bg);
        border-color: var(--gm-border);
        color: var(--gm-text);
    }
    .gm-security-field input:focus { border-color: var(--gm-blue-soft); box-shadow: 0 0 0 3px rgba(47,128,237,.12); }
    .gm-security-code-form input:focus { border-color: var(--gm-blue-soft); box-shadow: 0 0 0 3px rgba(47,128,237,.12); }
    .gm-security-code-input:focus { border-color: var(--gm-blue-soft); box-shadow: 0 0 0 3px rgba(47,128,237,.12); }
    .gm-security-password-wrap { position: relative; }
    .gm-security-password-wrap input { padding-right: 43px; }
    .gm-security-password-toggle {
        position: absolute;
        top: 50%;
        right: 8px;
        transform: translateY(-50%);
        width: 34px;
        height: 34px;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 0;
        border-radius: 8px;
        background: transparent;
        cursor: pointer;
        color: var(--gm-text-secondary);
    }
    .gm-security-password-toggle:hover { background: var(--gm-bg); }
    .gm-security-password-toggle svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; }
    .gm-security-code-form input[name="code"] { height: 54px; text-align: center; font-size: 17px; font-weight: 800; letter-spacing: .28em; font-variant-numeric: tabular-nums; }
    .gm-security-actions { display: flex; align-items: center; gap: 10px; margin-top: 2px; }
    .gm-danger-actions { display: flex; align-items: center; gap: 10px; margin-top: 2px; }
    .gm-security-btn { min-height: 36px; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; padding: 0 13px; border-radius: 10px; font-size: 12px; line-height: 1; font-weight: 700; }
    .gm-security-btn-full { width: 100%; }
    .gm-security-resend-form { width: 100%; margin-top: 10px; }
    .gm-security-resend-form .gm-security-btn { width: 100%; }
    .gm-security-back-link { display: block; margin-top: 11px; text-align: center; font-size: 12px; font-weight: 700; text-decoration: none; color: var(--gm-text-secondary); }
    .gm-security-back-link:hover { color: var(--gm-text); }
    .gm-security-help { margin: 13px 0 0; text-align: center; font-size: 11px; line-height: 1.5; color: var(--gm-text-secondary); }
    .gm-security-errors { font-size: 11px; line-height: 1.4; color: var(--gm-red); }
    .gm-security-errors ul { margin: 0; padding-left: 16px; }
    .gm-security-helptext { font-size: 11px; line-height: 1.5; color: var(--gm-text-secondary); }
    .gm-security-helptext ul { margin: 5px 0 0; padding-left: 16px; }
    .public-shell .gm-security-page { max-width: 560px; }
    .public-shell .gm-security-card { max-width: 100%; }
    .public-shell .gm-security-hero { display: none; }
    .gm-danger-card { max-width: 650px; background: var(--gm-bg); border-color: var(--gm-border); }
    .gm-danger-main-icon { width: 52px; height: 52px; display: flex; align-items: center; justify-content: center; margin-bottom: 13px; border-radius: 14px; color: var(--gm-red); background: var(--gm-surface); }
    .gm-danger-main-icon svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
    .gm-danger-warning { padding: 11px 12px; margin: 13px 0; border: 1px solid var(--gm-border); border-radius: 11px; background: rgba(217,45,32,.09); border-color: var(--gm-yellow); }
    .gm-danger-warning strong { display: block; font-size: 12.5px; color: var(--gm-yellow); }
    .gm-danger-warning p { margin: 5px 0 0; font-size: 11px; line-height: 1.5; color: var(--gm-text-secondary); }
    .gm-danger-actions form { margin: 0; }
    .gm-danger-code-icon { color: var(--gm-red); background: var(--gm-surface); }
    .gm-account-deleted-success { text-align: center; }
    .gm-account-deleted-icon { width: 56px; height: 56px; display: flex; align-items: center; justify-content: center; margin: 0 auto 13px; border-radius: 50%; color: var(--gm-green); background: var(--gm-surface); }
    .gm-account-deleted-icon svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
    .gm-account-deleted-success h1 { margin: 0; font-size: 22px; line-height: 1.15; }
    .gm-account-deleted-success p { margin: 10px auto 14px; max-width: 420px; font-size: 13px; line-height: 1.55; color: var(--gm-text-secondary); }
    .public-body .password-field { position: relative; }
    .public-body .password-field .password-toggle {
        position: absolute;
        top: 50%;
        right: 10px;
        transform: translateY(-50%);
        width: 32px;
        height: 32px;
        min-width: 32px;
        min-height: 32px;
        padding: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 0;
        border-radius: 8px;
        box-shadow: none;
        background: transparent;
        color: var(--gm-text-secondary);
    }
    .public-body .password-field .password-toggle:hover { background: transparent; color: var(--gm-text); }
    .public-body .password-field .password-toggle svg { width: 19px; height: 19px; display: block; }
    .public-body .password-field .password-toggle .icon-eye { width: 19px; height: 19px; display: block; }
    .public-body .password-field input { padding-right: 43px; }
    .verification-form .btn-full {
        width: 100%;
        min-width: 100%;
        max-width: 100%;
        min-height: 37px;
        height: 46px;
        box-sizing: border-box;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin-left: 0;
        margin-right: 0;
        padding: 0 13px;
        border-radius: 10px;
        font-size: 12px;
        font-weight: 700;
        line-height: 1;
        margin-top: 10px;
    }
    .verification-resend .btn-full {
        width: 100%;
        min-width: 100%;
        max-width: 100%;
        min-height: 37px;
        height: 46px;
        box-sizing: border-box;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin-left: 0;
        margin-right: 0;
        padding: 0 13px;
        border-radius: 10px;
        font-size: 12px;
        font-weight: 700;
        line-height: 1;
        margin-top: 0;
    }
    .auth-card label { color: var(--gm-text); }
    .auth-card .muted { color: var(--gm-text-secondary); }
    body.public-body { min-height: 100vh; padding: 27px; background: radial-gradient( circle at 20% 8%, rgba(47, 109, 246, .16), transparent 32% ), radial-gradient( circle at 83% 92%, rgba(30, 64, 175, .10), transparent 34% ), var(--gm-bg); }
    body.public-body .public-shell { width: min(100%, 480px); }
    body.public-body .public-brand { gap: 11px; margin-bottom: 13px; }
    body.public-body .public-brand strong { color: var(--gm-text); font-size: 16px; font-weight: 800; letter-spacing: .025em; }
    body.public-body .auth-card { padding: 20px; border: 1px solid rgba(148, 163, 184, .15); border-radius: 20px; background: linear-gradient( 180deg, rgba(17, 29, 47, .98), rgba(13, 23, 39, .98) ); box-shadow: 0 28px 70px rgba(0, 0, 0, .28); }
    body.public-body .auth-card h1 { margin: 0 0 8px; color: var(--gm-text); font-size: 22px; font-weight: 800; letter-spacing: -.03em; }
    body.public-body .auth-card .muted { color: var(--gm-text-secondary); font-size: 13px; line-height: 1.55; }
    body.public-body .auth-card button[type="submit"] { min-height: 36px; border: 1px solid var(--gm-blue-soft); border-radius: 10px; background: var(--gm-blue); color: white; font-size: 13px; font-weight: 750; box-shadow: 0 9px 25px rgba(37, 99, 235, .20); cursor: pointer; }
    body.public-body .auth-card a { color: var(--gm-info); font-weight: 650; }
}

@media (max-width: 900px) {
    body.public-body { display: block; padding: 16px 12px; }
    body.public-body .public-shell { padding: 16px 0; }
    body.public-body .auth-card { padding: 16px; border-color: var(--gm-border); background: linear-gradient(135deg,var(--gm-surface),var(--gm-bg)); }
    body.public-body .auth-card :is(input:not([type="hidden"]),select,textarea) { min-height: 44px; font-size: 16px; }
    body.public-body .auth-card button[type="submit"] { min-height: 44px; }
    body.public-body { padding: 10px; }
    body.public-body .public-shell { padding: 8px 0; }
    body.public-body .auth-card { padding: 12px; }
    body.public-body .public-brand { margin-bottom: 10px; }
    body.public-body .auth-card p { margin-top: 8px; margin-bottom: 8px; }
    body.public-body .auth-card form { gap: 8px; }
    .gm-security-hero { margin-bottom: 10px; }
    .gm-security-card { padding: 10px; }
    .gm-security-card-head { gap: 8px; margin-bottom: 10px; padding-bottom: 10px; }
    :is(.gm-security-icon,.gm-security-code-icon,.gm-danger-main-icon,.gm-account-deleted-icon) { width: 32px; height: 32px; margin-bottom: 8px; }
    :is(.gm-security-icon,.gm-security-code-icon,.gm-danger-main-icon,.gm-account-deleted-icon) svg { width: 20px; height: 20px; }
    .gm-security-code-copy { margin: 8px 0 10px; }
    :is(.gm-security-form,.gm-security-code-form) { gap: 8px; }
    .gm-security-field { gap: 4px; }
    .gm-security-field input, .gm-security-code-form input { min-height: 44px; font-size: 16px; }
    .gm-security-btn { min-height: 44px; }
    :is(.gm-security-actions,.gm-danger-actions) { flex-wrap: wrap; gap: 8px; }
    .gm-danger-actions > * { flex: 1; min-width: 0; }
    .gm-danger-actions form .gm-security-btn { width: 100%; }
    .gm-security-password-toggle, body.public-body .password-field .password-toggle, .gm-password-toggle { width: 44px; height: 44px; min-height: 44px; right: 0; }
    .gm-security-field .gm-password-input, body.public-body .password-field input { padding-right: 48px; }

}
/* Feedback: componentes compartilhados e adaptação por breakpoint. */

@media (min-width: 0px) {
    .gm-modal-backdrop { position: fixed; inset: 0; z-index: 1000; padding: 14px; display: flex; align-items: center; justify-content: center; background: rgba(15, 23, 42, .55); backdrop-filter: blur(2px); }
    .gm-modal-backdrop[hidden] { display: none; }
    .gm-modal {
        position: relative;
        width: min(100%, 440px);
        padding: 20px;
        border-radius: 18px;
        border: 1px solid var(--gm-border);
        box-shadow: 0 24px 70px rgba(15, 23, 42, .24);
        animation: gm-modal-enter .16s ease-out;
        background: var(--gm-bg);
        border-color: var(--gm-border);
        color: var(--gm-text);
    }
    .gm-modal-close { position: absolute; top: 14px; right: 14px; width: 34px; height: 34px; border: 0; border-radius: 9px; background: transparent; color: var(--gm-muted); cursor: pointer; font-size: 19px; line-height: 1; }
    .gm-modal-close:hover { background: var(--gm-surface-2); color: var(--gm-text); }
    .gm-modal-icon { width: 46px; height: 46px; margin-bottom: 13px; border-radius: 13px; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; font-size: 17px; }
    .gm-modal-icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
    .gm-modal-icon-blue { color: var(--gm-info); background: var(--gm-surface); }
    .gm-modal-icon-warning { color: var(--gm-yellow); background: var(--gm-surface); }
    .gm-modal-icon-danger { color: var(--gm-red); background: var(--gm-surface); }
    .gm-modal h2 { margin: 0 29px 8px 0; font-size: 16px; }
    .gm-modal p { margin: 0; line-height: 1.6; font-size: 14px; color: var(--gm-text-secondary); }
    .gm-modal-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 17px; }
    .gm-send-code-loading { display: inline-flex; align-items: center; justify-content: center; gap: 7px; }
    .gm-send-code-loading[hidden] { display: none; }
    .gm-send-code-normal[hidden] { display: none; }
    .gm-send-code-spinner { width: 14px; height: 14px; box-sizing: border-box; border: 2px solid rgba(255,255,255,.42); border-top-color: var(--gm-border); border-radius: 50%; animation: gm-send-code-spin .7s linear infinite; }
    .gm-send-code-spinner-dark { border-color: rgba(71,84,103,.25); border-top-color: var(--gm-border); }
    button:disabled .gm-send-code-loading { pointer-events: none; }
    .gm-notifications-btn-read { border: 1px solid var(--gm-blue-soft); background: var(--gm-bg); border-color: var(--gm-surface-2); color: var(--gm-info); }
    .gm-notifications-btn-read:hover { color: var(--gm-info); background: var(--gm-surface-2); border-color: var(--gm-blue-soft); }
    .gm-notifications-btn-clear { border: 1px solid var(--gm-border); background: var(--gm-bg); border-color: var(--gm-red); color: var(--gm-red); }
    .gm-notifications-btn-clear:hover { color: var(--gm-red); background: var(--gm-bg); border-color: var(--gm-red); }
    .gm-notification-actions .btn-primary { background: var(--gm-blue-soft); border-color: var(--gm-blue-soft); color: var(--gm-text); }
    .gm-notification-actions .btn-danger { background: var(--gm-red); border-color: var(--gm-red); color: var(--gm-text); }
    .gm-notification-actions form:last-child .btn-secondary { background: var(--gm-red); border-color: var(--gm-red); color: var(--gm-text); }
    body.gm-modal-open { overflow: hidden; }
    .gm-notifications-page { width: 100%; max-width: 1160px; margin: 0 auto; }
    .gm-notifications-header { margin-bottom: 17px; }
    .gm-notifications-header h1 { margin: 0; font-size: 24px; line-height: 1.08; font-weight: 800; color: var(--gm-text); }
    .gm-notifications-header p { margin: 7px 0 0; font-size: 14px; line-height: 1.5; color: var(--gm-text-secondary); }
    .gm-notifications-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 13px; margin-bottom: 10px; border: 1px solid var(--gm-border); border-radius: 14px; color: var(--gm-text); background: var(--gm-bg); border-color: var(--gm-border); }
    .gm-notifications-toolbar strong { display: block; font-size: 14px; color: var(--gm-text); }
    .gm-notifications-toolbar small { display: block; margin-top: 3px; font-size: 11px; color: var(--gm-text-secondary); }
    .gm-notifications-toolbar-actions { display: flex; gap: 8px; }
    .gm-notifications-toolbar-actions form { margin: 0; }
    .gm-notifications-list { display: grid; gap: 10px; }
    .gm-notification-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 11px; padding: 12px 13px; border: 1px solid var(--gm-border); border-radius: 14px; color: var(--gm-text); background: var(--gm-bg); border-color: var(--gm-border); }
    .gm-notification-row.is-unread { background: var(--gm-bg); border-color: var(--gm-surface-2); }
    .gm-notification-icon { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border-radius: 11px; background: var(--gm-bg); border-color: var(--gm-surface-2); color: var(--gm-info); }
    .gm-notification-icon svg { width: 21px; height: 21px; fill: none; stroke-width: 1.8; stroke-linecap: round; color: var(--gm-info); stroke: var(--gm-info); }
    .gm-notifications-empty-icon svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
    .gm-notification-title-line { display: flex; align-items: center; gap: 7px; }
    .gm-notification-title-line strong { font-size: 14px; color: var(--gm-text); }
    .gm-notification-unread-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--gm-blue-soft); }
    .gm-notification-content p { margin: 4px 0; font-size: 12px; line-height: 1.45; color: var(--gm-text-secondary); }
    .gm-notification-content small { font-size: 11px; color: var(--gm-text-secondary); }
    .gm-notification-actions { display: flex; gap: 7px; }
    .gm-notification-actions form { margin: 0; }
    .gm-notification-actions .btn { min-height: 38px; font-size: 11px; }
    .gm-notifications-toolbar .btn { min-height: 38px; font-size: 11px; }
    .gm-notifications-empty {
        min-height: 223px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 22px;
        box-sizing: border-box;
        text-align: center;
        border: 1px solid var(--gm-border);
        border-radius: 16px;
        color: var(--gm-text);
        background: var(--gm-bg);
        border-color: var(--gm-border);
    }
    .gm-notifications-empty-icon { width: 52px; height: 52px; display: flex; align-items: center; justify-content: center; margin-bottom: 11px; border-radius: 50%; background: var(--gm-bg); color: var(--gm-info); }
    .gm-notifications-empty h2 { margin: 0; font-size: 15px; color: var(--gm-text); }
    .gm-notifications-empty p { margin: 6px 0 0; font-size: 13px; color: var(--gm-text-secondary); }
    .gm-notifications-btn {
        min-height: 36px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        padding: 0 12px;
        border-radius: 10px;
        font-size: 11.5px;
        line-height: 1;
        font-weight: 700;
        white-space: nowrap;
        box-shadow: none;
        transition: background .15s ease, border-color .15s ease, color .15s ease;
    }
    .gm-notification-actions .btn-secondary { background: var(--gm-bg); border-color: var(--gm-border); color: var(--gm-text); }
}

@media (max-width: 900px) {
    .gm-notification-row { grid-template-columns: 28px minmax(0,1fr) auto; align-items: start; gap: 8px; padding: 10px; }
    .gm-notification-icon { width: 28px; height: 28px; }
    .gm-notification-content { min-width: 0; align-self: end; overflow-wrap: anywhere; }
    .gm-notification-actions { grid-column: 3; grid-row: 1; align-self: end; flex-direction: column; gap: 5px; }
    .gm-notification-actions .btn { min-height: 32px; padding: 4px 7px; border-radius: 7px; }
    .gm-notifications-toolbar .btn { min-height: 44px; }
    .gm-notifications-toolbar { flex-wrap: wrap; }
    .gm-mobile-notification-ready .gm-notification-row { grid-template-columns: 28px minmax(0,1fr); cursor: pointer; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; touch-action: pan-y; }
    .gm-mobile-notification-ready .gm-notification-actions { display: none; }
    .gm-mobile-notification-ready .gm-notification-row:focus-visible { outline: 2px solid var(--gm-info); outline-offset: 3px; }
    [data-notification-delete-dialog] .gm-modal-actions .btn { min-height: 44px; }
}
/* Composição e comparação: apenas dados já presentes no relatório. */
.gm-report-composition, .gm-report-comparison { display: none; }
@media (min-width: 0px) {
    .gm-report-composition { display: flex; align-items: center; justify-content: center; gap: 17px; margin-bottom: 17px; }
    .gm-report-donut { position: relative; display: grid; place-items: center; flex-shrink: 0; width: 180px; height: 180px; border-radius: 50%; background: conic-gradient(var(--gm-green) 0 var(--chart-first), #8ef1cd var(--chart-first) var(--chart-second), var(--gm-info) var(--chart-second) 100%); }
    .gm-report-donut::before { content: ""; position: absolute; inset: 22px; border-radius: 50%; background: var(--gm-surface); }
    .gm-report-donut.is-empty { background: var(--gm-surface-3); }
    .gm-report-donut > span { position: relative; max-width: 130px; overflow-wrap: anywhere; text-align: center; color: var(--gm-muted); font-size: 12px; }
    .gm-report-donut strong { display: block; margin-top: 8px; color: var(--gm-text); font-size: 15px; line-height: 1.3; }
    .gm-report-chart-legend { display: grid; gap: 10px; color: var(--gm-text-secondary); font-size: 12px; }
    .gm-report-chart-legend span { display: flex; align-items: center; gap: 8px; }
    .gm-report-chart-legend i { width: 10px; height: 10px; border-radius: 50%; background: var(--gm-green); }
    .gm-report-chart-legend .is-entry { background: #8ef1cd; }
    .gm-report-chart-legend .is-installment { background: var(--gm-info); }
    .gm-report-comparison { display: grid; align-content: center; gap: 13px; min-height: 130px; margin-bottom: 17px; padding: 13px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-sm); background: var(--gm-bg); }
    .gm-report-comparison-row > span { display: block; margin-bottom: 8px; color: var(--gm-text-secondary); font-size: 12px; }
    .gm-report-comparison-row > div { height: 10px; overflow: hidden; border-radius: 10px; background: var(--gm-surface-3); }
    .gm-report-comparison-row i { display: block; height: 100%; border-radius: inherit; background: var(--gm-yellow); }
    .gm-report-comparison-row.is-paid i { background: var(--gm-red); }
    .gm-report-comparison p { margin: 0; color: var(--gm-muted); font-size: 12px; line-height: 1.5; }
}
@media (min-width: 901px) and (max-width: 1100px) {
    .gm-report-composition { flex-wrap: wrap; }
}

@media (max-width: 900px) {
    .gm-report-page .gm-report-hero { display: block; min-height: 0; padding: 10px; }
    .gm-report-page .gm-report-hero h1 { font-size: 22px; }
    .gm-report-page .gm-report-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
    .gm-report-page .gm-report-kpi { min-width: 0; padding: 10px; min-height: 0; gap: 6px; }
    .gm-report-page .gm-report-kpi > strong { font-size: 20px; white-space: normal; overflow-wrap: anywhere; }
    .gm-report-page .gm-report-flow-grid { grid-template-columns: minmax(0,1fr); }
    .gm-report-page .gm-report-filter-form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
    .gm-report-page :is(.gm-report-filter,.gm-report-flow-card,.gm-report-table-card) { padding: 10px; min-width: 0; }
    .gm-report-page :is(.gm-report-tabs,.gm-report-table-wrap) { max-width: 100%; overflow-x: auto; }
    .gm-report-page .gm-report-table { min-width: 600px; }
    .gm-report-composition { flex-direction: column; align-items: stretch; }
    .gm-report-donut { margin-inline: auto; width: 160px; height: 160px; }
    .gm-report-page .gm-report-hero p { font-size: 12px; }
    .gm-report-page .gm-report-kpi-head { gap: 6px; }
    .gm-report-page .gm-report-kpi-head > span { font-size: 12px; }
    .gm-report-page :is(.gm-report-kpi-icon,.gm-report-flow-icon) { flex-basis: 26px; width: 26px; height: 26px; }
    .gm-report-page :is(.gm-report-kpi-icon,.gm-report-flow-icon) svg { width: 18px; height: 18px; }
    .gm-report-page .gm-report-kpi > small { font-size: 10px; }
    .gm-report-page .gm-report-filter-heading { margin: 0 0 10px; padding-right: 100px; }
    .gm-report-page .gm-report-filter-pdf { top: 12px; right: 12px; min-height: 44px; padding: 6px 8px; gap: 4px; font-size: 11px; }
    .gm-report-page .gm-report-filter-pdf svg { width: 16px; height: 16px; }
    .gm-report-page .gm-report-filter-form > div { width: auto; min-width: 0; gap: 5px; }
    .gm-report-page .gm-report-filter-form input { height: 44px; padding: 6px 8px; font-size: 16px; }
    .gm-report-page .gm-report-filter-form button { min-height: 44px; padding: 6px 8px; font-size: 12px; }
    .gm-report-page .gm-report-tabs a { min-height: 44px; min-width: 0; padding: 8px 10px; font-size: 12px; }

    .gm-report-page .gm-report-hero::after { opacity: .3; }
    .gm-report-page :is(.gm-report-hero,.gm-report-kpis,.gm-report-filter) { margin-bottom: 10px; }
    .gm-report-page .gm-report-flow-grid { gap: 8px; }
    .gm-report-page .gm-report-kpi { padding: 8px; gap: 5px; }
    .gm-report-page .gm-report-kpi > small { font-size: 11px; }
    .gm-report-composition { gap: 8px; margin-bottom: 10px; }
    .gm-report-donut { width: 144px; height: 144px; }
    .gm-report-donut > span { max-width: 56%; }
    .gm-report-donut strong { margin-top: 4px; font-size: 14px; }

    .gm-report-page .gm-report-secondary { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-bottom: 10px; }
    .gm-report-page .gm-report-secondary article { padding: 10px; gap: 5px; }
    .gm-report-page .gm-report-secondary span { font-size: 12px; line-height: 1.4; }
    .gm-report-page .gm-report-secondary strong { font-size: 18px; line-height: 1.3; overflow-wrap: anywhere; }
    .gm-report-page .gm-report-secondary article:last-child { grid-column: 1 / -1; grid-template-columns: minmax(0,1fr) minmax(0,auto); column-gap: 8px; align-items: center; }
    .gm-report-page .gm-report-secondary article:last-child strong { grid-column: 2; grid-row: 1; text-align: right; }
    .gm-report-page .gm-report-secondary article:last-child small { grid-column: 1 / -1; }

}
