/* ============================================================
   Golden UI sobre o Bootstrap do GS Acionamento.

   Tudo aqui vale só com `html.gu` — exceto o menu do topo e o rodapé,
   que são comuns a todas as telas. As telas listadas em
   TELAS_FORA_DO_GOLDEN_UI (context processor golden_ui) ficam sem a
   classe e mantêm o visual anterior.

   Regra de especificidade:
   - `:where(.gu)` = padrão fraco; a classe própria da página ainda vence.
   - `.gu`         = unificação; vence o restyle solto que cada página fez
                     do mesmo componente do Bootstrap.
   ============================================================ */

/* ── 1. Ponte: variáveis antigas das páginas → tokens ──────────
   As páginas redefinem :root no próprio <style>. `html.gu` tem
   especificidade maior que `:root`, então estes valores vencem sem
   editar página por página. Só entram as variáveis estruturais; as
   semânticas (--danger, --success) têm significados diferentes de
   página para página e ficam como estão. */
html.gu {
    --primary: var(--gold);
    --primary-hover: var(--gold-deep);
    --secondary: var(--gold-deep);
    --dourado: var(--gold);
    --dourado-escuro: var(--gold-deep);

    --bg-light: var(--bg);
    --bg-page: var(--bg);
    --bg-body: var(--bg);
    --page-bg: var(--bg);

    --card-bg: var(--surface);
    --table-bg: var(--surface);
    --light-gray: var(--surface);
    --card-hover: var(--surface-3);
    --table-hover-bg: var(--surface-3);
    --muted-surface: var(--surface-3);
    --input-bg: var(--surface-2);

    --border-color: var(--line);

    --text-primary: var(--text);
    --text-main: var(--text);
    --text-dark: var(--text);
    --dark-blue: var(--text);
    --text-secondary: var(--text-dim);
    --text-muted: var(--text-dim);
}

/* ── 2. Bootstrap: variáveis globais ─────────────────────────── */
html.gu {
    /* Triplets RGB dos tokens, exigidos pelos utilitários do Bootstrap
       (rgba(var(--bs-*-rgb), opacidade)). Espelham colors.css. */
    --bs-primary-rgb: 239, 196, 99;   /* --gold */
    --bs-success-rgb: 123, 211, 164;  /* --green */
    --bs-danger-rgb: 240, 139, 133;   /* --red */
    --bs-info-rgb: 169, 186, 242;     /* --blue */
    --bs-warning-rgb: 239, 196, 99;   /* --warn */
    --bs-body-color-rgb: 230, 228, 222; /* --text */
    --bs-body-bg-rgb: 20, 21, 26;     /* --bg */

    --bs-body-bg: var(--bg);
    --bs-body-color: var(--text);
    --bs-body-font-family: var(--font-ui);
    --bs-body-font-size: var(--fs-14);
    --bs-emphasis-color: var(--text);
    --bs-heading-color: var(--text);
    --bs-secondary-color: var(--text-dim);
    --bs-tertiary-color: var(--text-faint);
    --bs-secondary-bg: var(--surface-2);
    --bs-tertiary-bg: var(--surface-3);
    --bs-border-color: var(--line);
    --bs-border-color-translucent: var(--line);
    --bs-border-radius: var(--r-md);
    --bs-border-radius-sm: var(--r-sm);
    --bs-border-radius-lg: var(--r-lg);
    --bs-border-radius-xl: var(--r-xl);
    --bs-border-radius-pill: var(--r-pill);
    --bs-link-color: var(--gold);
    --bs-link-color-rgb: 239, 196, 99;
    --bs-link-hover-color: var(--gold-bright);
    --bs-link-hover-color-rgb: 245, 210, 126;
    --bs-focus-ring-color: var(--focus-ring);
    --bs-code-color: var(--gold);
    color-scheme: dark;
}

html.gu body {
    background: var(--bg);
    color: var(--text);
    font-family: var(--font-ui);
    -webkit-font-smoothing: antialiased;
}

html.gu ::selection { background: var(--gold-dim); color: var(--gold-bright); }
html.gu * { scrollbar-width: thin; scrollbar-color: var(--line-strong) transparent; }
html.gu *::-webkit-scrollbar { width: 8px; height: 8px; }
html.gu *::-webkit-scrollbar-thumb { background: var(--line-strong); border-radius: 4px; }
html.gu *::-webkit-scrollbar-track { background: transparent; }

/* style.css (tema claro antigo) pinta títulos de cinza-escuro. */
:where(.gu) h1, :where(.gu) h2, :where(.gu) h3,
:where(.gu) h4, :where(.gu) h5, :where(.gu) h6 { color: var(--text); }

/* Dado de máquina (placa, código, data, valor) em Space Grotesk. */
:where(.gu) code, :where(.gu) kbd, :where(.gu) samp,
:where(.gu) .num, :where(.gu) .font-monospace { font-family: var(--font-num); }

:where(.gu) .text-muted { color: var(--text-dim) !important; }
.gu .text-secondary { color: var(--text-dim) !important; }
.gu .text-dark { color: var(--text) !important; }
.gu .bg-white { background-color: var(--surface) !important; }
.gu .bg-light { background-color: var(--surface-2) !important; }
.gu .bg-dark { background-color: var(--bg-raise) !important; }
.gu .bg-secondary { background-color: var(--surface-3) !important; }

@media (prefers-reduced-motion: reduce) {
    .gu *, .gu *::before, .gu *::after { animation: none !important; transition: none !important; }
}

/* ── 3. Botões ───────────────────────────────────────────────── */
.gu .btn {
    font-family: var(--font-ui);
    font-weight: var(--fw-bold);
    border-radius: var(--r-md);
    transition: all var(--t-fast) var(--ease);
}
.gu .btn:active { transform: scale(0.98); }
.gu .btn:disabled, .gu .btn.disabled { opacity: 0.45; }
.gu .btn:focus-visible { box-shadow: 0 0 0 2px var(--focus-ring); }

.gu .btn-primary, .gu .btn-warning, .gu .btn-manage {
    background: var(--gold-grad);
    color: var(--gold-ink);
    border: 1px solid transparent;
    box-shadow: var(--shadow-gold);
}
.gu .btn-primary:hover, .gu .btn-warning:hover, .gu .btn-manage:hover,
.gu .btn-primary:focus, .gu .btn-warning:focus, .gu .btn-manage:focus {
    background: var(--gold-grad);
    color: var(--gold-ink);
    border-color: transparent;
    box-shadow: var(--shadow-gold-hover);
    transform: translateY(-1px);
}

.gu .btn-secondary, .gu .btn-outline-secondary, .gu .btn-light,
.gu .btn-outline-light, .gu .btn-dark, .gu .btn-outline-dark,
.gu .btn-outline-primary, .gu .btn-outline-warning {
    background: var(--surface-2);
    color: var(--text);
    border: 1px solid var(--line-strong);
    box-shadow: none;
}
.gu .btn-outline-primary, .gu .btn-outline-warning { color: var(--gold); }
.gu .btn-secondary:hover, .gu .btn-outline-secondary:hover, .gu .btn-light:hover,
.gu .btn-outline-light:hover, .gu .btn-dark:hover, .gu .btn-outline-dark:hover,
.gu .btn-outline-primary:hover, .gu .btn-outline-warning:hover {
    background: var(--surface-3);
    color: var(--text);
    border-color: var(--text-faint);
}

.gu .btn-danger, .gu .btn-outline-danger {
    background: var(--red-dim);
    color: var(--red);
    border: 1px solid var(--red-dim);
}
.gu .btn-success, .gu .btn-outline-success {
    background: var(--green-dim);
    color: var(--green);
    border: 1px solid var(--green-dim);
}
.gu .btn-info, .gu .btn-outline-info {
    background: var(--blue-dim);
    color: var(--blue);
    border: 1px solid var(--blue-dim);
}
.gu .btn-danger:hover, .gu .btn-outline-danger:hover,
.gu .btn-success:hover, .gu .btn-outline-success:hover,
.gu .btn-info:hover, .gu .btn-outline-info:hover {
    border-color: currentColor;
    filter: brightness(1.1);
}
.gu .btn-danger:hover, .gu .btn-outline-danger:hover { background: var(--red-dim); color: var(--red); }
.gu .btn-success:hover, .gu .btn-outline-success:hover { background: var(--green-dim); color: var(--green); }
.gu .btn-info:hover, .gu .btn-outline-info:hover { background: var(--blue-dim); color: var(--blue); }

.gu .btn-link { color: var(--gold); font-weight: var(--fw-semibold); }
.gu .btn-link:hover { color: var(--gold-bright); }

/* ── 4. Formulários ──────────────────────────────────────────── */
:where(.gu) .form-label {
    font-size: var(--fs-10);
    font-weight: var(--fw-bold);
    letter-spacing: var(--track-label);
    text-transform: uppercase;
    color: var(--text-faint);
    margin-bottom: 6px;
}
:where(.gu) .form-text { font-size: var(--fs-10); color: var(--text-faint); }

.gu .form-control, .gu .form-select, .gu .input-group-text {
    background-color: var(--surface-2);
    color: var(--text);
    border: 1px solid var(--line-strong);
    border-radius: var(--r-md);
    font-family: var(--font-ui);
    transition: border-color var(--t-fast) var(--ease);
}
.gu .input-group-text { color: var(--text-faint); }
.gu .form-control::placeholder { color: var(--text-faint); opacity: 1; }
.gu .form-control:focus, .gu .form-select:focus {
    background-color: var(--surface-2);
    color: var(--text);
    border-color: var(--gold);
    box-shadow: none;
}
.gu .form-control:disabled, .gu .form-select:disabled,
.gu .form-control[readonly] {
    background-color: var(--surface);
    color: var(--text-dim);
}
.gu .form-control.is-invalid, .gu .form-select.is-invalid { border-color: var(--red); }
.gu .invalid-feedback { color: var(--red); font-size: var(--fs-10); }
.gu .valid-feedback { color: var(--green); font-size: var(--fs-10); }

/* Seta do select na cor --text-dim (data URI não lê variável CSS). */
html.gu {
    --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%239B9991' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.7' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

.gu .form-check-input {
    background-color: var(--surface-2);
    border: 1.5px solid var(--line-strong);
}
.gu .form-check-input:focus { border-color: var(--gold); box-shadow: none; }
.gu .form-check-input:checked {
    background-color: var(--gold);
    border-color: var(--gold);
}
/* Marca do checkbox em --gold-ink sobre o dourado (o padrão é branco). */
.gu .form-check-input:checked[type=checkbox] {
    --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23241B06' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}
.gu .form-check-input:checked[type=radio] {
    --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23241B06'/%3e%3c/svg%3e");
}
.gu .form-switch .form-check-input {
    --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%239B9991'/%3e%3c/svg%3e");
}
.gu .form-switch .form-check-input:checked {
    --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23241B06'/%3e%3c/svg%3e");
}

/* ── 5. Cartões, painéis, listas ─────────────────────────────── */
.gu .card {
    --bs-card-bg: var(--surface);
    --bs-card-color: var(--text);
    --bs-card-border-color: var(--line);
    --bs-card-border-radius: var(--r-lg);
    --bs-card-inner-border-radius: calc(var(--r-lg) - 1px);
    --bs-card-cap-bg: transparent;
    --bs-card-cap-color: var(--text);
    --bs-card-title-color: var(--text);
    box-shadow: none;
}
.gu .card-header, .gu .card-footer { border-color: var(--line); }

.gu .list-group {
    --bs-list-group-bg: var(--surface);
    --bs-list-group-color: var(--text);
    --bs-list-group-border-color: var(--line);
    --bs-list-group-border-radius: var(--r-lg);
    --bs-list-group-action-hover-bg: var(--surface-3);
    --bs-list-group-action-hover-color: var(--text);
    --bs-list-group-active-bg: var(--gold-dim);
    --bs-list-group-active-color: var(--gold);
    --bs-list-group-active-border-color: var(--gold-line);
}

/* ── 6. Tabelas (Bootstrap + DataTables) ─────────────────────── */
.gu .table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--text);
    --bs-table-border-color: var(--line);
    --bs-table-striped-bg: var(--bg-raise);
    --bs-table-striped-color: var(--text);
    --bs-table-hover-bg: var(--surface-3);
    --bs-table-hover-color: var(--text);
    --bs-table-active-bg: var(--gold-dim);
    --bs-table-active-color: var(--text);
}
:where(.gu) .table > :not(caption) > * > * { font-size: var(--fs-12); }
:where(.gu) .table > thead th {
    background: var(--bg-raise);
    color: var(--text-faint);
    font-size: var(--fs-10);
    font-weight: var(--fw-bold);
    letter-spacing: var(--track-label);
    text-transform: uppercase;
    border-bottom: 1px solid var(--line);
    white-space: nowrap;
}

.gu .dataTables_wrapper { color: var(--text-dim); font-size: var(--fs-12); }
.gu .dataTables_wrapper .dataTables_filter input,
.gu .dataTables_wrapper .dataTables_length select {
    background-color: var(--surface-2);
    color: var(--text);
    border: 1px solid var(--line-strong);
    border-radius: var(--r-md);
    padding: 5px 10px;
}
.gu .dataTables_wrapper .dataTables_filter input:focus { border-color: var(--gold); outline: none; }
.gu .dataTables_wrapper .dataTables_info,
.gu .dataTables_wrapper .dataTables_length,
.gu .dataTables_wrapper .dataTables_filter,
.gu .dataTables_wrapper .dataTables_processing { color: var(--text-dim) !important; }
.gu .dataTables_wrapper .dataTables_paginate .paginate_button {
    color: var(--text-dim) !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    border-radius: var(--r-sm);
}
.gu .dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    color: var(--text) !important;
    background: var(--surface-3) !important;
}
.gu .dataTables_wrapper .dataTables_paginate .paginate_button.current,
.gu .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    color: var(--gold) !important;
    background: var(--gold-dim) !important;
    border-color: var(--gold-line) !important;
}
.gu .dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
.gu .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover {
    color: var(--text-faint) !important;
    background: transparent !important;
}
.gu table.dataTable thead th, .gu table.dataTable thead td { border-bottom-color: var(--line); }
.gu table.dataTable.no-footer { border-bottom-color: var(--line); }

/* ── 7. Status: par texto + superfície, em pílula ────────────── */
.gu .badge {
    border-radius: var(--r-pill);
    font-family: var(--font-ui);
    font-size: var(--fs-10);
    font-weight: var(--fw-semibold);
    padding: 3px 10px;
}
.gu .badge.bg-success, .gu .text-bg-success { background-color: var(--green-dim) !important; color: var(--green) !important; }
.gu .badge.bg-danger, .gu .text-bg-danger { background-color: var(--red-dim) !important; color: var(--red) !important; }
.gu .badge.bg-warning, .gu .text-bg-warning,
.gu .badge.bg-primary, .gu .text-bg-primary { background-color: var(--gold-dim) !important; color: var(--gold) !important; }
.gu .badge.bg-info, .gu .text-bg-info { background-color: var(--blue-dim) !important; color: var(--blue) !important; }
.gu .badge.bg-secondary, .gu .text-bg-secondary,
.gu .badge.bg-dark, .gu .text-bg-dark,
.gu .badge.bg-light, .gu .text-bg-light { background-color: var(--surface-3) !important; color: var(--text-dim) !important; }

/* ── 8. Alertas (Banner) ─────────────────────────────────────── */
.gu .alert {
    --bs-alert-border-radius: var(--r-lg);
    font-size: var(--fs-12);
}
.gu .alert-success { --bs-alert-bg: var(--green-dim); --bs-alert-color: var(--green); --bs-alert-border-color: var(--green-dim); --bs-alert-link-color: var(--green); }
.gu .alert-danger { --bs-alert-bg: var(--red-dim); --bs-alert-color: var(--red); --bs-alert-border-color: var(--red-dim); --bs-alert-link-color: var(--red); }
.gu .alert-warning { --bs-alert-bg: var(--gold-dim); --bs-alert-color: var(--gold); --bs-alert-border-color: var(--gold-line); --bs-alert-link-color: var(--gold); }
.gu .alert-info, .gu .alert-primary { --bs-alert-bg: var(--blue-dim); --bs-alert-color: var(--blue); --bs-alert-border-color: var(--blue-dim); --bs-alert-link-color: var(--blue); }
.gu .alert-secondary, .gu .alert-light, .gu .alert-dark { --bs-alert-bg: var(--surface-2); --bs-alert-color: var(--text-dim); --bs-alert-border-color: var(--line); }

/* ── 9. Modal, dropdown, tooltip ─────────────────────────────── */
.gu .modal {
    --bs-modal-bg: var(--surface-2);
    --bs-modal-color: var(--text);
    --bs-modal-border-color: var(--line-strong);
    --bs-modal-border-radius: var(--r-xl);
    --bs-modal-inner-border-radius: calc(var(--r-xl) - 1px);
    --bs-modal-header-border-color: var(--line);
    --bs-modal-footer-border-color: var(--line);
    --bs-modal-box-shadow: var(--shadow-modal);
}
.gu .modal-content { box-shadow: var(--shadow-modal); }
.gu .modal-title { font-size: var(--fs-16); font-weight: var(--fw-bold); color: var(--text); }
.gu .modal-backdrop { --bs-backdrop-bg: rgb(10, 10, 14); --bs-backdrop-opacity: 0.6; }
.gu .modal.show { backdrop-filter: blur(2px); }
.gu .modal.fade .modal-dialog { transform: translateY(8px); transition: transform var(--t-med) var(--ease); }
.gu .modal.show .modal-dialog { transform: none; }
.gu .btn-close { filter: invert(1) grayscale(100%) brightness(1.4); }

.gu .dropdown-menu, header.gu-topbar .dropdown-menu {
    --bs-dropdown-bg: var(--surface-2);
    --bs-dropdown-color: var(--text);
    --bs-dropdown-border-color: var(--line-strong);
    --bs-dropdown-border-radius: var(--r-md);
    --bs-dropdown-box-shadow: var(--shadow-pop);
    --bs-dropdown-link-color: var(--text);
    --bs-dropdown-link-hover-color: var(--text);
    --bs-dropdown-link-hover-bg: var(--surface-3);
    --bs-dropdown-link-active-color: var(--gold);
    --bs-dropdown-link-active-bg: var(--gold-dim);
    --bs-dropdown-divider-bg: var(--line);
    --bs-dropdown-header-color: var(--text-faint);
    box-shadow: var(--shadow-pop);
    font-family: var(--font-ui);
}

.gu .tooltip { --bs-tooltip-bg: var(--surface-3); --bs-tooltip-color: var(--text); font-family: var(--font-ui); }
.gu .popover {
    --bs-popover-bg: var(--surface-2);
    --bs-popover-border-color: var(--line-strong);
    --bs-popover-body-color: var(--text);
    --bs-popover-header-bg: var(--bg-raise);
    --bs-popover-header-color: var(--text);
}

/* ── 10. Abas e paginação ────────────────────────────────────── */
.gu .nav-tabs {
    --bs-nav-tabs-border-color: var(--line);
    --bs-nav-tabs-link-hover-border-color: transparent;
    --bs-nav-tabs-link-active-color: var(--text);
    --bs-nav-tabs-link-active-bg: transparent;
    --bs-nav-tabs-link-active-border-color: transparent;
}
.gu .nav-tabs .nav-link { color: var(--text-dim); font-weight: var(--fw-semibold); border-width: 0 0 2px; }
.gu .nav-tabs .nav-link:hover { color: var(--text); }
.gu .nav-tabs .nav-link.active { color: var(--text); border-bottom-color: var(--gold); }

.gu .nav-pills { --bs-nav-pills-border-radius: var(--r-md); --bs-nav-pills-link-active-bg: var(--gold-dim); --bs-nav-pills-link-active-color: var(--gold); }
.gu .nav-pills .nav-link { color: var(--text-dim); }

.gu .pagination {
    --bs-pagination-bg: transparent;
    --bs-pagination-color: var(--text-dim);
    --bs-pagination-border-color: var(--line);
    --bs-pagination-hover-bg: var(--surface-3);
    --bs-pagination-hover-color: var(--text);
    --bs-pagination-hover-border-color: var(--line);
    --bs-pagination-focus-bg: var(--surface-3);
    --bs-pagination-focus-color: var(--text);
    --bs-pagination-focus-box-shadow: none;
    --bs-pagination-active-bg: var(--gold-dim);
    --bs-pagination-active-color: var(--gold);
    --bs-pagination-active-border-color: var(--gold-line);
    --bs-pagination-disabled-bg: transparent;
    --bs-pagination-disabled-color: var(--text-faint);
    --bs-pagination-disabled-border-color: var(--line);
    --bs-pagination-border-radius: var(--r-sm);
}

.gu .progress { --bs-progress-bg: var(--surface-3); --bs-progress-bar-bg: var(--gold); --bs-progress-border-radius: var(--r-pill); }
.gu .spinner-border, .gu .spinner-grow { color: var(--gold); }

/* ── 11. Select2 e Tom Select ────────────────────────────────── */
.gu .select2-container--default .select2-selection--single,
.gu .select2-container--default .select2-selection--multiple,
.gu .ts-wrapper .ts-control {
    background: var(--surface-2);
    border: 1px solid var(--line-strong);
    border-radius: var(--r-md);
    color: var(--text);
}
.gu .select2-container--default.select2-container--focus .select2-selection--multiple,
.gu .select2-container--default.select2-container--open .select2-selection--single,
.gu .ts-wrapper.focus .ts-control { border-color: var(--gold); box-shadow: none; }
.gu .select2-container--default .select2-selection--single .select2-selection__rendered,
.gu .ts-wrapper .ts-control input { color: var(--text); }
.gu .select2-container--default .select2-selection--single .select2-selection__placeholder,
.gu .ts-wrapper .ts-control input::placeholder { color: var(--text-faint); }
.gu .select2-container--default .select2-selection--multiple .select2-selection__choice,
.gu .ts-wrapper.multi .ts-control > .item {
    background: var(--surface-3);
    border: 1px solid var(--line-strong);
    border-radius: var(--r-sm);
    color: var(--text);
}
.gu .select2-dropdown, .gu .ts-dropdown {
    background: var(--surface-2);
    border: 1px solid var(--line-strong);
    border-radius: var(--r-md);
    color: var(--text);
    box-shadow: var(--shadow-pop);
}
.gu .select2-container--default .select2-search--dropdown .select2-search__field {
    background: var(--surface);
    border: 1px solid var(--line-strong);
    border-radius: var(--r-sm);
    color: var(--text);
}
.gu .select2-container--default .select2-results__option--highlighted[aria-selected],
.gu .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable,
.gu .ts-dropdown .active { background: var(--surface-3); color: var(--text); }
.gu .select2-container--default .select2-results__option[aria-selected=true],
.gu .select2-container--default .select2-results__option--selected,
.gu .ts-dropdown .selected { background: var(--gold-dim); color: var(--gold); }

/* ============================================================
   Menu do topo e rodapé — comuns a todas as telas.
   ============================================================ */
header.gu-topbar {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: var(--bg-raise);
    border-bottom: 1px solid var(--line);
    box-shadow: none;
    font-family: var(--font-ui);
}
header.gu-topbar .navbar.navbar {
    min-height: var(--topbar-h);
    padding-top: 0;
    padding-bottom: 0;
    background: transparent;
}
header.gu-topbar .navbar-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-weight: var(--fw-black);
    font-size: var(--fs-14);
    color: var(--text);
    letter-spacing: -0.01em;
}
header.gu-topbar .navbar-brand img { height: 30px; width: auto; object-fit: contain; }
header.gu-topbar .gu-brand-sufixo { color: var(--gold); }
header.gu-topbar .gu-franquia {
    margin-left: 6px;
    padding-left: 10px;
    border-left: 1px solid var(--line-strong);
    color: var(--text-dim);
    font-size: var(--fs-11);
    font-weight: var(--fw-semibold);
}

header.gu-topbar .navbar-nav { gap: 2px; }
header.gu-topbar .nav-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 11px !important;
    border-radius: var(--r-md);
    color: var(--text-dim) !important;
    font-size: var(--fs-12);
    font-weight: var(--fw-semibold);
    transition: background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);
}
header.gu-topbar .nav-link:hover,
header.gu-topbar .nav-link.show { background: var(--surface-3); color: var(--text) !important; }
header.gu-topbar .nav-link.active { background: var(--gold-dim); color: var(--gold) !important; }
header.gu-topbar .nav-link.gu-nav-panico { color: var(--red) !important; }
header.gu-topbar .nav-link.gu-nav-panico:hover { background: var(--red-dim); }
header.gu-topbar .nav-link.dropdown-toggle::after { margin-left: 2px; vertical-align: 0.12em; opacity: 0.7; }

header.gu-topbar .gu-ico { width: 16px; height: 16px; flex: none; }
header.gu-topbar .gu-ico-sm { width: 14px; height: 14px; flex: none; }

header.gu-topbar .dropdown-menu { padding: 6px; min-width: 220px; }
header.gu-topbar .dropdown-item {
    display: flex;
    align-items: center;
    gap: 9px;
    border-radius: var(--r-sm);
    padding: 7px 10px;
    font-size: var(--fs-12);
    color: var(--text);
}
header.gu-topbar .dropdown-item .gu-ico-sm { color: var(--text-faint); }
header.gu-topbar .dropdown-item:hover,
header.gu-topbar .dropdown-item:focus { background: var(--surface-3); color: var(--text); }
header.gu-topbar .dropdown-item.active,
header.gu-topbar .dropdown-item:active { background: var(--gold-dim); color: var(--gold); }
header.gu-topbar .dropdown-item.active .gu-ico-sm { color: var(--gold); }
header.gu-topbar .dropdown-header {
    color: var(--text-faint);
    font-size: var(--fs-9);
    font-weight: var(--fw-bold);
    letter-spacing: var(--track-eyebrow);
    text-transform: uppercase;
    padding: 8px 10px 4px;
}
header.gu-topbar .dropdown-divider { border-top-color: var(--line); margin: 5px 0; }

header.gu-topbar .btn-manage {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: var(--gold-grad);
    color: var(--gold-ink);
    border: 1px solid transparent;
    border-radius: var(--r-md);
    box-shadow: var(--shadow-gold);
    font-size: var(--fs-12);
    font-weight: var(--fw-bold);
    padding: 7px 14px;
    transition: all var(--t-fast) var(--ease);
}
header.gu-topbar .btn-manage:hover,
header.gu-topbar .btn-manage:focus {
    background: var(--gold-grad);
    color: var(--gold-ink);
    box-shadow: var(--shadow-gold-hover);
    transform: translateY(-1px);
}

header.gu-topbar .gu-seletor-franquia {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: var(--surface-2);
    border: 1px solid var(--line-strong);
    border-radius: var(--r-md);
    color: var(--text);
    font-size: var(--fs-11);
    font-weight: var(--fw-semibold);
    padding: 5px 10px;
}
header.gu-topbar .gu-seletor-franquia:hover { border-color: var(--text-faint); }
header.gu-topbar .gu-seletor-franquia .gu-ico-sm { color: var(--gold); }

header.gu-topbar .gu-avatar {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--gold-dim);
    color: var(--gold);
    font-size: var(--fs-11);
    font-weight: var(--fw-bold);
}
header.gu-topbar .gu-sair {
    color: var(--red);
}
header.gu-topbar .gu-sair .gu-ico-sm { color: var(--red); }

header.gu-topbar .navbar-toggler { border-color: var(--line-strong); }
header.gu-topbar .navbar-toggler:focus { box-shadow: none; border-color: var(--gold); }

@media (max-width: 991.98px) {
    header.gu-topbar .navbar-collapse { padding: 8px 0 14px; }
    header.gu-topbar .dropdown-menu { box-shadow: none; }
}

footer.gu-rodape {
    background: transparent;
    border-top: 1px solid var(--line);
    color: var(--text-faint);
    font-family: var(--font-ui);
    font-size: var(--fs-11);
    padding: 16px 0;
    margin-top: var(--sp-6);
}
