:root {
    --bg: #f4f6fb;
    --surface: #ffffff;
    --primary: #2b6cb0;
    --primary-dark: #1f4f8b;
    --text: #1f2937;
    --muted: #6b7280;
    --border: #d1d5db;
    --shadow: 0 18px 30px rgba(15, 23, 42, 0.08);
}

.controlled-updates-page .updates-reserved-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    padding: 20px 22px;
    border: 1px solid rgba(217, 119, 6, 0.28);
    border-left: 4px solid #d97706;
    border-radius: 14px;
    background: linear-gradient(135deg, #fffbeb, #fff7ed);
    box-shadow: 0 12px 28px rgba(146, 64, 14, 0.08);
}

.controlled-updates-page .updates-reserved-badge {
    padding: 6px 9px;
    border: 1px solid rgba(217, 119, 6, 0.28);
    border-radius: 999px;
    background: #fef3c7;
    color: #92400e;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    white-space: nowrap;
}

.controlled-updates-page .updates-reserved-content {
    display: grid;
    gap: 5px;
}

.controlled-updates-page .updates-reserved-content h3,
.controlled-updates-page .updates-reserved-content p {
    margin: 0;
}

.controlled-updates-page .updates-reserved-content h3 {
    color: #78350f;
}

.controlled-updates-page .updates-reserved-content p {
    color: #92400e;
    line-height: 1.5;
}

@media (max-width: 640px) {
    .controlled-updates-page .updates-reserved-card {
        grid-template-columns: 1fr;
    }

    .controlled-updates-page .updates-reserved-badge {
        width: fit-content;
    }
}

.commercial-license-page .license-summary-panel {
    display: grid;
    gap: 18px;
}

.controlled-updates-page .actions {
    display: grid;
    gap: 8px;
    min-width: 220px;
}

.controlled-updates-page .actions form {
    display: grid;
    gap: 6px;
}

.controlled-updates-page .actions input {
    width: 100%;
}

.controlled-updates-page .update-analysis {
    display: block;
    padding: 12px;
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: 8px;
    background: #f8fafc;
    color: #334155;
    line-height: 1.5;
}

.commercial-license-page .license-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.commercial-license-page .license-detail-item {
    display: grid;
    gap: 6px;
    align-content: start;
    min-width: 0;
    padding: 14px 16px;
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: 10px;
    background: #fff;
}

.commercial-license-page .license-detail-item span {
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
    text-transform: uppercase;
}

.commercial-license-page .license-detail-item strong {
    color: #0f172a;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

@media (max-width: 760px) {
    .commercial-license-page .license-detail-grid {
        grid-template-columns: 1fr;
    }
}

/* Backup V1.1 - ajustes visuais escopados */
.backup-page .backup-generate-form {
    flex-shrink: 0;
}

.backup-page .backup-generate-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 138px;
    min-height: 42px;
    border: 1px solid #1d4ed8;
    background: #2563eb;
    color: #ffffff;
    font-weight: 700;
    white-space: nowrap;
}

.backup-page .backup-generate-button:hover {
    background: #1d4ed8;
    color: #ffffff;
}

.backup-page .backup-file-name {
    max-width: 440px;
    overflow-wrap: anywhere;
    word-break: break-word;
    font-family: Consolas, "Courier New", monospace;
    font-size: 0.92rem;
    line-height: 1.45;
}

.backup-page .backup-download-link {
    min-width: 76px;
    text-align: center;
}

.backup-page .backup-delete-button {
    min-width: 76px;
    border: 1px solid #fecaca;
    background: #fff5f5;
    color: #b91c1c;
}

.backup-page .backup-delete-button:hover {
    background: #fee2e2;
    color: #991b1b;
}

.backup-page .action-column {
    align-items: center;
    gap: 8px;
}

@media (max-width: 720px) {
    .backup-page .panel-header-row {
        align-items: stretch;
    }

    .backup-page .backup-generate-form,
    .backup-page .backup-generate-button {
        width: 100%;
    }

    .backup-page .backup-file-name {
        max-width: 100%;
    }
}

* {
    box-sizing: border-box;
}

/* Comissões Master V2 */
.commissions-master-page {
    display: grid;
    width: 100%;
    max-width: 100%;
    gap: 18px;
    border-radius: 8px;
}

.commissions-master-page .commissions-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.18);
}

.commissions-master-page .commissions-hero h2 {
    margin: 4px 0 6px;
    color: #0f172a;
    font-size: clamp(1.45rem, 2vw, 2rem);
    letter-spacing: 0;
}

.commissions-master-page .commissions-hero p {
    max-width: 720px;
    color: #64748b;
    line-height: 1.55;
}

.commissions-master-page .commissions-hero-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

.commissions-master-page .commissions-master-badge,
.commissions-master-page .commissions-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 5px 11px;
    border: 1px solid rgba(37, 99, 235, 0.16);
    border-radius: 999px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: 0.76rem;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

.commissions-master-page .commissions-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 8px 13px;
    border-radius: 8px;
    font-weight: 900;
    text-decoration: none;
    white-space: nowrap;
}

.commissions-master-page .commissions-alert {
    border-radius: 8px;
}

.commissions-master-page .commissions-filter-card {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 12px;
    align-items: end;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 16px;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}

.commissions-master-page .commissions-filter-card label,
.commissions-master-page .commissions-default-card label {
    display: grid;
    gap: 8px;
    color: #334155;
    font-weight: 850;
}

.commissions-master-page .commissions-filter-card input,
.commissions-master-page .commissions-filter-card select,
.commissions-master-page .commissions-default-card input,
.commissions-master-page .commissions-settings-table input {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    border-radius: 8px;
}

.commissions-master-page .commissions-filter-card .commissions-action-btn {
    width: 100%;
}

.commissions-master-page .commissions-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(150px, 1fr));
    gap: 14px;
}

.commissions-master-page .commissions-summary-card {
    position: relative;
    display: grid;
    gap: 8px;
    overflow: hidden;
    min-height: 132px;
    padding: 18px;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 8px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
    transition: transform 150ms ease, box-shadow 150ms ease;
}

.commissions-master-page .commissions-summary-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: #2563eb;
}

.commissions-master-page .commissions-summary-card:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.08);
}

.commissions-master-page .commissions-summary-featured {
    border-color: rgba(37, 99, 235, 0.20);
    background: linear-gradient(180deg, #eff6ff 0%, #ffffff 100%);
}

.commissions-master-page .commissions-summary-label {
    color: #64748b;
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.commissions-master-page .commissions-summary-value {
    color: #0f172a;
    font-size: clamp(1.28rem, 2vw, 1.65rem);
    font-weight: 950;
    line-height: 1.12;
}

.commissions-master-page .commissions-summary-meta {
    color: #64748b;
    font-size: 0.9rem;
    font-weight: 750;
    line-height: 1.35;
}

.commissions-master-page .commissions-section {
    display: grid;
    gap: 16px;
    padding: 18px;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}

.commissions-master-page .commissions-section-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.commissions-master-page .commissions-section-header h2,
.commissions-master-page .commissions-card-title h3 {
    margin: 0 0 5px;
    color: #0f172a;
    font-size: 1.08rem;
    letter-spacing: 0;
}

.commissions-master-page .commissions-section-header p,
.commissions-master-page .commissions-card-title p,
.commissions-master-page .commissions-default-card p {
    margin: 0;
    color: #64748b;
    line-height: 1.45;
}

.commissions-master-page .commissions-settings-form {
    display: grid;
    grid-template-columns: minmax(200px, 240px) minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.commissions-master-page .commissions-default-card,
.commissions-master-page .commissions-sellers-card {
    display: grid;
    gap: 14px;
    min-width: 0;
    padding: 16px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 8px;
    background: #f8fafc;
}

.commissions-master-page .commissions-default-card input {
    max-width: 180px;
}

.commissions-master-page .commissions-sellers-card {
    background: #ffffff;
}

.commissions-master-page .commissions-settings-footer {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
    padding-top: 2px;
}

.commissions-master-page .commissions-settings-footer .commissions-action-btn {
    min-width: 190px;
}

.commissions-master-page .commissions-table {
    width: 100%;
    min-width: 640px;
}

.commissions-master-page .commissions-table th,
.commissions-master-page .commissions-table td {
    padding: 12px 13px;
    vertical-align: middle;
}

.commissions-master-page .commissions-table th {
    background: #f8fafc;
    color: #475569;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
    white-space: nowrap;
}

.commissions-master-page .commissions-table tbody tr:hover {
    background: #f8fafc;
}

.commissions-master-page .commissions-table td {
    color: #334155;
    font-weight: 750;
}

.commissions-master-page .commissions-money,
.commissions-master-page .commissions-percent-value {
    color: #0f172a;
    font-variant-numeric: tabular-nums;
    font-weight: 950;
    white-space: nowrap;
}

.commissions-master-page .commissions-settings-table {
    min-width: 0;
    table-layout: fixed;
}

.commissions-master-page .commissions-settings-table input {
    max-width: 132px;
}

.commissions-master-page .commissions-settings-table th,
.commissions-master-page .commissions-settings-table td {
    white-space: normal;
}

.commissions-master-page .commissions-settings-table th:nth-child(1) {
    width: 34%;
}

.commissions-master-page .commissions-settings-table th:nth-child(2) {
    width: 18%;
}

.commissions-master-page .commissions-settings-table th:nth-child(3) {
    width: 26%;
}

.commissions-master-page .commissions-settings-table th:nth-child(4) {
    width: 22%;
}

.commissions-master-page .commissions-settings-table td:nth-child(3),
.commissions-master-page .commissions-settings-table td:nth-child(4) {
    text-align: right;
}

.commissions-master-page .commissions-empty-row {
    padding: 20px;
    color: #64748b;
    font-weight: 850;
    text-align: center;
}

@media (max-width: 1180px) {
    .commissions-master-page .commissions-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .commissions-master-page .commissions-settings-form {
        grid-template-columns: 1fr;
    }

    .commissions-master-page .commissions-default-card input {
        max-width: 220px;
    }
}

@media (max-width: 900px) {
    .commissions-master-page .commissions-table,
    .commissions-master-page .commissions-table tbody,
    .commissions-master-page .commissions-table tr,
    .commissions-master-page .commissions-table td {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .commissions-master-page .commissions-table thead {
        display: none;
    }

    .commissions-master-page .commissions-table tr {
        margin-bottom: 12px;
        padding: 12px;
        border: 1px solid rgba(15, 23, 42, 0.10);
        border-radius: 8px;
        background: #ffffff;
        box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
    }

    .commissions-master-page .commissions-table td {
        display: flex;
        justify-content: space-between;
        gap: 14px;
        padding: 9px 0;
        border-bottom: 1px solid rgba(148, 163, 184, 0.16);
        text-align: right;
    }

    .commissions-master-page .commissions-table td:last-child {
        border-bottom: 0;
    }

    .commissions-master-page .commissions-table td::before {
        content: attr(data-label);
        color: #64748b;
        font-size: 0.72rem;
        font-weight: 900;
        text-align: left;
        text-transform: uppercase;
    }

    .commissions-master-page .commissions-table td input {
        max-width: 150px;
    }

    .commissions-master-page .commissions-empty-row {
        display: block;
        text-align: center;
    }

    .commissions-master-page .commissions-empty-row::before {
        display: none;
    }
}

@media (max-width: 760px) {
    .commissions-master-page .commissions-hero,
    .commissions-master-page .commissions-section-header {
        align-items: stretch;
        flex-direction: column;
    }

    .commissions-master-page .commissions-hero-actions {
        justify-content: stretch;
    }

    .commissions-master-page .commissions-summary-grid,
    .commissions-master-page .commissions-filter-card {
        grid-template-columns: 1fr;
    }

    .commissions-master-page .commissions-action-btn,
    .commissions-master-page .commissions-section-header form,
    .commissions-master-page .commissions-section-header button,
    .commissions-master-page .commissions-settings-footer .commissions-action-btn {
        width: 100%;
    }

    .commissions-master-page .commissions-section,
    .commissions-master-page .commissions-default-card,
    .commissions-master-page .commissions-sellers-card {
        padding: 15px;
    }

    .commissions-master-page .commissions-default-card input {
        max-width: none;
    }

}

.fiscal-module-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 12px;
    margin: 18px 0;
}

.fiscal-module-card {
    min-height: 86px;
    padding: 14px;
    border: 1px solid #d9e2ef;
    border-radius: 8px;
    background: #fff;
    display: grid;
    align-content: start;
    gap: 6px;
    text-decoration: none;
}

.fiscal-module-card strong {
    color: #0f172a;
    font-size: 0.95rem;
}

.fiscal-module-card span {
    color: #64748b;
    font-size: 0.84rem;
    line-height: 1.35;
}

.fiscal-product-panel {
    border-color: #2563eb;
    background: #f8fbff;
}

.fiscal-product-panel h3,
.fiscal-corrections-panel h3 {
    margin-bottom: 6px;
}

.section-hint {
    margin: 0 0 14px;
    color: #64748b;
    font-size: 0.9rem;
}

.fiscal-corrections-panel {
    border-color: #f59e0b;
    background: #fffbeb;
}

.fiscal-pending-list {
    margin: 12px 0 0;
    padding-left: 20px;
    color: #92400e;
}

.fiscal-status-summary {
    border-color: #d9e2ef;
    background: #f8fafc;
}

.fiscal-status-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.fiscal-quick-table input,
.fiscal-quick-table select {
    width: 100%;
    min-width: 96px;
}

/* Fiscal Master V2 */
.fiscal-master {
    display: grid;
    gap: 18px;
    border-radius: 8px;
}

.fiscal-master .fiscal-hero {
    display: grid;
    grid-template-columns: minmax(260px, 0.9fr) minmax(360px, 1.35fr);
    gap: 22px;
    align-items: start;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.20);
}

.fiscal-master .fiscal-hero h2 {
    margin-bottom: 9px;
    color: #0f172a;
    letter-spacing: 0;
}

.fiscal-master .fiscal-hero p {
    max-width: 680px;
    margin: 0;
    color: #64748b;
    line-height: 1.55;
}

.fiscal-master .fiscal-nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    align-items: stretch;
}

.fiscal-master .fiscal-nav-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 9px 12px;
    border-radius: 8px;
    text-align: center;
    text-decoration: none;
    white-space: normal;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
}

.fiscal-master .fiscal-nav-primary {
    grid-column: span 3;
    box-shadow: 0 12px 24px rgba(37, 99, 235, 0.18);
}

.fiscal-master .fiscal-card-grid {
    grid-template-columns: repeat(5, minmax(150px, 1fr));
    gap: 12px;
    margin: 0;
}

.fiscal-master .fiscal-card {
    position: relative;
    min-height: 122px;
    padding: 16px;
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 8px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.fiscal-master .fiscal-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: #e2e8f0;
}

.fiscal-master .fiscal-card:hover {
    border-color: rgba(37, 99, 235, 0.26);
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.08);
    transform: translateY(-1px);
}

.fiscal-master .fiscal-card-featured {
    border-color: rgba(37, 99, 235, 0.20);
    background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%);
}

.fiscal-master .fiscal-card-featured::before {
    background: #2563eb;
}

.fiscal-master .fiscal-card-index {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    margin-bottom: 2px;
    border: 1px solid rgba(37, 99, 235, 0.16);
    border-radius: 8px;
    background: #eff6ff;
    color: #1d4ed8 !important;
    font-size: 0.72rem !important;
    font-weight: 900;
}

.fiscal-master .fiscal-card strong {
    color: #0f172a;
    font-size: 0.98rem;
    line-height: 1.25;
}

.fiscal-master .fiscal-card span:last-child {
    color: #64748b;
    line-height: 1.38;
}

.fiscal-master .fiscal-alert {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 0;
    padding: 15px 16px;
    border: 1px solid rgba(245, 158, 11, 0.30);
    border-radius: 8px;
    background: #fffbeb;
    color: #78350f;
    box-shadow: 0 8px 18px rgba(120, 53, 15, 0.05);
}

.fiscal-master .fiscal-alert-icon {
    display: inline-flex;
    flex: 0 0 28px;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: 1px solid rgba(245, 158, 11, 0.28);
    border-radius: 8px;
    background: #ffffff;
    color: #b45309;
    font-weight: 900;
}

.fiscal-master .fiscal-form {
    display: grid;
    gap: 16px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.fiscal-master .fiscal-section {
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}

.fiscal-master .fiscal-section-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 17px 18px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.18);
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.fiscal-master .fiscal-section-icon {
    display: inline-flex;
    flex: 0 0 34px;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(37, 99, 235, 0.18);
    border-radius: 8px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: 0.76rem;
    font-weight: 900;
}

.fiscal-master .fiscal-section-header h3 {
    margin: 0;
    color: #0f172a;
    letter-spacing: 0;
}

.fiscal-master .fiscal-section-header p {
    margin: 3px 0 0;
    color: #64748b;
    font-size: 0.86rem;
    line-height: 1.4;
}

.fiscal-master .fiscal-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
    padding: 18px;
}

.fiscal-master .fiscal-form-grid label {
    min-width: 0;
    gap: 8px;
    color: #334155;
    font-weight: 800;
}

.fiscal-master .fiscal-label-text {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px;
    line-height: 1.25;
}

.fiscal-master .required {
    display: inline;
    color: #dc2626;
    font-weight: 900;
}

.fiscal-master .fiscal-form-grid input,
.fiscal-master .fiscal-form-grid select,
.fiscal-master .fiscal-form-grid textarea {
    width: 100%;
    min-width: 0;
    border-color: rgba(148, 163, 184, 0.38);
    border-radius: 8px;
    background: #ffffff;
}

.fiscal-master .fiscal-form-grid input:focus,
.fiscal-master .fiscal-form-grid select:focus,
.fiscal-master .fiscal-form-grid textarea:focus {
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
    outline: none;
}

.fiscal-master .fiscal-subsection {
    padding: 18px;
    border-top: 1px solid rgba(148, 163, 184, 0.16);
}

.fiscal-master .fiscal-section-header + .fiscal-subsection {
    border-top: 0;
}

.fiscal-master .fiscal-subsection h4 {
    margin: 0 0 12px;
    color: #0f172a;
    font-size: 0.92rem;
    font-weight: 900;
    letter-spacing: 0;
}

.fiscal-master .fiscal-subsection .fiscal-form-grid {
    padding: 0;
}

.fiscal-master .fiscal-save-row {
    display: flex;
    justify-content: flex-end;
    padding: 4px 0 0;
}

.fiscal-master .fiscal-save-button {
    min-width: 260px;
    min-height: 48px;
    border-radius: 8px;
    box-shadow: 0 12px 24px rgba(37, 99, 235, 0.18);
}

.fiscal-master .fiscal-save-button:hover {
    transform: translateY(-1px);
}

@media (max-width: 1180px) {
    .fiscal-master .fiscal-hero {
        grid-template-columns: 1fr;
    }

    .fiscal-master .fiscal-card-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .fiscal-master .fiscal-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fiscal-master .fiscal-nav-primary {
        grid-column: span 2;
    }

    .fiscal-master .fiscal-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fiscal-master .fiscal-form-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 520px) {
    .fiscal-master {
        gap: 14px;
    }

    .fiscal-master .fiscal-nav,
    .fiscal-master .fiscal-card-grid {
        grid-template-columns: 1fr;
    }

    .fiscal-master .fiscal-nav-primary {
        grid-column: auto;
    }

    .fiscal-master .fiscal-section-header,
    .fiscal-master .fiscal-alert {
        align-items: flex-start;
    }

    .fiscal-master .fiscal-form-grid,
    .fiscal-master .fiscal-subsection {
        padding: 16px;
    }

    .fiscal-master .fiscal-save-button {
        width: 100%;
        min-width: 0;
    }
}

html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

.env-dev-label {
    display: inline-block;
    margin-top: 4px;
    color: #92400e;
    font-weight: 700;
}

.env-fiscal-label {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.env-fiscal-homologation {
    color: #92400e;
}

.env-fiscal-production-blocked {
    color: #991b1b;
}

body {
    margin: 0;
    min-height: 100vh;
    font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    background: linear-gradient(180deg, #eef4ff 0%, #f8fafc 100%);
    color: var(--text);
}

.page-wrapper {
    display: grid;
    place-items: center;
    min-height: 100vh;
    padding: 24px;
}

.login-card {
    width: min(480px, 100%);
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 24px;
    padding: 36px;
    box-shadow: var(--shadow);
}

.brand h1 {
    margin: 0 0 8px;
    font-size: 2rem;
}

.brand p {
    margin: 0;
    color: var(--muted);
}

.form-group {
    display: grid;
    gap: 8px;
    margin-top: 20px;
}

.password-field {
    position: relative;
}

.password-field input {
    padding-right: 52px;
}

.password-toggle {
    position: absolute;
    top: 50%;
    right: 12px;
    display: inline-grid;
    place-items: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--muted);
    cursor: pointer;
    transform: translateY(-50%);
}

.password-toggle:hover {
    color: var(--text);
}

.password-toggle:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
    box-shadow: none;
}

.password-toggle-icon {
    width: 20px;
    height: 20px;
}

.password-toggle-icon-hide {
    display: none;
}

.password-toggle.is-visible .password-toggle-icon-show {
    display: none;
}

.password-toggle.is-visible .password-toggle-icon-hide {
    display: block;
}

label {
    font-size: 0.95rem;
    font-weight: 600;
}

input {
    width: 100%;
    padding: 14px 16px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: #f8fafc;
    font-size: 1rem;
    color: var(--text);
}

input:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 4px rgba(66, 153, 225, 0.12);
}

.btn-primary {
    width: 100%;
    margin-top: 28px;
    border: none;
    border-radius: 14px;
    padding: 14px 18px;
    background: var(--primary);
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.2s ease;
}

.btn-primary:hover {
    background: var(--primary-dark);
}

.helper-text {
    margin: 20px 0 0;
    color: var(--muted);
    font-size: 0.95rem;
    line-height: 1.5;
}

.alert {
    margin-bottom: 18px;
    padding: 14px 16px;
    border-radius: 14px;
    background: #fee2e2;
    color: #991b1b;
    border: 1px solid #fca5a5;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.alert ul {
    margin: 0;
    padding-left: 20px;
}

.app-shell {
    display: flex;
    min-height: 100vh;
    background: #f4f7fb;
    max-width: 100%;
    overflow-x: hidden;
}

.sidebar {
    width: 280px;
    min-height: 100vh;
    max-height: 100vh;
    background: #0f172a;
    color: #e2e8f0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 28px 20px;
    position: fixed;
    left: 0;
    top: 0;
    box-shadow: 4px 0 24px rgba(15, 23, 42, 0.08);
    overflow-y: auto;
    gap: 16px;
}

.mobile-menu-toggle,
.sidebar-backdrop {
    display: none;
}

.brand-mark {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    background: #2563eb;
    display: grid;
    place-items: center;
    font-weight: 700;
    color: #ffffff;
    font-size: 1.1rem;
}

.brand-name,
.brand-tag {
    display: block;
}

.brand-name {
    font-size: 1.15rem;
    font-weight: 700;
}

.brand-tag {
    color: #94a3b8;
    font-size: 0.9rem;
}

.sidebar-nav {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.sidebar-nav .section-label {
    margin: 10px 16px 0;
    color: #94a3b8;
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.sidebar-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border-radius: 16px;
    text-decoration: none;
    color: #e2e8f0;
    font-weight: 500;
    transition: background 0.2s ease, color 0.2s ease;
}

.sidebar-link-icon {
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
}

.sidebar-link:hover,
.sidebar-link.active {
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
}

.sidebar-link-feature {
    justify-content: space-between;
    border: 1px solid rgba(94, 234, 212, 0.24);
    background: linear-gradient(135deg, rgba(20, 184, 166, 0.18), rgba(37, 99, 235, 0.14));
}

.sidebar-link-feature:hover,
.sidebar-link-feature.active {
    background: linear-gradient(135deg, rgba(20, 184, 166, 0.30), rgba(37, 99, 235, 0.24));
}

.sidebar-badge-new {
    flex: 0 0 auto;
    padding: 4px 7px;
    border-radius: 8px;
    background: #5eead4;
    color: #042f2e;
    font-size: 0.68rem;
    font-weight: 900;
}

.sidebar-link-legacy {
    display: grid;
    gap: 3px;
    color: #cbd5e1;
}

.sidebar-link-legacy small {
    color: #94a3b8;
    font-size: 0.74rem;
    font-weight: 600;
}

.sidebar-footer {
    margin-top: auto;
}

.logout-link {
    color: #f8fafc;
}

.main-area {
    margin-left: 280px;
    width: calc(100% - 280px);
    max-width: calc(100% - 280px);
    padding: 32px 40px;
    min-width: 0;
}

.topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px;
}

.topbar-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    width: 100%;
    min-width: 0;
}

.topbar-info h1 {
    margin: 0;
    font-size: clamp(1.6rem, 2vw, 2.4rem);
    color: #0f172a;
}

.topbar-subtitle {
    display: block;
    color: #64748b;
    margin-bottom: 6px;
}

.topbar-user {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #334155;
}

.topbar-user strong {
    color: #0f172a;
}

.btn-logout {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 22px;
    border-radius: 14px;
    background: #2563eb;
    color: #ffffff;
    text-decoration: none;
    font-weight: 700;
    transition: background 0.2s ease;
}

.btn-logout:hover {
    background: #1d4ed8;
}

.dashboard-content {
    display: grid;
    gap: 24px;
    max-width: 100%;
    min-width: 0;
}

.app,
.main,
.main-content,
.content,
.container,
.dashboard,
.card,
.panel,
.form-card,
.report-card,
.report-cards,
.dashboard-panel,
.page-panel,
.indicator-card,
.shortcut-card,
.chart-card,
.settings-panel,
.cashier-card,
.cashier-summary,
.cashier-notes,
.cashier-card-item,
.fiscal-item-card,
.pdv-panel,
.stock-panel {
    max-width: 100%;
    min-width: 0;
}

.page-panel {
    background: #ffffff;
    border-radius: 24px;
    padding: 28px;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
    border: 1px solid rgba(15, 23, 42, 0.05);
    max-width: 100%;
    min-width: 0;
}

.panel-header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px;
    min-width: 0;
}

.panel-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    min-width: 0;
}

.panel-header > *,
.panel-header-row > *,
.panel-section-header > * {
    min-width: 0;
}

.panel-header > div:last-child {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.panel-header > div:last-child a {
    white-space: nowrap;
}

.page-label {
    display: block;
    color: #64748b;
    font-size: 0.88rem;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    margin-bottom: 8px;
}

.search-panel {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 18px;
    max-width: 100%;
    min-width: 0;
}

.search-input {
    flex: 1;
    padding: 14px 18px;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 16px;
    background: #f8fafc;
    color: #0f172a;
    min-width: 0;
}

.data-table {
    width: 100%;
    min-width: 600px;
    border-collapse: collapse;
    background: #ffffff;
}

.data-table thead {
    background: #f8fafc;
}

.data-table th,
.data-table td {
    padding: 16px 18px;
    text-align: left;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.data-table th {
    color: #475569;
    font-size: 0.95rem;
    font-weight: 600;
}

.data-table tr:hover {
    background: rgba(37, 99, 235, 0.04);
}

.table-responsive {
    width: 100%;
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
}

.cashier-table-responsive {
    max-width: 100%;
}

.cashier-history-table th,
.cashier-history-table td {
    padding: 12px 14px;
    white-space: nowrap;
}

.empty-row {
    text-align: center;
    color: #64748b;
    padding: 32px 0;
}

.status-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border-radius: 999px;
    font-size: 0.85rem;
    text-transform: capitalize;
    letter-spacing: 0.02em;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.status-pill.success {
    background: #dcfce7;
    color: #166534;
}

.status-pill.warning {
    background: #fef3c7;
    color: #92400e;
}

.status-active {
    background: #ecfdf5;
    color: #166534;
}

.status-inactive {
    background: #f8fafc;
    color: #475569;
}

.status-open {
    background: #ecfdf5;
    color: #166534;
}

.status-closed {
    background: #eff6ff;
    color: #1e40af;
}

.status-warning {
    background: #fffbeb;
    color: #92400e;
}

.status-danger {
    background: #fee2e2;
    color: #991b1b;
}

.report-filter-panel {
    display: flex;
    align-items: end;
    flex-wrap: wrap;
    gap: 14px;
    margin-bottom: 22px;
}

.report-filter-panel label {
    display: grid;
    gap: 8px;
    min-width: 180px;
}

.report-filter-panel .btn-secondary {
    min-height: 52px;
}

.report-cards {
    margin-bottom: 24px;
}

.report-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.report-section {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.report-section:first-of-type {
    border-top: none;
}

.report-cashier-table th,
.report-cashier-table td {
    padding: 12px 14px;
    white-space: nowrap;
}

.action-column {
    display: flex;
    align-items: center;
    gap: 10px;
}

.link-button {
    color: #2563eb;
    text-decoration: none;
    font-weight: 600;
}

.link-button:hover {
    text-decoration: underline;
}

.link-danger {
    color: #dc2626;
}

.tag-inactive {
    display: inline-flex;
    padding: 8px 12px;
    border-radius: 999px;
    background: #f8fafc;
    color: #475569;
    font-size: 0.85rem;
}

.form-card {
    display: grid;
    gap: 24px;
    max-width: 100%;
    min-width: 0;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    max-width: 100%;
}

.form-grid label,
.full-width {
    display: grid;
    gap: 10px;
    font-weight: 600;
    color: #0f172a;
}

input[type="text"],
input[type="search"],
input[type="number"],
input[type="email"],
input[type="password"],
input[type="date"],
input[type="tel"],
select,
textarea {
    width: 100%;
    padding: 14px 16px;
    border: 1px solid rgba(15, 23, 42, 0.13);
    border-radius: 16px;
    background: #f8fafc;
    color: #0f172a;
    font-size: 1rem;
    max-width: 100%;
}

/* Produtos: listagem, filtros, formulario e detalhes. */
.products-page {
    border-radius: 8px;
}

.products-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 18px;
}

.products-summary > div {
    display: grid;
    gap: 5px;
    padding: 14px 16px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 8px;
    background: #f8fafc;
}

.products-summary span {
    color: #64748b;
    font-size: 0.82rem;
}

.products-summary strong {
    color: #0f172a;
    font-size: 1.35rem;
}

.products-filter-panel {
    display: grid;
    grid-template-columns: minmax(240px, 1.8fr) minmax(130px, 0.7fr) minmax(180px, 1fr) minmax(110px, 0.55fr) auto auto;
    align-items: end;
    gap: 10px;
    padding: 16px;
    margin-bottom: 12px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 8px;
    background: #f8fafc;
}

.products-filter-panel label {
    display: grid;
    gap: 7px;
    min-width: 0;
    color: #334155;
    font-size: 0.86rem;
    font-weight: 700;
}

.products-filter-panel input,
.products-filter-panel select,
.products-filter-panel .btn-secondary {
    min-height: 48px;
}

.products-clear-filter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.products-list-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 12px 0;
    color: #64748b;
    font-size: 0.88rem;
}

.products-table .product-name,
.products-table .product-code,
.products-table .product-price-cell strong,
.products-table .product-price-cell small,
.products-table td[data-label="Estoque"] small {
    display: block;
}

.products-table .product-name {
    color: #0f172a;
}

.unit-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    min-height: 22px;
    padding: 2px 7px;
    margin-left: 6px;
    border-radius: 999px;
    background: #e0f2fe;
    color: #075985;
    font-size: 0.7rem;
    font-weight: 800;
    line-height: 1;
    text-transform: lowercase;
    vertical-align: middle;
}

.product-pending-row {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 7px;
}

.pending-chip {
    display: inline-flex;
    align-items: center;
    min-height: 20px;
    padding: 2px 7px;
    border: 1px solid #fde68a;
    border-radius: 999px;
    background: #fffbeb;
    color: #92400e;
    font-size: 0.69rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.products-table .product-code,
.products-table td small,
.text-muted {
    margin-top: 4px;
    color: #64748b;
    font-size: 0.76rem;
}

.stock-warning {
    color: #b45309;
    font-weight: 800;
}

.products-table td {
    word-break: normal;
    overflow-wrap: normal;
}

.products-table td:first-child,
.products-table td:nth-child(2) {
    overflow-wrap: anywhere;
}

.products-actions form {
    margin: 0;
}

.products-actions button.link-button {
    padding: 0;
    border: 0;
    background: transparent;
    font: inherit;
    cursor: pointer;
}

.products-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 18px;
}

.products-pagination a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    min-height: 38px;
    padding: 7px 11px;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 6px;
    color: #334155;
    text-decoration: none;
    font-weight: 700;
}

.products-pagination a.active {
    border-color: #2563eb;
    background: #2563eb;
    color: #ffffff;
}

.product-form {
    gap: 16px;
}

.product-form-section,
.product-detail-section {
    display: grid;
    gap: 16px;
    padding: 20px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 8px;
    background: #ffffff;
}

.product-form-section.fiscal-product-panel {
    border-color: rgba(37, 99, 235, 0.3);
    background: #f8fbff;
}

.product-form-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.product-form-heading > div {
    display: flex;
    align-items: center;
    gap: 10px;
}

.product-form-heading h3,
.product-form-heading p,
.product-detail-section h3,
.product-detail-section p {
    margin: 0;
}

.product-form-heading h3,
.product-detail-section h3 {
    font-size: 1rem;
    color: #0f172a;
}

.product-form-heading p {
    color: #64748b;
    font-size: 0.86rem;
}

.product-section-icon {
    display: inline-flex;
    flex: 0 0 30px;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 6px;
    background: #eff6ff;
    color: #1d4ed8;
    font-weight: 800;
}

.product-margin-preview {
    padding: 11px 13px;
    border-radius: 6px;
    background: #ecfdf5;
    color: #166534;
    font-size: 0.88rem;
    font-weight: 700;
}

.product-margin-preview.is-negative {
    background: #fee2e2;
    color: #991b1b;
}

.product-form-actions,
.product-show-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.product-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.product-detail-section dl {
    display: grid;
    gap: 0;
    margin: 0;
}

.product-detail-section dl > div {
    display: grid;
    grid-template-columns: minmax(110px, 0.8fr) minmax(0, 1.2fr);
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.product-detail-section dl > div:last-child {
    border-bottom: 0;
}

.product-detail-section dt {
    color: #64748b;
    font-size: 0.84rem;
}

.product-detail-section dd {
    min-width: 0;
    margin: 0;
    color: #0f172a;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.product-description {
    margin-top: 14px;
}

@media (max-width: 1120px) {
    .products-page .panel-header-row {
        align-items: stretch;
        flex-direction: column;
    }

    .products-page .panel-header-row .btn-primary,
    .products-page .panel-header-row .btn-secondary {
        width: 100%;
    }

    .products-filter-panel {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .products-filter-panel .btn-secondary {
        width: 100%;
    }

    .product-detail-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .products-summary,
    .products-filter-panel {
        grid-template-columns: 1fr;
    }

    .products-list-meta,
    .product-form-heading,
    .product-form-actions,
    .product-show-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .product-form-actions .btn-primary,
    .product-form-actions .btn-secondary,
    .product-show-actions .btn-primary,
    .product-show-actions .btn-secondary {
        width: 100%;
    }

    .product-detail-section dl > div {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .products-actions form,
    .products-actions button.link-button {
        width: auto;
    }
}

/* Stock Master V2 - override final contra regras globais posteriores. */
.stock-page {
    overflow: visible !important;
}

.stock-page .stock-filter-panel {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(180px, 240px) auto;
    gap: 12px;
    align-items: end;
}

.stock-page .stock-grid {
    display: grid;
    grid-template-columns: minmax(300px, 380px) minmax(760px, 1fr) !important;
    gap: 22px;
    align-items: start;
    margin-top: 22px;
}

.stock-page .stock-panel {
    min-width: 0;
    border-radius: var(--premium-radius, 8px);
}

.stock-page .stock-movements-panel {
    min-width: 0;
}

.stock-page .stock-movements-scroll {
    max-width: 100%;
    overflow-x: auto !important;
    overflow-y: visible;
}

.stock-page .stock-movement-table {
    width: 100%;
    min-width: 820px !important;
    table-layout: auto !important;
}

.stock-page .stock-movement-table th,
.stock-page .stock-movement-table td {
    word-break: normal !important;
    overflow-wrap: normal !important;
    white-space: normal;
}

.stock-page .stock-movement-table .stock-col-date,
.stock-page .stock-movement-table .stock-col-type,
.stock-page .stock-movement-table .stock-col-qty,
.stock-page .stock-movement-table .stock-col-user {
    white-space: nowrap !important;
}

.stock-page .stock-movement-table .stock-col-date {
    min-width: 128px;
}

.stock-page .stock-movement-table .stock-col-type {
    min-width: 92px;
}

.stock-page .stock-movement-table .stock-col-qty {
    min-width: 112px;
    text-align: right;
}

.stock-page .stock-movement-table .stock-col-user {
    min-width: 126px;
}

.stock-page .stock-movement-table .stock-col-product {
    min-width: 190px;
    overflow-wrap: break-word !important;
}

.stock-page .stock-movement-table .stock-col-reason {
    min-width: 170px;
    overflow-wrap: break-word !important;
}

.stock-page .stock-entry-form {
    display: grid;
    gap: 14px;
    border: 0;
    background: transparent;
    box-shadow: none;
    padding: 0;
}

.stock-page .stock-entry-form label {
    display: grid;
    gap: 7px;
}

.stock-page .stock-entry-form select,
.stock-page .stock-entry-form input,
.stock-page .stock-entry-form textarea,
.stock-page .stock-entry-form .btn-primary {
    width: 100%;
}

.stock-page .stock-pagination-info {
    margin: 14px 0 0;
}

.stock-page .stock-pagination {
    justify-content: center;
    margin-top: 12px;
}

.stock-page .stock-page-link {
    min-width: 40px;
}

.stock-page .stock-page-link.disabled {
    pointer-events: none;
}

@media (max-width: 1500px) {
    .stock-page .stock-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 900px) {
    .stock-page .stock-filter-panel {
        grid-template-columns: 1fr;
    }

    .stock-page .stock-filter-panel .btn-secondary {
        width: 100%;
    }

    .stock-page .stock-movement-table {
        min-width: 760px !important;
    }
}

@media (max-width: 768px) {
    .stock-page {
        overflow-x: hidden !important;
    }

    .stock-page .stock-movements-scroll {
        overflow-x: auto !important;
        padding-bottom: 4px;
    }

    .stock-page .stock-movement-table,
    .stock-page .stock-movement-table thead,
    .stock-page .stock-movement-table tbody,
    .stock-page .stock-movement-table tr,
    .stock-page .stock-movement-table td {
        display: revert !important;
        width: auto;
    }

    .stock-page .stock-movement-table thead {
        display: table-header-group !important;
    }

    .stock-page .stock-movement-table tr {
        box-shadow: none;
    }

    .stock-page .stock-movement-table td::before {
        display: none !important;
    }
}

/* Visual Master V2 - camada global de acabamento, sem alterar fluxos. */
:root {
    --master-bg: #eef3f8;
    --master-bg-strong: #e6edf5;
    --master-surface: #ffffff;
    --master-surface-soft: #f8fbff;
    --master-ink: #111827;
    --master-muted: #64748b;
    --master-line: rgba(15, 23, 42, 0.10);
    --master-line-strong: rgba(15, 23, 42, 0.18);
    --master-primary: #2563eb;
    --master-primary-strong: #1d4ed8;
    --master-accent: #0f766e;
    --master-success: #16a34a;
    --master-warning: #d97706;
    --master-danger: #dc2626;
    --master-info: #0284c7;
    --master-radius: 8px;
    --master-radius-sm: 6px;
    --master-shadow-sm: 0 8px 18px rgba(15, 23, 42, 0.06);
    --master-shadow: 0 16px 34px rgba(15, 23, 42, 0.09);
    --master-shadow-hover: 0 20px 44px rgba(15, 23, 42, 0.12);
    --master-focus: 0 0 0 4px rgba(37, 99, 235, 0.16);
    --master-transition: 150ms ease;
}

body {
    background:
        linear-gradient(180deg, rgba(37, 99, 235, 0.05) 0%, rgba(15, 118, 110, 0.035) 38%, transparent 72%),
        var(--master-bg);
    color: var(--master-ink);
    text-rendering: optimizeLegibility;
}

.main-content,
.content-area,
main {
    min-width: 0;
}

.page-panel,
.dashboard-panel,
.report-section,
.form-card,
.settings-panel,
.financial-section,
.cashier-current-card,
.cashier-card,
.client-detail-section,
.client-history-section,
.product-form-section,
.product-detail-section,
.category-form-section,
.category-detail-section,
.purchase-form-section,
.purchase-detail-section,
.fiscal-module-card,
.fiscal-status-summary,
.fiscal-product-panel,
.fiscal-corrections-panel,
.support-card,
.license-card,
.empty-state {
    border: 1px solid var(--master-line);
    border-radius: var(--master-radius);
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    box-shadow: var(--master-shadow-sm);
}

.page-panel,
.dashboard-panel,
.report-section,
.form-card,
.settings-panel {
    padding-top: clamp(18px, 2vw, 28px);
}

.panel-header-row,
.panel-header,
.dashboard-section-heading,
.product-form-heading,
.client-section-heading,
.financial-section-heading,
.fiscal-section-heading {
    gap: 14px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.07);
}

.panel-header-row h1,
.panel-header-row h2,
.panel-header h2,
.dashboard-section-heading h2,
.financial-section-heading h2,
.form-card h2,
.report-section h2 {
    color: #0f172a;
    font-weight: 900;
    letter-spacing: 0;
}

.panel-header-row p,
.panel-header p,
.dashboard-section-heading p,
.financial-section-heading p,
.form-card p,
.report-section p {
    color: var(--master-muted);
    line-height: 1.55;
}

.page-label,
.section-label,
.indicator-title {
    letter-spacing: 0;
}

.indicator-card,
.shortcut-card,
.cashier-card-item,
.dashboard-card,
.products-summary > div,
.clients-summary > div,
.categories-summary > div,
.financial-flow-card,
.fiscal-module-card {
    border: 1px solid var(--master-line);
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: var(--master-shadow-sm);
}

.indicator-card,
.shortcut-card,
.cashier-card-item,
.products-summary > div,
.clients-summary > div,
.categories-summary > div,
.fiscal-module-card {
    transition: transform var(--master-transition), box-shadow var(--master-transition), border-color var(--master-transition);
}

.indicator-card:hover,
.shortcut-card:hover,
.cashier-card-item:hover,
.products-summary > div:hover,
.clients-summary > div:hover,
.categories-summary > div:hover,
.fiscal-module-card:hover {
    border-color: rgba(37, 99, 235, 0.24);
    box-shadow: var(--master-shadow-hover);
    transform: translateY(-1px);
}

.indicator-value,
.dashboard-metric-value,
.financial-flow-card strong {
    color: #0f172a;
    letter-spacing: 0;
}

.btn-primary,
.btn-secondary,
.btn-success,
.btn-warning,
.btn-danger,
.btn-muted,
.link-button,
.pagination-link,
.pagination-item,
.products-pagination a,
.financial-pagination a,
.cashier-pagination a,
.report-pagination a,
button {
    border-radius: var(--master-radius);
    text-decoration: none;
}

.btn-primary,
.btn-secondary,
.btn-success,
.btn-warning,
.btn-danger,
.btn-muted,
.link-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-weight: 850;
    line-height: 1.2;
    transition: transform var(--master-transition), box-shadow var(--master-transition), background var(--master-transition), border-color var(--master-transition), color var(--master-transition);
}

.btn-primary {
    border-color: rgba(37, 99, 235, 0.18);
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
    color: #ffffff;
    box-shadow: 0 10px 22px rgba(37, 99, 235, 0.20);
}

.btn-secondary,
.link-button {
    border: 1px solid rgba(15, 23, 42, 0.12);
    background: #ffffff;
    color: #334155;
    box-shadow: 0 5px 14px rgba(15, 23, 42, 0.05);
}

.btn-success {
    background: linear-gradient(135deg, #16a34a 0%, #15803d 100%);
    color: #ffffff;
}

.btn-warning {
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
    color: #111827;
}

.btn-danger {
    background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);
    color: #ffffff;
}

.btn-primary:hover,
.btn-secondary:hover,
.btn-success:hover,
.btn-warning:hover,
.btn-danger:hover,
.btn-muted:hover,
.link-button:hover {
    text-decoration: none;
    box-shadow: var(--master-shadow-sm);
    transform: translateY(-1px);
}

.btn-sm,
.action-column .btn-primary,
.action-column .btn-secondary,
.action-column .btn-success,
.action-column .btn-warning,
.action-column .btn-danger,
.action-column .btn-muted,
.action-column .link-button {
    min-height: 34px;
    padding: 7px 11px;
    font-size: 0.82rem;
    white-space: nowrap;
}

.search-panel,
.products-filter-panel,
.clients-filter-panel,
.categories-filter-panel,
.sale-filter-panel,
.purchase-filter-panel,
.report-filter-panel,
.financial-filters,
.cashier-filters {
    border: 1px solid var(--master-line);
    border-radius: var(--master-radius);
    background: linear-gradient(180deg, #f8fbff 0%, #f3f7fc 100%);
}

label,
.form-label {
    color: #334155;
    font-weight: 800;
}

input[type="text"],
input[type="search"],
input[type="number"],
input[type="email"],
input[type="password"],
input[type="date"],
input[type="tel"],
select,
textarea {
    border-color: rgba(15, 23, 42, 0.14);
    border-radius: var(--master-radius-sm);
    background: #ffffff;
    color: #111827;
}

input:focus,
select:focus,
textarea:focus,
button:focus-visible,
a:focus-visible {
    outline: 0;
    border-color: var(--master-primary);
    box-shadow: var(--master-focus);
}

.table-responsive {
    border-radius: var(--master-radius);
}

.data-table {
    border: 1px solid var(--master-line);
    border-radius: var(--master-radius);
    background: #ffffff;
    overflow: hidden;
}

.data-table thead {
    background: linear-gradient(180deg, #eef5ff 0%, #e6eef8 100%);
}

.data-table th {
    color: #334155;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0;
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
}

.data-table td {
    border-color: rgba(15, 23, 42, 0.07);
}

.data-table tbody tr:hover {
    background: #f8fbff;
}

.data-table th:nth-child(2),
.data-table td[data-label="Vencimento"],
.data-table td[data-label="Data"],
.data-table td[data-label="Criado em"],
.data-table td[data-label="Atualizado em"],
.data-table td[data-label="SKU"],
.data-table td[data-label="Código"],
.data-table td[data-label="Status"] {
    white-space: nowrap;
    overflow-wrap: normal;
}

.action-column,
.actions-column,
.table-actions,
.products-actions,
.clients-actions,
.categories-actions,
.purchase-actions {
    gap: 8px;
}

.action-column,
.table-actions {
    align-items: center;
    justify-content: flex-end;
}

.action-column a,
.action-column button,
.table-actions a,
.table-actions button {
    white-space: nowrap;
}

.badge-status,
.badge-active,
.badge-inactive,
.badge-open,
.badge-closed,
.badge-paid,
.badge-pending,
.badge-danger,
.status-pill,
.tag-inactive {
    border-radius: 999px;
    font-weight: 900;
    letter-spacing: 0;
}

.alert,
.alert-success,
.alert-danger,
.alert-warning,
.alert-info,
.report-integrity-alert,
.financial-integrity-alert,
.fiscal-corrections-panel {
    border-radius: var(--master-radius);
    box-shadow: var(--master-shadow-sm);
}

.empty-row,
.empty-state,
.panel-body.empty-state {
    border-radius: var(--master-radius);
    background: #f8fbff;
    color: var(--master-muted);
}

.pagination,
.products-pagination,
.financial-pagination,
.cashier-pagination,
.report-pagination > div {
    gap: 8px;
}

.pagination-link,
.pagination-item,
.products-pagination a,
.financial-pagination a,
.cashier-pagination a,
.report-pagination a {
    border-color: var(--master-line-strong);
    background: #ffffff;
    color: #334155;
    font-weight: 900;
    box-shadow: 0 5px 14px rgba(15, 23, 42, 0.04);
}

.pagination-active,
.products-pagination a.active,
.financial-pagination a.is-active,
.cashier-pagination a.is-active,
.report-pagination a.is-active {
    border-color: var(--master-primary);
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
    color: #ffffff;
}

.sidebar {
    box-shadow: 10px 0 32px rgba(15, 23, 42, 0.16);
}

.sidebar a,
.sidebar .nav-link {
    border-radius: var(--master-radius);
}

.sidebar a:hover,
.sidebar .nav-link:hover {
    background: rgba(255, 255, 255, 0.10);
}

@media (max-width: 768px) {
    .page-panel,
    .dashboard-panel,
    .report-section,
    .form-card,
    .settings-panel {
        border-radius: var(--master-radius);
    }

    .data-table th {
        white-space: normal;
    }

    .table-responsive tr {
        border: 1px solid var(--master-line);
        background: #ffffff;
    }

    .table-responsive td {
        min-width: 0;
    }

    .table-responsive .action-column,
    .table-responsive .table-actions {
        align-items: stretch;
        justify-content: flex-end;
        flex-wrap: wrap;
        width: 100%;
    }

    .table-responsive .action-column a,
    .table-responsive .action-column button,
    .table-responsive .action-column .link-button,
    .table-responsive .table-actions a,
    .table-responsive .table-actions button {
        flex: 1 1 auto;
        min-width: 86px;
        width: auto;
        white-space: normal;
    }
}

@media print {
    body {
        background: #ffffff;
    }

    .page-panel,
    .dashboard-panel,
    .report-section,
    .form-card,
    .settings-panel,
    .data-table {
        box-shadow: none;
    }
}

/* Stock Master V2 - Controle de Estoque. */
.stock-page {
    overflow: visible;
}

.stock-page .panel-header-row {
    margin-bottom: 2px;
}

.stock-filter-panel {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(180px, 240px) auto;
    gap: 12px;
    align-items: end;
    padding: 16px;
    margin-bottom: 18px;
}

.stock-filter-panel .search-input,
.stock-filter-panel .select-filter,
.stock-filter-panel .btn-secondary {
    min-height: 44px;
}

.stock-filter-panel .btn-secondary {
    min-width: 118px;
}

.stock-products-table {
    table-layout: auto;
}

.stock-products-table th,
.stock-products-table td {
    word-break: normal;
}

.stock-status-badge {
    min-width: 88px;
}

.stock-grid {
    grid-template-columns: minmax(300px, 380px) minmax(760px, 1fr);
    align-items: start;
    gap: 22px;
    margin-top: 22px;
}

.stock-panel {
    border: 1px solid var(--master-line, rgba(15, 23, 42, 0.10));
    border-radius: var(--master-radius, 8px);
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    box-shadow: var(--master-shadow-sm, 0 8px 18px rgba(15, 23, 42, 0.06));
}

.stock-panel .panel-section-header {
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.07);
}

.stock-panel .panel-section-header h3 {
    color: #0f172a;
    font-size: 1.08rem;
    font-weight: 900;
}

.stock-panel .panel-section-header p {
    color: var(--master-muted, #64748b);
}

.stock-entry-form {
    display: grid;
    gap: 14px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.stock-entry-form label {
    display: grid;
    gap: 7px;
}

.stock-entry-form select,
.stock-entry-form input,
.stock-entry-form textarea {
    width: 100%;
}

.stock-entry-form textarea {
    min-height: 96px;
    resize: vertical;
}

.stock-entry-form .btn-primary {
    width: 100%;
    min-height: 46px;
}

.stock-movements-panel {
    min-width: 0;
}

.stock-movements-scroll {
    max-width: 100%;
    overflow-x: auto !important;
    overflow-y: visible;
    scrollbar-width: thin;
}

.stock-movement-table {
    min-width: 820px;
    table-layout: auto !important;
}

.stock-movement-table th,
.stock-movement-table td {
    word-break: normal !important;
    overflow-wrap: normal !important;
    vertical-align: middle;
}

.stock-movement-table .stock-col-date {
    min-width: 128px;
    white-space: nowrap;
}

.stock-movement-table .stock-col-type {
    min-width: 92px;
    white-space: nowrap;
}

.stock-movement-table .stock-col-qty {
    min-width: 112px;
    text-align: right;
    white-space: nowrap;
}

.stock-movement-table .stock-col-user {
    min-width: 126px;
    white-space: nowrap;
}

.stock-movement-table .stock-col-product {
    min-width: 190px;
    white-space: normal;
    overflow-wrap: break-word !important;
}

.stock-movement-table .stock-col-reason {
    min-width: 170px;
    white-space: normal;
    overflow-wrap: break-word !important;
}

@media (max-width: 1500px) {
    .stock-grid {
        grid-template-columns: 1fr;
    }

    .stock-movements-panel {
        width: 100%;
    }
}

@media (max-width: 900px) {
    .stock-filter-panel {
        grid-template-columns: 1fr;
    }

    .stock-filter-panel .btn-secondary {
        width: 100%;
    }

    .stock-movement-table {
        min-width: 760px;
    }
}

@media (max-width: 768px) {
    .stock-page {
        overflow-x: hidden;
    }

    .stock-panel {
        padding: 16px;
    }

    .stock-movements-scroll {
        overflow-x: auto !important;
        margin-inline: -4px;
        padding-bottom: 4px;
    }

    .stock-movement-table,
    .stock-movement-table thead,
    .stock-movement-table tbody,
    .stock-movement-table tr,
    .stock-movement-table td {
        display: revert;
        width: auto;
    }

    .stock-movement-table thead {
        display: table-header-group;
    }

    .stock-movement-table tr {
        box-shadow: none;
    }

    .stock-movement-table td::before {
        display: none;
    }

    .stock-movement-table th {
        white-space: nowrap;
    }
}

/* Clientes: listagem, formularios, detalhes e historico. */
.clients-page {
    border-radius: 8px;
}

.clients-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 18px;
}

.clients-summary > div {
    display: grid;
    gap: 5px;
    padding: 14px 16px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 8px;
    background: #f8fafc;
}

.clients-summary span {
    color: #64748b;
    font-size: 0.82rem;
}

.clients-summary strong {
    color: #0f172a;
    font-size: 1.35rem;
}

.clients-filter-panel {
    display: grid;
    grid-template-columns: minmax(230px, 1.5fr) minmax(130px, 0.65fr) minmax(170px, 0.9fr) auto auto;
    align-items: end;
    gap: 10px;
    padding: 16px;
    margin-bottom: 12px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 8px;
    background: #f8fafc;
}

.clients-filter-panel label {
    display: grid;
    gap: 7px;
    min-width: 0;
    color: #334155;
    font-size: 0.86rem;
    font-weight: 700;
}

.clients-filter-panel input,
.clients-filter-panel select,
.clients-filter-panel .btn-secondary {
    min-height: 48px;
}

.clients-clear-filter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.clients-list-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 12px 0;
    color: #64748b;
    font-size: 0.88rem;
}

.clients-table .client-name,
.clients-table td small,
.clients-table td[data-label="Contato"] span,
.clients-table td[data-label="Histórico"] strong,
.clients-table td[data-label="Financeiro"] strong {
    display: block;
}

.clients-table td small {
    margin-top: 4px;
    color: #64748b;
    font-size: 0.76rem;
}

.clients-actions form {
    margin: 0;
}

.clients-actions button.link-button {
    padding: 0;
    border: 0;
    background: transparent;
    font: inherit;
    cursor: pointer;
}

.clients-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 18px;
}

.clients-pagination a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    min-height: 38px;
    padding: 7px 11px;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 6px;
    color: #334155;
    text-decoration: none;
    font-weight: 700;
}

.clients-pagination a.active {
    border-color: #2563eb;
    background: #2563eb;
    color: #ffffff;
}

.client-form {
    gap: 16px;
}

.client-form-section,
.client-detail-section,
.client-history-section {
    display: grid;
    gap: 16px;
    padding: 20px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 8px;
    background: #ffffff;
}

.client-form-heading {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.client-form-heading h3,
.client-form-heading p,
.client-detail-section h3,
.client-section-heading h3 {
    margin: 0;
}

.client-form-heading h3,
.client-detail-section h3,
.client-section-heading h3 {
    color: #0f172a;
    font-size: 1rem;
}

.client-form-heading p {
    margin-top: 4px;
    color: #64748b;
    font-size: 0.86rem;
}

.client-section-icon {
    display: inline-flex;
    flex: 0 0 32px;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 6px;
    background: #eff6ff;
    color: #1d4ed8;
    font-weight: 800;
}

.client-form-actions,
.client-show-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.client-detail-grid,
.client-history-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.client-history-grid {
    grid-template-columns: 1fr;
}

.client-detail-section dl {
    display: grid;
    gap: 0;
    margin: 0;
}

.client-detail-section dl > div {
    display: grid;
    grid-template-columns: minmax(140px, 0.8fr) minmax(0, 1.2fr);
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.client-detail-section dl > div:last-child {
    border-bottom: 0;
}

.client-detail-section dt {
    color: #64748b;
    font-size: 0.84rem;
}

.client-detail-section dd {
    min-width: 0;
    margin: 0;
    color: #0f172a;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.client-history-grid {
    margin-top: 14px;
    align-items: start;
}

@media (max-width: 1120px) {
    .clients-page .panel-header-row {
        align-items: stretch;
        flex-direction: column;
    }

    .clients-page .panel-header-row .btn-primary,
    .clients-page .panel-header-row .btn-secondary {
        width: 100%;
    }

    .clients-filter-panel {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .clients-filter-panel .btn-secondary {
        width: 100%;
    }

    .client-detail-grid,
    .client-history-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .clients-summary,
    .clients-filter-panel {
        grid-template-columns: 1fr;
    }

    .clients-list-meta,
    .client-form-actions,
    .client-show-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .client-form-actions .btn-primary,
    .client-form-actions .btn-secondary,
    .client-show-actions .btn-primary,
    .client-show-actions .btn-secondary {
        width: 100%;
    }

    .client-detail-section dl > div {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .clients-actions form,
    .clients-actions button.link-button {
        width: auto;
    }
}

/* Fornecedores: historico de compras e acoes responsivas. */
.sales-page {
    border-radius: 8px;
}

.sale-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 18px;
}

.sale-summary > div {
    display: grid;
    gap: 5px;
    padding: 14px 16px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 8px;
    background: #f8fafc;
}

.sale-summary span {
    color: #64748b;
    font-size: 0.82rem;
}

.sale-summary strong {
    color: #0f172a;
    font-size: 1.25rem;
}

.sale-filter-panel {
    display: grid;
    grid-template-columns: minmax(190px, 1.25fr) repeat(5, minmax(125px, 0.75fr)) auto auto;
    align-items: end;
    gap: 10px;
    padding: 16px;
    margin-bottom: 12px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 8px;
    background: #f8fafc;
}

.sale-filter-panel label,
.sale-void-form label {
    display: grid;
    gap: 7px;
    min-width: 0;
    color: #334155;
    font-size: 0.86rem;
    font-weight: 700;
}

.sale-filter-panel input,
.sale-filter-panel select,
.sale-filter-panel .btn-secondary {
    min-height: 46px;
}

.sales-table td strong,
.sales-table td small {
    display: block;
}

.sales-table td small {
    margin-top: 4px;
    color: #64748b;
    font-size: 0.75rem;
}

.sale-void-form {
    display: grid;
    gap: 12px;
    max-width: 640px;
    padding: 18px;
    margin-top: 16px;
    border: 1px solid rgba(220, 38, 38, 0.2);
    border-radius: 8px;
    background: #fff7f7;
}

.sale-void-form textarea {
    min-height: 90px;
}

@media (max-width: 1120px) {
    .sale-summary,
    .sale-filter-panel {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sale-filter-panel .btn-secondary {
        width: 100%;
    }
}

@media (max-width: 768px) {
    .sale-summary,
    .sale-filter-panel {
        grid-template-columns: 1fr;
    }

    .sale-void-form .btn-secondary {
        width: 100%;
    }
}

/* Fornecedores: historico de compras e acoes responsivas. */
.purchases-page {
    border-radius: 8px;
}

.purchase-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 18px;
}

.purchase-summary > div,
.purchase-total-card,
.purchase-finalize-card {
    display: grid;
    gap: 6px;
    padding: 16px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 8px;
    background: #f8fafc;
}

.purchase-summary span,
.purchase-total-card > span {
    color: #64748b;
    font-size: 0.82rem;
}

.purchase-summary strong {
    color: #0f172a;
    font-size: 1.25rem;
}

.purchase-filter-panel {
    display: grid;
    grid-template-columns: minmax(190px, 1.3fr) repeat(4, minmax(130px, 0.8fr)) auto auto;
    align-items: end;
    gap: 10px;
    padding: 16px;
    margin-bottom: 12px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 8px;
    background: #f8fafc;
}

.purchase-filter-panel label,
.purchase-item-form label,
.purchase-finalize-card label {
    display: grid;
    gap: 7px;
    min-width: 0;
    color: #334155;
    font-size: 0.86rem;
    font-weight: 700;
}

.purchase-filter-panel input,
.purchase-filter-panel select,
.purchase-filter-panel .btn-secondary,
.purchase-item-form input,
.purchase-item-form select {
    min-height: 46px;
}

.purchases-table td strong,
.purchases-table td small,
.purchase-items-table td strong,
.purchase-items-table td small {
    display: block;
}

.purchases-table td small,
.purchase-items-table td small {
    margin-top: 4px;
    color: #64748b;
    font-size: 0.75rem;
}

.purchase-actions form,
.purchase-items-table form {
    margin: 0;
}

.purchase-actions button.link-button,
.purchase-items-table button.link-button {
    padding: 0;
    border: 0;
    background: transparent;
    font: inherit;
    cursor: pointer;
}

.purchase-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
    gap: 16px;
    align-items: start;
}

.purchase-main-column,
.purchase-side-column {
    display: grid;
    gap: 16px;
    min-width: 0;
}

.purchase-item-form {
    display: grid;
    grid-template-columns: minmax(210px, 1.5fr) minmax(110px, 0.55fr) minmax(140px, 0.75fr) auto;
    align-items: end;
    gap: 10px;
}

.purchase-total-card {
    background: #ffffff;
}

.purchase-total-card > strong {
    color: #0f172a;
}

.purchase-total-card > div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding-top: 12px;
    margin-top: 6px;
    border-top: 1px solid rgba(15, 23, 42, 0.1);
    color: #0f172a;
    font-size: 1.05rem;
}

.purchase-finalize-card {
    background: #ffffff;
}

.purchase-finalize-card h3,
.purchase-finalize-card p {
    margin: 0;
}

.purchase-finalize-card p,
.purchase-finalize-card small,
.purchase-empty-note {
    color: #64748b;
    font-size: 0.82rem;
}

.purchase-finalize-card .btn-primary,
.purchase-cancel-button {
    width: 100%;
}

@media (max-width: 1120px) {
    .purchase-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .purchase-filter-panel {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .purchase-filter-panel .btn-secondary {
        width: 100%;
    }

    .purchase-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .purchase-summary,
    .purchase-filter-panel,
    .purchase-material-toolbar,
    .purchase-item-form {
        grid-template-columns: 1fr;
    }

    .purchase-item-form .btn-primary {
        width: 100%;
    }

    .purchase-total-card > div {
        align-items: flex-end;
        flex-direction: column;
    }

    .purchase-actions form,
    .purchase-actions button.link-button,
    .purchase-items-table form,
    .purchase-items-table button.link-button {
        width: auto;
    }
}

/* Compras Master V2 */
.purchases-master {
    border-radius: 8px;
}

.purchases-master .panel-header-row {
    gap: 14px;
}

.purchases-master .purchases-summary {
    grid-template-columns: repeat(4, minmax(150px, 1fr));
}

.purchases-master .purchase-summary > div,
.purchases-master .purchase-total-card,
.purchases-master .purchase-finalize-card,
.purchases-master .purchase-form-section,
.purchases-master .purchase-profile-card {
    border: 1px solid rgba(15, 23, 42, 0.10);
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}

.purchases-master .purchase-summary span {
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0;
}

.purchases-master .purchase-summary strong {
    font-size: 1.34rem;
    line-height: 1.15;
}

.purchases-master .purchase-filter-panel {
    grid-template-columns: minmax(220px, 1.4fr) minmax(130px, 0.8fr) repeat(2, minmax(140px, 0.8fr)) minmax(150px, 0.85fr) auto auto;
    border: 1px solid rgba(15, 23, 42, 0.10);
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}

.purchases-master .purchases-pagination-info {
    align-items: center;
    margin: 14px 0;
}

.purchases-master .purchases-table-wrap {
    overflow-x: auto;
}

.purchases-master .purchases-table,
.purchases-master .purchase-items-table {
    width: 100%;
    min-width: 980px;
    table-layout: auto;
}

.purchases-master .purchases-table th,
.purchases-master .purchases-table td,
.purchases-master .purchase-items-table th,
.purchases-master .purchase-items-table td {
    vertical-align: middle;
    word-break: normal;
    overflow-wrap: normal;
}

.purchases-master .purchases-table th,
.purchases-master .purchase-items-table th {
    white-space: nowrap;
}

.purchases-master .purchases-table th.actions-col,
.purchases-master .purchases-table td.purchase-actions,
.purchases-master .purchase-items-table th.actions-col,
.purchases-master .purchase-items-table td.purchase-actions {
    min-width: 210px;
    text-align: right;
    white-space: normal;
}

.purchases-master .purchases-table td[data-label="Data"],
.purchases-master .purchases-table td[data-label="Total"],
.purchases-master .purchase-items-table td[data-label="Quantidade"],
.purchases-master .purchase-items-table td[data-label="Custo unitário"],
.purchases-master .purchase-items-table td[data-label="Subtotal"] {
    white-space: nowrap;
}

.purchases-master .purchase-muted-badge {
    display: inline-flex;
    width: fit-content;
    padding: 3px 7px;
    border: 1px solid rgba(100, 116, 139, 0.18);
    border-radius: 999px;
    background: #f1f5f9;
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 800;
}

.purchases-master .purchases-actions-row,
.purchases-master .purchases-actions-row form {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin: 0;
}

.purchases-master .purchases-actions-row {
    flex-wrap: wrap;
    max-width: 100%;
}

.purchases-master .purchase-action-btn {
    flex: 0 0 auto;
    min-width: 78px;
    min-height: 34px;
    padding: 7px 10px;
    border-radius: 8px;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
}

.purchase-material-toolbar {
    display: grid;
    grid-template-columns: minmax(220px, 1.3fr) minmax(170px, 0.8fr) minmax(120px, 0.5fr);
    gap: 10px;
    margin-bottom: 12px;
}

.purchase-material-toolbar label {
    display: grid;
    gap: 6px;
    color: #475569;
    font-size: 0.78rem;
    font-weight: 800;
}

.purchase-material-picker {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 8px;
    max-height: 230px;
    margin-bottom: 14px;
    overflow: auto;
}

.purchase-material-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-height: 58px;
    padding: 9px 10px;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 8px;
    background: #ffffff;
    color: #0f172a;
    text-align: left;
    cursor: pointer;
}

.purchase-material-option:hover,
.purchase-material-option.is-selected {
    border-color: #2563eb;
    background: #eff6ff;
}

.purchase-material-option.is-recent {
    box-shadow: inset 3px 0 0 #16a34a;
}

.purchase-material-option strong,
.purchase-material-option small {
    display: block;
}

.purchase-material-option strong {
    font-size: 0.84rem;
}

.purchase-material-option small {
    color: #64748b;
    font-size: 0.72rem;
}

.purchase-unit-badge,
.purchase-pending-price {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 24px;
    padding: 3px 8px;
    border-radius: 999px;
    background: #e0f2fe;
    color: #075985;
    font-size: 0.72rem;
    font-style: normal;
    font-weight: 900;
}

.purchase-pending-price {
    background: #fff7ed;
    color: #9a3412;
}

.purchase-inline-price {
    display: grid;
    gap: 4px;
    min-width: 130px;
}

.purchase-inline-price span {
    color: #64748b;
    font-size: 0.7rem;
    font-weight: 800;
}

.purchase-inline-price input,
.purchase-inline-note {
    width: 100%;
    min-width: 110px;
    min-height: 34px;
    padding: 7px 8px;
    border: 1px solid rgba(15, 23, 42, 0.14);
    border-radius: 8px;
    background: #ffffff;
}

.purchase-weighing-form {
    grid-template-columns: minmax(210px, 1fr) repeat(3, minmax(120px, 0.7fr)) minmax(170px, 0.8fr) minmax(170px, 0.8fr) auto;
}

.purchase-weighing-form .hidden,
.purchase-material-option.hidden {
    display: none;
}

.unit-inline {
    color: #64748b;
    font-size: 0.76rem;
    font-weight: 800;
}

.purchase-calculation-box {
    display: grid;
    gap: 4px;
    align-self: stretch;
    min-width: 160px;
    padding: 10px 12px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 8px;
    background: #f8fafc;
}

.purchase-calculation-box span,
.purchase-calculation-box small {
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 800;
}

.purchase-calculation-box strong {
    color: #0f172a;
    font-size: 0.95rem;
}

.purchases-master button.purchase-action-btn {
    font: inherit;
    cursor: pointer;
}

.purchases-master .purchase-cancel-btn,
.purchases-master .purchase-delete-btn {
    border-color: rgba(220, 38, 38, 0.22);
    background: #fff1f2;
    color: #b91c1c;
}

.purchases-master .purchases-pagination {
    justify-content: center;
    margin-top: 18px;
}

.purchases-master .purchases-pagination .pagination-link,
.purchases-master .purchases-pagination .pagination-item {
    min-width: 38px;
    min-height: 38px;
    padding: 7px 11px;
    white-space: nowrap;
}

.purchases-master .purchases-pagination .pagination-disabled {
    color: #94a3b8;
    cursor: default;
}

.purchases-master .purchase-form,
.purchases-master .purchase-items-section {
    border-radius: 8px;
}

.purchases-master .purchase-form-section-title {
    margin-bottom: 14px;
}

.purchases-master .purchase-show-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

.purchases-master.purchase-detail-page {
    display: grid;
    gap: 18px;
}

.purchases-master .purchase-detail-header {
    align-items: flex-start;
    padding-bottom: 2px;
}

.purchases-master .purchase-back-button {
    position: relative;
    min-width: 104px;
    border-color: rgba(15, 23, 42, 0.14);
    background: #ffffff;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
    font-weight: 800;
}

.purchases-master .purchase-back-button::before {
    content: "<";
    margin-right: 7px;
    color: #64748b;
    font-weight: 900;
}

.purchases-master .purchase-detail-grid {
    gap: 16px;
}

.purchases-master .purchase-detail-card {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 20px;
    border-radius: 8px;
}

.purchases-master .purchase-card-heading {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.purchases-master .purchase-card-heading h3,
.purchases-master .purchase-section-header h3 {
    margin: 0;
    color: #0f172a;
    letter-spacing: 0;
}

.purchases-master .purchase-card-kicker {
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.purchases-master .purchase-detail-card dl,
.purchases-master .purchase-payable-card dl {
    display: grid;
    gap: 0;
    margin: 0;
}

.purchases-master .purchase-detail-card dl > div,
.purchases-master .purchase-payable-card dl > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 13px 0;
    border-top: 1px solid rgba(148, 163, 184, 0.18);
}

.purchases-master .purchase-detail-card dl > div:first-child,
.purchases-master .purchase-payable-card dl > div:first-child {
    border-top: 0;
    padding-top: 0;
}

.purchases-master .purchase-detail-card dt,
.purchases-master .purchase-payable-card dt {
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.purchases-master .purchase-detail-card dd,
.purchases-master .purchase-payable-card dd {
    margin: 0;
    color: #0f172a;
    font-weight: 800;
    text-align: right;
}

.purchases-master .purchase-total-highlight {
    margin: 4px -8px;
    padding: 15px 8px !important;
    border: 1px solid rgba(14, 165, 233, 0.18) !important;
    border-radius: 8px;
    background: #f0f9ff;
}

.purchases-master .purchase-total-highlight dt {
    color: #0369a1;
}

.purchases-master .purchase-total-highlight dd {
    color: #075985;
    font-size: 1.45rem;
    line-height: 1.1;
}

.purchases-master .purchase-sections-grid {
    display: grid;
    gap: 16px;
}

.purchases-master .purchase-section {
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}

.purchases-master .purchase-section-header {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    padding: 17px 18px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.18);
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.purchases-master .purchase-section-header p {
    margin: 3px 0 0;
    color: #64748b;
    font-size: 0.84rem;
}

.purchases-master .purchase-section-icon {
    display: inline-flex;
    flex: 0 0 34px;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(14, 165, 233, 0.20);
    border-radius: 8px;
    background: #f0f9ff;
    color: #0369a1;
    font-size: 0.76rem;
    font-weight: 900;
}

.purchases-master .purchase-detail-table-wrap {
    margin: 0;
    overflow-x: auto;
}

.purchases-master .purchase-detail-table {
    min-width: 760px;
}

.purchases-master .purchase-detail-table th,
.purchases-master .purchase-detail-table td {
    padding: 13px 16px;
    vertical-align: middle;
}

.purchases-master .purchase-detail-table th {
    background: #f8fafc;
    color: #475569;
    font-size: 0.74rem;
    letter-spacing: 0;
    text-transform: uppercase;
    white-space: nowrap;
}

.purchases-master .purchase-detail-table td[data-label="Quantidade"],
.purchases-master .purchase-detail-table td[data-label="Custo unitário"],
.purchases-master .purchase-detail-table td[data-label="Subtotal"],
.purchases-master .purchase-detail-table td[data-label="Data"] {
    white-space: nowrap;
}

.purchases-master .purchase-payable-section {
    padding-bottom: 18px;
}

.purchases-master .purchase-payable-card {
    margin: 18px;
    padding: 18px;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 8px;
    background: #f8fafc;
    box-shadow: none;
}

.purchases-master .purchase-payable-value {
    margin: 4px -8px;
    padding: 14px 8px !important;
    border: 1px solid rgba(22, 163, 74, 0.18) !important;
    border-radius: 8px;
    background: #f0fdf4;
}

.purchases-master .purchase-payable-value dt {
    color: #15803d;
}

.purchases-master .purchase-payable-value dd {
    color: #166534;
    font-size: 1.2rem;
}

.purchases-master .purchase-status-badge,
.purchases-master .purchase-payable-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 26px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 0.76rem;
    font-weight: 900;
    line-height: 1;
}

.purchases-master .purchase-payable-status {
    border: 1px solid rgba(22, 163, 74, 0.20);
    background: #dcfce7;
    color: #166534;
}

.purchases-master .purchase-payable-section .purchase-empty-note {
    margin: 18px;
    padding: 14px 16px;
    border: 1px dashed rgba(100, 116, 139, 0.26);
    border-radius: 8px;
    background: #f8fafc;
}

@media (max-width: 1280px) {
    .purchases-master .purchases-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .purchases-master .purchase-filter-panel {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .purchases-master .purchase-filter-panel .btn-secondary {
        width: 100%;
    }

    .purchases-master .purchases-table th.actions-col,
    .purchases-master .purchases-table td.purchase-actions,
    .purchases-master .purchase-items-table th.actions-col,
    .purchases-master .purchase-items-table td.purchase-actions {
        min-width: 190px;
    }
}

@media (max-width: 768px) {
    .purchases-master .panel-header-row {
        align-items: stretch;
    }

    .purchases-master .purchases-summary,
    .purchases-master .purchase-filter-panel {
        grid-template-columns: 1fr;
    }

    .purchases-master .purchases-pagination-info {
        align-items: flex-start;
        flex-direction: column;
    }

    .purchases-master .purchases-table,
    .purchases-master .purchase-items-table {
        min-width: 0;
    }

    .purchases-master .purchases-table th.actions-col,
    .purchases-master .purchases-table td.purchase-actions,
    .purchases-master .purchase-items-table th.actions-col,
    .purchases-master .purchase-items-table td.purchase-actions {
        min-width: 0;
        text-align: left;
    }

    .purchases-master .purchases-actions-row,
    .purchases-master .purchases-actions-row form {
        justify-content: stretch;
        width: 100%;
    }

    .purchases-master .purchase-action-btn {
        flex: 1 1 112px;
        min-width: 112px;
    }

    .purchases-master .purchases-pagination .pagination-link,
    .purchases-master .purchases-pagination .pagination-item {
        flex: 1 1 42px;
    }

    .purchases-master .purchase-show-actions,
    .purchases-master .client-form-actions {
        justify-content: stretch;
    }

    .purchases-master .purchase-show-actions a,
    .purchases-master .client-form-actions a,
    .purchases-master .client-form-actions button {
        width: 100%;
    }

    .purchases-master .purchase-detail-card,
    .purchases-master .purchase-section-header,
    .purchases-master .purchase-payable-card {
        padding: 16px;
    }

    .purchases-master .purchase-detail-card dl > div,
    .purchases-master .purchase-payable-card dl > div {
        align-items: flex-start;
        flex-direction: column;
        gap: 5px;
    }

    .purchases-master .purchase-detail-card dd,
    .purchases-master .purchase-payable-card dd {
        text-align: left;
    }

    .purchases-master .purchase-total-highlight dd {
        font-size: 1.25rem;
    }

    .purchases-master .purchase-detail-table {
        min-width: 0;
    }
}

/* Fornecedores: historico de compras e acoes responsivas. */
.suppliers-table td[data-label="Compras"] strong,
.suppliers-table td[data-label="Compras"] small {
    display: block;
}

.suppliers-table td[data-label="Compras"] small {
    margin-top: 4px;
    color: #64748b;
    font-size: 0.76rem;
}

.suppliers-actions form {
    margin: 0;
}

.suppliers-actions button.link-button {
    padding: 0;
    border: 0;
    background: transparent;
    font: inherit;
    cursor: pointer;
}

@media (max-width: 768px) {
    .suppliers-actions form,
    .suppliers-actions button.link-button {
        width: auto;
    }
}

/* Categorias: listagem, formularios e detalhes. */
.categories-page {
    border-radius: 8px;
}

.categories-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 18px;
}

.categories-summary > div {
    display: grid;
    gap: 5px;
    padding: 14px 16px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 8px;
    background: #f8fafc;
}

.categories-summary span {
    color: #64748b;
    font-size: 0.82rem;
}

.categories-summary strong {
    color: #0f172a;
    font-size: 1.35rem;
}

.categories-filter-panel {
    display: grid;
    grid-template-columns: minmax(260px, 1.8fr) minmax(150px, 0.7fr) auto auto;
    align-items: end;
    gap: 10px;
    padding: 16px;
    margin-bottom: 12px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 8px;
    background: #f8fafc;
}

.categories-filter-panel label {
    display: grid;
    gap: 7px;
    min-width: 0;
    color: #334155;
    font-size: 0.86rem;
    font-weight: 700;
}

.categories-filter-panel input,
.categories-filter-panel select,
.categories-filter-panel .btn-secondary {
    min-height: 48px;
}

.categories-clear-filter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.categories-list-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 12px 0;
    color: #64748b;
    font-size: 0.88rem;
}

.categories-table td[data-label="Produtos"] strong,
.categories-table td[data-label="Produtos"] small {
    display: block;
}

.categories-table td[data-label="Produtos"] small {
    margin-top: 3px;
    color: #64748b;
    font-size: 0.76rem;
}

.categories-actions form {
    margin: 0;
}

.categories-actions button.link-button {
    padding: 0;
    border: 0;
    background: transparent;
    font: inherit;
    cursor: pointer;
}

.category-linked-tag {
    color: #92400e;
    font-size: 0.78rem;
    font-weight: 700;
}

.categories-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 18px;
}

.categories-pagination a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    min-height: 38px;
    padding: 7px 11px;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 6px;
    color: #334155;
    text-decoration: none;
    font-weight: 700;
}

.categories-pagination a.active {
    border-color: #2563eb;
    background: #2563eb;
    color: #ffffff;
}

.category-form {
    gap: 16px;
}

.category-form-section,
.category-detail-section,
.category-products-section {
    display: grid;
    gap: 16px;
    padding: 20px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 8px;
    background: #ffffff;
}

.category-form-heading {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.category-form-heading h3,
.category-form-heading p,
.category-detail-section h3,
.category-detail-section p,
.category-section-heading h3,
.category-section-heading p {
    margin: 0;
}

.category-form-heading h3,
.category-detail-section h3,
.category-section-heading h3 {
    color: #0f172a;
    font-size: 1rem;
}

.category-form-heading p,
.category-section-heading p {
    margin-top: 4px;
    color: #64748b;
    font-size: 0.86rem;
}

.category-section-icon {
    display: inline-flex;
    flex: 0 0 32px;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 6px;
    background: #eff6ff;
    color: #1d4ed8;
    font-weight: 800;
}

.category-form-actions,
.category-show-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.category-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.category-detail-section dl {
    display: grid;
    gap: 0;
    margin: 0;
}

.category-detail-section dl > div {
    display: grid;
    grid-template-columns: minmax(130px, 0.8fr) minmax(0, 1.2fr);
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.category-detail-section dl > div:last-child {
    border-bottom: 0;
}

.category-detail-section dt {
    color: #64748b;
    font-size: 0.84rem;
}

.category-detail-section dd {
    margin: 0;
    color: #0f172a;
    font-weight: 700;
}

.category-products-section {
    margin-top: 14px;
}

@media (max-width: 1120px) {
    .categories-page .panel-header-row {
        align-items: stretch;
        flex-direction: column;
    }

    .categories-page .panel-header-row .btn-primary,
    .categories-page .panel-header-row .btn-secondary {
        width: 100%;
    }

    .categories-filter-panel {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .categories-filter-panel .btn-secondary {
        width: 100%;
    }
}

@media (max-width: 768px) {
    .categories-summary,
    .categories-filter-panel,
    .category-detail-grid {
        grid-template-columns: 1fr;
    }

    .categories-list-meta,
    .category-form-actions,
    .category-show-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .category-form-actions .btn-primary,
    .category-form-actions .btn-secondary,
    .category-show-actions .btn-primary,
    .category-show-actions .btn-secondary {
        width: 100%;
    }

    .category-detail-section dl > div {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .categories-actions form,
    .categories-actions button.link-button {
        width: auto;
    }
}

textarea {
    resize: vertical;
}

.settings-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.8fr) minmax(320px, 1fr);
    gap: 24px;
    max-width: 100%;
}

.settings-aside {
    display: grid;
    gap: 24px;
}

.settings-panel {
    background: #ffffff;
    border-radius: 24px;
    padding: 24px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 18px 30px rgba(15, 23, 42, 0.06);
}

.logo-preview {
    width: 100%;
    max-height: 240px;
    object-fit: contain;
    border-radius: 20px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: #f8fafc;
    padding: 20px;
}

.empty-logo {
    display: grid;
    place-items: center;
    min-height: 240px;
    color: #64748b;
    background: #f8fafc;
    border: 1px dashed rgba(100, 116, 139, 0.35);
    border-radius: 20px;
    text-align: center;
    padding: 24px;
}

.required {
    color: #dc2626;
    margin-left: 4px;
}

.alert-success {
    margin-bottom: 18px;
    padding: 16px 20px;
    border-radius: 18px;
    background: #ecfdf5;
    color: #166534;
    border: 1px solid #bbf7d0;
}

.alert-error {
    margin-bottom: 18px;
    padding: 16px 20px;
    border-radius: 18px;
    background: #fee2e2;
    color: #991b1b;
    border: 1px solid #fecaca;
}

.alert-info {
    margin-bottom: 18px;
    padding: 16px 20px;
    border-radius: 18px;
    background: #eff6ff;
    color: #1e40af;
    border: 1px solid #bfdbfe;
}

.alert-warning {
    margin-bottom: 18px;
    padding: 16px 20px;
    border-radius: 18px;
    background: #fffbeb;
    color: #92400e;
    border: 1px solid #fde68a;
}

.actions-row,
.form-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.commercial-quote-form-page .commercial-quote-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 12px;
    padding-top: 6px;
}

.commercial-quote-form-page .commercial-quote-actions .btn-primary,
.commercial-quote-form-page .commercial-quote-actions .btn-success,
.commercial-quote-form-page .commercial-quote-actions .btn-danger {
    min-height: 48px;
    padding: 14px 18px;
    border: 0;
    cursor: pointer;
}

.commercial-quote-form-page .commercial-quote-actions .btn-primary {
    min-width: 180px;
}

.commercial-quote-form-page .commercial-quote-actions .btn-success,
.commercial-quote-form-page .commercial-quote-actions .btn-danger {
    min-width: 150px;
}

.commercial-quotes-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.commercial-quotes-actions form {
    margin: 0;
}

.commercial-quotes-actions .link-button,
.commercial-quotes-actions .btn-danger {
    min-height: 40px;
    padding: 10px 14px;
}

.commercial-supplier-quotes-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.commercial-supplier-quotes-actions form {
    margin: 0;
}

.commercial-supplier-quotes-actions .link-button,
.commercial-supplier-quotes-actions .btn-danger {
    min-height: 40px;
    padding: 10px 14px;
}

.actions-row .btn-primary,
.actions-row .btn-secondary,
.form-actions .btn-primary,
.form-actions .btn-secondary,
.panel-header-row .btn-primary,
.panel-header-row .btn-secondary {
    width: auto;
    margin-top: 0;
}

.btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 14px 18px;
    border-radius: 14px;
    background: #f8fafc;
    color: #1f2937;
    border: 1px solid rgba(15, 23, 42, 0.13);
    text-decoration: none;
    font-weight: 700;
    cursor: pointer;
}

.btn-secondary:hover {
    background: #eef2f7;
}

.btn-primary.btn-disabled,
.btn-primary.btn-disabled:hover,
.btn-secondary.btn-disabled,
.btn-secondary.btn-disabled:hover,
.btn-disabled,
.btn-disabled:hover {
    background: #e5e7eb !important;
    color: #64748b !important;
    border: 1px solid rgba(100, 116, 139, 0.35) !important;
    cursor: not-allowed !important;
    opacity: 0.75;
    pointer-events: none;
    box-shadow: none;
    text-decoration: none;
}

.form-panel {
    display: grid;
    gap: 20px;
}

.form-panel label {
    display: grid;
    gap: 10px;
}

.cashier-card,
.cashier-summary,
.cashier-notes {
    display: grid;
    gap: 14px;
    margin-bottom: 22px;
    padding: 20px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 18px;
    background: #ffffff;
}

.cashier-status {
    width: fit-content;
    padding: 8px 12px;
    border-radius: 999px;
    font-weight: 700;
    font-size: 0.9rem;
}

.cashier-status-open {
    background: #ecfdf5;
    color: #166534;
}

.cashier-details {
    display: grid;
    gap: 10px;
    color: #334155;
}

.cashier-summary-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.cashier-summary-row:last-child {
    padding-bottom: 0;
    border-bottom: none;
}

.cashier-summary-total {
    font-size: 1.05rem;
    color: #0f172a;
}

.checkbox-label {
    display: flex !important;
    align-items: center;
    gap: 10px;
    padding-top: 28px;
}

.checkbox-label input {
    width: auto;
}

.cashier-notes p {
    margin: 0;
    line-height: 1.6;
}

.dashboard-topcards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 20px;
    max-width: 100%;
}

.indicator-card {
    background: #ffffff;
    border-radius: 24px;
    padding: 28px;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
    border: 1px solid rgba(15, 23, 42, 0.05);
    min-width: 0;
}

.indicator-title {
    font-size: 0.95rem;
    color: #64748b;
    margin-bottom: 14px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.indicator-value {
    font-size: 2rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 10px;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.indicator-meta {
    color: #64748b;
    font-size: 0.95rem;
    line-height: 1.6;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.dashboard-shortcuts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 20px;
    max-width: 100%;
}

.shortcut-card {
    background: #ffffff;
    border-radius: 24px;
    padding: 28px;
    border: 1px solid rgba(15, 23, 42, 0.05);
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.06);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 20px;
}

.shortcut-card h3 {
    margin: 0;
    font-size: 1.05rem;
}

.shortcut-card p {
    margin: 0;
    color: #475569;
    line-height: 1.7;
}

.dashboard-panel {
    background: #ffffff;
    border-radius: 24px;
    padding: 28px;
    border: 1px solid rgba(15, 23, 42, 0.05);
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.06);
    min-width: 0;
}

.dashboard-visuals {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-top: 20px;
}

.chart-card {
    background: #ffffff;
    border-radius: 24px;
    padding: 24px;
    border: 1px solid rgba(15, 23, 42, 0.05);
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.06);
    min-height: 320px;
    display: flex;
    flex-direction: column;
}

.chart-card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 18px;
}

.chart-card-header h3 {
    margin: 0;
    font-size: 1.05rem;
}

.chart-card-header p {
    margin: 0;
    color: #64748b;
    font-size: 0.95rem;
    line-height: 1.5;
}

.chart-wrapper {
    flex: 1;
    min-height: 240px;
    position: relative;
}

.chart-wrapper canvas {
    width: 100% !important;
    height: 100% !important;
}

.chart-empty {
    flex: 1;
    display: grid;
    place-items: center;
    text-align: center;
    color: #475569;
    border: 1px dashed rgba(100, 116, 139, 0.35);
    border-radius: 20px;
    background: #f8fafc;
    padding: 24px;
}

.cashier-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
    margin-top: 10px;
}

.cashier-card-item {
    background: #f8fafc;
    border-radius: 20px;
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    border: 1px solid rgba(15, 23, 42, 0.05);
    min-width: 0;
}

.cashier-card-item span {
    color: #64748b;
    font-size: 0.95rem;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.cashier-card-item strong {
    color: #0f172a;
    font-size: 1.25rem;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.pdv-grid,
.stock-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    gap: 20px;
    max-width: 100%;
    min-width: 0;
}

.pdv-panel,
.stock-panel {
    display: grid;
    gap: 18px;
    align-content: start;
    padding: 20px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 18px;
    background: #ffffff;
}

.panel-section-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
    max-width: 100%;
    min-width: 0;
}

.panel-section-header h3,
.panel-section-header p {
    margin: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.panel-section-header h3 {
    color: #0f172a;
    font-size: 1.05rem;
}

.panel-section-header p {
    color: #64748b;
    line-height: 1.5;
}

.cart-area,
.cart-summary,
.cart-totals,
.cart-actions,
.empty-state {
    max-width: 100%;
    min-width: 0;
}

.cart-summary {
    display: grid;
    gap: 16px;
}

.cart-summary label,
#cash-fields,
#credit-fields {
    display: grid;
    gap: 10px;
}

.cart-totals {
    display: grid;
    gap: 10px;
    padding: 14px;
    border-radius: 16px;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.cart-total-row,
.cashier-summary-row {
    min-width: 0;
}

.cart-total-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.cart-total-row span,
.cart-total-row strong,
.cashier-summary-row span,
.cashier-summary-row strong {
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.total-final {
    font-size: 1.08rem;
    color: #0f172a;
}

.empty-state {
    display: grid;
    place-items: center;
    text-align: center;
    color: #475569;
    border: 1px dashed rgba(100, 116, 139, 0.35);
    border-radius: 18px;
    background: #f8fafc;
    padding: 24px;
}

.hidden {
    display: none !important;
}

.select-filter {
    min-width: 180px;
}

h1,
h2,
h3,
p,
label,
.topbar-subtitle,
.topbar-user,
.page-label,
.helper-text,
.shortcut-card,
.dashboard-panel,
.page-panel,
.settings-panel,
.cashier-card,
.cashier-details,
.cashier-notes,
.panel-header,
.panel-header-row,
.panel-body,
.link-button,
.btn-primary,
.btn-secondary,
.btn-logout {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.fiscal-item-card {
    display: grid;
    gap: 16px;
    padding: 18px;
    margin-top: 16px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 18px;
    background: #f8fafc;
}

.fiscal-item-card:first-child {
    margin-top: 0;
}

.panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px;
}

.panel-header h2 {
    margin: 0;
    font-size: 1.35rem;
}

.panel-header p {
    margin: 0;
    color: #64748b;
}

.panel-body.empty-state {
    min-height: 190px;
    display: grid;
    place-items: center;
    text-align: center;
    color: #475569;
    border: 1px dashed rgba(100, 116, 139, 0.35);
    border-radius: 20px;
    padding: 28px;
    background: #f8fafc;
}

.panel-body.empty-state strong {
    display: block;
    margin-bottom: 10px;
    font-size: 1.05rem;
    color: #0f172a;
}

.app-footer {
    margin-top: 40px;
    color: #64748b;
    font-size: 0.95rem;
    text-align: center;
}

@media (max-width: 1120px) {
    .dashboard-topcards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dashboard-shortcuts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .report-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    body.sidebar-open {
        overflow: hidden;
    }

    body.sidebar-open .mobile-menu-toggle {
        display: none;
    }

    .app-shell {
        display: block;
        width: 100%;
    }

    .mobile-menu-toggle {
        position: fixed;
        top: 8px;
        left: 16px;
        right: 16px;
        z-index: 1100;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        width: auto;
        min-height: 46px;
        margin: 0;
        padding: 12px 16px;
        border: 1px solid rgba(15, 23, 42, 0.12);
        border-radius: 14px;
        background: #0f172a;
        color: #ffffff;
        font-weight: 700;
        cursor: pointer;
        box-shadow: 0 12px 28px rgba(15, 23, 42, 0.18);
    }

    .sidebar {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 1200;
        width: min(300px, 86vw);
        max-width: 86vw;
        height: 100vh;
        min-height: 100vh;
        max-height: 100vh;
        padding: 24px 16px;
        transform: translateX(-105%);
        transition: transform 0.25s ease;
    }

    body.sidebar-open .sidebar {
        transform: translateX(0);
    }

    .sidebar-backdrop {
        position: fixed;
        inset: 0;
        z-index: 1150;
        background: rgba(15, 23, 42, 0.42);
    }

    body.sidebar-open .sidebar-backdrop {
        display: block;
    }

    .main-area {
        margin-left: 0;
        width: 100%;
        max-width: 100%;
        padding: 76px 14px 24px;
    }

    .topbar,
    .topbar-info,
    .panel-header,
    .panel-header-row {
        align-items: stretch;
        flex-direction: column;
    }

    .topbar {
        gap: 14px;
    }

    .topbar-user {
        flex-wrap: wrap;
    }

    .btn-logout,
    .btn-primary,
    .btn-secondary,
    .panel-header a,
    .panel-header button,
    .panel-section-header a,
    .panel-section-header button,
    .actions-row .btn-primary,
    .actions-row .btn-secondary,
    .form-actions .btn-primary,
    .form-actions .btn-secondary,
    .search-panel .btn-primary,
    .search-panel .btn-secondary,
    .report-filter-panel .btn-primary,
    .report-filter-panel .btn-secondary,
    .cart-actions .btn-primary,
    .cart-actions .btn-secondary {
        width: 100%;
        margin-top: 0;
    }

    .page-panel,
    .dashboard-panel,
    .indicator-card,
    .shortcut-card,
    .chart-card,
    .settings-panel,
    .pdv-panel,
    .stock-panel,
    .cashier-card,
    .cashier-summary,
    .cashier-notes {
        border-radius: 18px;
        padding: 18px;
    }

    .dashboard-topcards,
    .dashboard-shortcuts,
    .dashboard-visuals,
    .cashier-card-grid,
    .form-grid,
    .report-grid,
    .settings-grid,
    .pdv-grid,
    .stock-grid {
        grid-template-columns: 1fr;
    }

    .search-panel,
    .report-filter-panel,
    .actions-row,
    .form-actions,
    .commercial-quote-form-page .commercial-quote-actions,
    .action-column,
    .panel-section-header,
    .chart-card-header,
    .cart-total-row,
    .cashier-summary-row {
        align-items: stretch;
        flex-direction: column;
    }

    .search-input,
    .select-filter,
    .report-filter-panel label,
    .report-filter-panel .btn-secondary,
    .report-filter-panel .btn-primary,
    .commercial-quote-form-page .commercial-quote-actions .btn-primary,
    .commercial-quote-form-page .commercial-quote-actions .btn-success,
    .commercial-quote-form-page .commercial-quote-actions .btn-danger {
        width: 100%;
        min-width: 0;
    }

    .data-table {
        min-width: 0;
    }

    .commercial-quotes-page .table-responsive {
        overflow-x: hidden;
    }

    .commercial-quotes-page .data-table,
    .commercial-quotes-page .data-table thead,
    .commercial-quotes-page .data-table tbody,
    .commercial-quotes-page .data-table tr,
    .commercial-quotes-page .data-table th,
    .commercial-quotes-page .data-table td {
        display: block;
        width: 100%;
    }

    .commercial-quotes-page .data-table thead {
        display: none;
    }

    .commercial-quotes-page .data-table tr {
        margin-bottom: 12px;
        padding: 12px;
        border: 1px solid rgba(15, 23, 42, 0.10);
        border-radius: 14px;
        background: #ffffff;
    }

    .commercial-quotes-page .data-table td {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 12px;
        padding: 8px 0;
        border: 0;
        text-align: right;
    }

    .commercial-quotes-page .data-table td::before {
        content: attr(data-label);
        flex: 0 0 auto;
        color: #64748b;
        font-weight: 800;
        text-align: left;
    }

    .commercial-quotes-page .commercial-quotes-actions {
        justify-content: flex-end;
    }

    .table-responsive {
        overflow-x: visible;
    }

    .table-responsive table,
    .table-responsive thead,
    .table-responsive tbody,
    .table-responsive th,
    .table-responsive td,
    .table-responsive tr {
        display: block;
    }

    .table-responsive thead {
        display: none;
    }

    .table-responsive tbody {
        display: grid;
        gap: 14px;
    }

    .table-responsive tr {
        width: 100%;
        margin: 0;
        padding: 14px;
        border: 1px solid #e5e7eb;
        border-radius: 16px;
        background: #ffffff;
        box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
    }

    .table-responsive tr:hover {
        background: #ffffff;
    }

    .table-responsive td {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 12px;
        width: 100%;
        padding: 9px 0;
        border-bottom: 1px solid #eef2f7;
        text-align: right;
        white-space: normal;
        word-break: normal;
        overflow-wrap: break-word;
    }

    .table-responsive td:last-child {
        border-bottom: none;
        padding-bottom: 0;
    }

    .table-responsive td::before {
        content: attr(data-label);
        flex: 0 0 116px;
        max-width: 46%;
        min-width: 100px;
        text-align: left;
        font-weight: 700;
        color: #64748b;
        word-break: normal;
        overflow-wrap: break-word;
    }

    .table-responsive td:empty::before,
    .table-responsive td.empty-row::before {
        content: none;
    }

    .table-responsive .empty-row {
        display: block;
        text-align: center;
        padding: 14px 0;
    }

    .table-responsive .action-column {
        align-items: flex-end;
        flex-direction: column;
    }

    .table-responsive td input,
    .table-responsive td select,
    .table-responsive td button {
        max-width: 100%;
    }

    .table-responsive td input[type="number"],
    .table-responsive td input[type="date"] {
        width: min(170px, 100%);
    }

    .table-responsive .status-pill {
        justify-content: center;
        text-align: center;
    }

    .table-responsive .btn-primary,
    .table-responsive .btn-secondary {
        width: auto;
        min-width: 120px;
    }

    .topbar-info h1 {
        font-size: 1.45rem;
    }

    .panel-header h2,
    .panel-header-row h2 {
        font-size: 1.2rem;
    }

    .indicator-value {
        font-size: 1.45rem;
    }

    .dashboard-content {
        gap: 18px;
    }

    .report-section {
        margin-top: 18px;
        padding-top: 18px;
    }

    .cart-totals,
    .empty-state {
        padding: 14px;
    }

    .app-footer {
        margin-top: 28px;
    }
}

@media (max-width: 640px) {
    .dashboard-topcards,
    .dashboard-shortcuts {
        grid-template-columns: 1fr;
    }

    .sidebar {
        padding: 24px 16px;
    }

    .btn-logout {
        width: 100%;
    }

    .report-filter-panel {
        align-items: stretch;
    }

    .report-filter-panel label,
    .report-filter-panel .btn-secondary {
        width: 100%;
    }
}

/* Ajustes globais de responsividade para tabelas e area principal. */
.main-area {
    width: auto;
    max-width: none;
    min-width: 0;
}

.page-panel,
.dashboard-content,
.panel-body,
.table-responsive {
    min-width: 0;
}

.table-responsive {
    display: block;
    overflow-x: auto !important;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
}

.table-responsive table,
.data-table {
    width: max-content;
    min-width: 100%;
}

table:not(.data-table) {
    max-width: 100%;
    overflow-x: auto;
}

table th,
table td,
.data-table th,
.data-table td {
    white-space: nowrap;
    word-break: normal;
    overflow-wrap: normal;
}

.action-column,
.actions-row,
td:last-child {
    white-space: nowrap;
}

.action-column {
    min-width: max-content;
}

.link-button,
.btn-primary,
.btn-secondary,
.btn-logout,
.action-column a,
.action-column button,
.actions-row a,
.actions-row button {
    white-space: nowrap;
    word-break: normal;
    overflow-wrap: normal;
}

@media (max-width: 768px) {
    .app-shell {
        overflow-x: hidden;
    }

    .sidebar {
        width: min(280px, 86vw);
        max-width: 86vw;
    }

    .main-area {
        margin-left: 0;
        width: 100%;
        max-width: 100%;
        padding: 72px 16px 24px;
    }

    .page-panel {
        padding: 20px 16px;
    }

    .table-responsive {
        overflow-x: auto !important;
    }

    .table-responsive table,
    .table-responsive thead,
    .table-responsive tbody,
    .table-responsive th,
    .table-responsive td,
    .table-responsive tr {
        display: revert;
    }

    .table-responsive thead {
        display: table-header-group;
    }

    .table-responsive tbody {
        display: table-row-group;
    }

    .table-responsive tr {
        display: table-row;
        width: auto;
        padding: 0;
        box-shadow: none;
        border: 0;
        border-radius: 0;
    }

    .table-responsive th,
    .table-responsive td {
        display: table-cell;
        width: auto;
        padding: 12px 14px;
    }

    .table-responsive td::before {
        content: none;
    }

    .table-responsive .action-column {
        display: table-cell;
    }

    .table-responsive .btn-primary,
    .table-responsive .btn-secondary,
    .table-responsive .link-button {
        width: auto;
        min-width: max-content;
    }
}

@media (min-width: 769px) {
    .data-table th,
    .data-table td {
        font-size: 0.9rem;
    }

    .data-table th {
        font-size: 0.855rem;
    }

    .data-table .action-column {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
        line-height: 1.2;
    }
}

/* Dashboard: hierarchy, compact cards and responsive tables. */
.dashboard-audit {
    gap: 22px;
}

.dashboard-audit .dashboard-panel,
.dashboard-audit .indicator-card,
.dashboard-audit .shortcut-card,
.dashboard-audit .cashier-card-item {
    border-radius: 8px;
}

.dashboard-audit .dashboard-panel {
    padding: 24px;
}

.dashboard-filter-panel {
    display: grid;
    gap: 20px;
}

.dashboard-title-row {
    align-items: center;
}

.dashboard-title-row h2,
.dashboard-section-heading h2 {
    margin: 0;
    color: #0f172a;
    font-size: 1.25rem;
}

.dashboard-title-row p,
.dashboard-section-heading p {
    margin: 5px 0 0;
    color: #64748b;
    line-height: 1.5;
}

.dashboard-period-badge,
.dashboard-count-badge {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 8px 12px;
    border: 1px solid rgba(37, 99, 235, 0.18);
    border-radius: 6px;
    background: #eff6ff;
    color: #1e40af;
    font-size: 0.88rem;
    font-weight: 700;
    white-space: nowrap;
}

.dashboard-filter-form {
    display: grid;
    grid-template-columns: minmax(160px, 0.9fr) repeat(2, minmax(160px, 1fr)) auto;
    align-items: end;
    gap: 12px;
    margin: 0;
}

.dashboard-filter-form label {
    min-width: 0;
}

.dashboard-filter-form select,
.dashboard-filter-form input {
    width: 100%;
}

.dashboard-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
}

.dashboard-section-heading.compact {
    margin-bottom: 12px;
}

.dashboard-shortcuts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.dashboard-audit .shortcut-card {
    gap: 14px;
    padding: 18px;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
}

.shortcut-card-heading {
    display: flex;
    align-items: center;
    gap: 10px;
}

.shortcut-card-heading h3 {
    min-width: 0;
}

.shortcut-icon {
    display: inline-flex;
    flex: 0 0 34px;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(37, 99, 235, 0.16);
    border-radius: 6px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: 1rem;
    font-weight: 800;
}

.dashboard-audit .shortcut-card .btn-secondary {
    width: 100%;
    margin-top: auto;
}

.dashboard-primary-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.dashboard-secondary-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.dashboard-audit .indicator-card {
    position: relative;
    min-height: 134px;
    padding: 18px;
    border-left: 4px solid #cbd5e1;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
}

.dashboard-audit .indicator-card-primary {
    border-left-color: #2563eb;
}

.dashboard-audit .indicator-card-success {
    border-left-color: #16a34a;
}

.dashboard-audit .indicator-card-warning {
    border-left-color: #d97706;
}

.dashboard-audit .indicator-card-neutral {
    border-left-color: #475569;
}

.dashboard-audit .indicator-title {
    margin-bottom: 8px;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
}

.dashboard-audit .indicator-value {
    margin-bottom: 7px;
    font-size: clamp(1.3rem, 2vw, 1.75rem);
    line-height: 1.15;
}

.dashboard-audit .indicator-meta {
    font-size: 0.82rem;
    line-height: 1.4;
}

.dashboard-financial-groups {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.dashboard-indicator-group {
    min-width: 0;
}

.dashboard-audit .cashier-card-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.dashboard-audit .cashier-card-item {
    padding: 14px;
    gap: 7px;
}

.dashboard-audit .cashier-card-item strong {
    font-size: 1.08rem;
}

.dashboard-lists-grid {
    align-items: start;
}

.dashboard-audit .dashboard-table .status-pill {
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 0.78rem;
}

.dashboard-audit .status-pill.neutral {
    background: #f1f5f9;
    color: #475569;
}

.dashboard-audit .status-pill.danger {
    background: #fee2e2;
    color: #991b1b;
}

@media (max-width: 1120px) {
    .topbar {
        flex-wrap: wrap;
    }

    .topbar-info {
        flex: 1 1 100%;
    }

    .topbar-info h1 {
        white-space: nowrap;
    }

    .dashboard-filter-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dashboard-filter-form .btn-secondary {
        width: 100%;
    }

    .dashboard-shortcuts,
    .dashboard-primary-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dashboard-financial-groups {
        grid-template-columns: 1fr;
    }

    .dashboard-audit .cashier-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .dashboard-audit {
        gap: 18px;
    }

    .dashboard-audit .dashboard-panel {
        padding: 18px;
    }

    .dashboard-title-row {
        align-items: stretch;
    }

    .dashboard-period-badge,
    .dashboard-count-badge {
        width: 100%;
        justify-content: center;
        white-space: normal;
        text-align: center;
    }

    .dashboard-filter-form,
    .dashboard-shortcuts,
    .dashboard-primary-kpis,
    .dashboard-secondary-kpis,
    .dashboard-audit .cashier-card-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-section-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .dashboard-audit .indicator-card {
        min-height: 0;
    }

    .dashboard-audit .dashboard-table td::before {
        min-width: 100px;
    }
}

@media (max-width: 768px) {
    .table-responsive {
        overflow-x: visible !important;
        overflow-y: visible;
    }

    .table-responsive .data-table,
    .table-responsive table {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .table-responsive thead {
        display: none;
    }

    .table-responsive tbody {
        display: grid;
        width: 100%;
        gap: 14px;
    }

    .table-responsive tr {
        display: block;
        width: 100%;
        padding: 14px;
        border: 1px solid rgba(15, 23, 42, 0.08);
        border-radius: 14px;
        background: #ffffff;
        box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
    }

    .table-responsive th,
    .table-responsive td {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 14px;
        width: 100%;
        padding: 9px 0;
        border-bottom: 1px solid rgba(15, 23, 42, 0.08);
        white-space: normal;
        word-break: normal;
        overflow-wrap: anywhere;
        text-align: right;
    }

    .table-responsive td:last-child {
        border-bottom: 0;
        padding-bottom: 0;
        white-space: normal;
    }

    .table-responsive td::before {
        content: attr(data-label);
        flex: 0 0 112px;
        max-width: 44%;
        color: #64748b;
        font-weight: 700;
        text-align: left;
        white-space: normal;
    }

    .table-responsive td:empty::before,
    .table-responsive td.empty-row::before {
        content: none;
    }

    .table-responsive .empty-row {
        display: block;
        text-align: center;
        padding: 14px 0;
    }

    .table-responsive .action-column {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        gap: 8px;
        min-width: 0;
    }

    .table-responsive .action-column::before {
        align-self: flex-start;
    }

    .table-responsive .action-column .link-button,
    .table-responsive .action-column a,
    .table-responsive .action-column button {
        width: auto;
        min-width: 0;
        white-space: nowrap;
        text-align: right;
    }

    .table-responsive .status-pill {
        justify-content: center;
        text-align: center;
        white-space: nowrap;
    }
}

@media (min-width: 769px) {
    .page-panel {
        overflow: hidden;
    }

    .table-responsive {
        overflow-x: visible !important;
        overflow-y: visible;
        max-width: 100%;
    }

    .table-responsive table,
    .data-table {
        width: 100%;
        min-width: 0;
        table-layout: fixed;
    }

    .data-table th,
    .data-table td {
        padding: 10px 11px;
        font-size: 0.82rem;
        line-height: 1.3;
        white-space: normal;
        word-break: normal;
        overflow-wrap: anywhere;
        vertical-align: top;
    }

    .data-table th {
        font-size: 0.78rem;
        line-height: 1.2;
    }

    .data-table td[data-label="SKU"],
    .data-table td[data-label="Telefone"],
    .data-table td[data-label="CPF/CNPJ"],
    .data-table td[data-label="Preco venda"],
    .data-table td[data-label="PreÃ§o venda"],
    .data-table td[data-label="Estoque atual"],
    .data-table td[data-label="Reservado"],
    .data-table td[data-label="Disponivel"],
    .data-table td[data-label="DisponÃ­vel"],
    .data-table td[data-label="Saldo devedor"],
    .data-table td[data-label="Fiados em aberto"],
    .data-table td[data-label="Status"],
    .data-table td[data-label="AÃ§Ãµes"],
    .data-table td[data-label="Ações"] {
        white-space: nowrap;
        overflow-wrap: normal;
    }

    .data-table .status-pill,
    .data-table .tag-inactive,
    .data-table .link-button {
        white-space: nowrap;
    }

    .data-table .action-column {
        min-width: 0;
        gap: 6px;
    }
}
/* Financeiro auditado */
.financial-page { display: grid; gap: 24px; }
.financial-premium { scroll-behavior: smooth; }
.financial-hero { align-items: flex-start; }
.financial-cards { margin: 0; }
.financial-summary { display: grid; gap: 16px; }
.financial-tabs { display: flex; flex-wrap: wrap; gap: 8px; padding: 10px; border: 1px solid rgba(15, 23, 42, 0.10); border-radius: 8px; background: #f8fafc; }
.financial-tabs a { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; padding: 8px 12px; border: 1px solid rgba(15, 23, 42, 0.10); border-radius: 8px; background: #fff; color: #334155; font-weight: 800; text-decoration: none; }
.financial-tabs a:hover { border-color: rgba(37, 99, 235, 0.28); background: #eff6ff; color: #1d4ed8; text-decoration: none; }
.financial-flow-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.financial-flow-card { display: grid; gap: 6px; padding: 16px; border: 1px solid rgba(15, 23, 42, 0.10); border-radius: 8px; background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%); }
.financial-flow-card span { color: #64748b; font-size: 0.82rem; font-weight: 800; text-transform: uppercase; }
.financial-flow-card strong { color: #0f172a; font-size: 1.35rem; line-height: 1.15; }
.financial-flow-card small { color: #64748b; font-weight: 700; }
.financial-section { display: grid; gap: 16px; scroll-margin-top: 16px; }
.financial-section-heading { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; border-bottom: 1px solid rgba(15, 23, 42, 0.06); padding-bottom: 14px; }
.financial-section-heading h2 { margin-bottom: 4px; }
.financial-back-top { display: inline-flex; align-items: center; justify-content: center; min-height: 34px; padding: 7px 10px; border: 1px solid rgba(15, 23, 42, 0.12); border-radius: 8px; background: #fff; color: #334155; font-size: 0.82rem; font-weight: 800; text-decoration: none; white-space: nowrap; }
.financial-back-top:hover { border-color: rgba(37, 99, 235, 0.28); background: #eff6ff; color: #1d4ed8; text-decoration: none; }
.financial-filter-card { border: 1px solid rgba(15, 23, 42, 0.10); border-radius: 8px; background: #ffffff; overflow: hidden; }
.financial-filter-card summary { cursor: pointer; padding: 12px 14px; background: #f8fafc; color: #334155; font-weight: 800; list-style-position: inside; }
.financial-filter-card .financial-filters { border: 0; border-top: 1px solid rgba(15, 23, 42, 0.08); border-radius: 0; box-shadow: none; }
.financial-filters { display: grid; grid-template-columns: repeat(5, minmax(140px, 1fr)); gap: 12px; align-items: end; }
.financial-filters .btn-primary,
.financial-filters .btn-secondary { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.financial-table {
    table-layout: auto;
}
.financial-table th,
.financial-table td { vertical-align: middle; }
.financial-table .financial-money { text-align: right; white-space: nowrap; }
.financial-table .financial-date { white-space: nowrap; }
.financial-table th.due-date-col,
.financial-table td.due-date-col {
    min-width: 126px;
    width: 126px;
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
}
.financial-table th.actions-col,
.financial-table td.actions-col {
    min-width: 260px;
    width: 260px;
    text-align: right;
    white-space: nowrap;
}
.financial-table .action-column { min-width: 260px; overflow: visible; }
.financial-table .table-actions,
.financial-table .table-actions form { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: flex-end; }
.financial-table .table-actions { min-width: max-content; }
.financial-table .table-actions form { margin: 0; }
.financial-table .table-actions .link-button,
.financial-table .table-actions .btn-secondary,
.financial-table .table-actions a,
.financial-table .table-actions button { flex: 0 0 auto; max-width: none; white-space: nowrap; overflow: visible; text-overflow: clip; }
.financial-integrity-alert { line-height: 1.55; scroll-margin-top: 16px; }
.financial-list-meta { color: var(--text-muted, #64748b); font-size: .875rem; }
.financial-pagination { display: flex; flex-wrap: wrap; gap: 6px; }
.financial-pagination a,
.financial-pagination span { min-width: 36px; min-height: 36px; padding: 7px 10px; border: 1px solid var(--border-color, #dbe2ea); border-radius: 8px; text-align: center; text-decoration: none; }
.financial-pagination a.is-active { background: var(--primary-color, #2563eb); border-color: var(--primary-color, #2563eb); color: #fff; }
.financial-pagination-info { margin-top: 0; }
.financial-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }
.financial-notes { margin: 12px 0 0; white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; color: inherit; }
.financial-detail-actions { display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; }
.financial-detail-actions form { width: min(100%, 520px); display: grid; gap: 12px; }
.financial-detail-actions textarea { width: 100%; min-height: 90px; }

@media (max-width: 1024px) {
    .financial-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
    .financial-filters,
    .financial-flow-grid,
    .financial-detail-grid { grid-template-columns: 1fr; }
    .financial-tabs a { flex: 1 1 calc(50% - 8px); }
    .financial-section-heading { align-items: stretch; flex-direction: column; }
    .financial-back-top { width: 100%; }
    .financial-table thead { display: none; }
    .financial-table,
    .financial-table tbody,
    .financial-table tr,
    .financial-table td { display: block; width: 100%; }
    .financial-table tr { padding: 12px 0; border-bottom: 1px solid var(--border-color, #dbe2ea); }
    .financial-table td { display: grid; grid-template-columns: minmax(105px, 38%) 1fr; gap: 12px; padding: 7px 12px; border: 0; text-align: right; overflow-wrap: anywhere; }
    .financial-table td::before { content: attr(data-label); font-weight: 700; text-align: left; color: var(--text-muted, #64748b); }
    .financial-table th.actions-col,
    .financial-table td.actions-col,
    .financial-table th.due-date-col,
    .financial-table td.due-date-col {
        min-width: 0;
        width: 100%;
        white-space: normal;
    }
    .financial-table td.action-column { display: flex; min-width: 0; justify-content: flex-end; padding-top: 12px; }
    .financial-table td.action-column::before { width: 100%; }
    .financial-table .table-actions { justify-content: flex-end; min-width: 0; width: 100%; }
    .financial-table .table-actions .link-button,
    .financial-table .table-actions .btn-secondary,
    .financial-table .table-actions a,
    .financial-table .table-actions button { min-width: 78px; justify-content: center; }
    .financial-table .financial-money { text-align: right; white-space: normal; }
    .financial-table .empty-row { display: block; text-align: center; }
    .financial-table .empty-row::before { display: none; }
}

/* Relatórios: filtros extensos, alertas de integridade e paginação */
.reports-page .report-filter-panel {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 14px;
    align-items: end;
}

.reports-page .report-filter-panel label {
    min-width: 0;
}

.reports-page .report-filter-panel input,
.reports-page .report-filter-panel select {
    width: 100%;
}

.report-integrity-alert {
    line-height: 1.55;
}

.report-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 16px;
}

.report-pagination > div {
    display: flex;
    gap: 8px;
}

@media (max-width: 700px) {
    .reports-page .report-filter-panel {
        grid-template-columns: 1fr;
    }

    .report-pagination {
        align-items: stretch;
        flex-direction: column;
    }

    .report-pagination > div,
    .report-pagination .btn-secondary {
        width: 100%;
    }
}

/* Relatorios Master V2 */
.reports-master-page {
    width: 100%;
    max-width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
    justify-items: stretch;
    gap: 22px;
    overflow-x: hidden;
}

.reports-master-page .reports-hero {
    align-items: flex-start;
    position: relative;
    isolation: isolate;
    padding: 30px;
    border: 1px solid rgba(148, 163, 184, 0.28);
    background:
        linear-gradient(135deg, rgba(240, 253, 250, 0.92), rgba(255, 255, 255, 0.98) 46%, rgba(239, 246, 255, 0.82)),
        #fff;
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.08);
}

.reports-master-page .reports-section-kicker {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    border-radius: 999px;
    font-size: 0.76rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0;
}

.reports-master-page .reports-section-kicker {
    margin-bottom: 6px;
    padding: 6px 9px;
    color: #0369a1;
    border: 1px solid rgba(14, 165, 233, 0.24);
    background: #e0f2fe;
}

.reports-master-page .reports-filter-card {
    display: grid;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    grid-template-columns: repeat(auto-fit, minmax(156px, 1fr));
    gap: 16px;
    align-items: end;
    margin: 0;
    padding: 20px;
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 16px 38px rgba(15, 23, 42, 0.06);
}

.reports-master-page .reports-filter-card label {
    min-width: 0;
    gap: 7px;
    color: #475569;
    font-size: 0.8rem;
    font-weight: 800;
}

.reports-master-page .reports-filter-card input,
.reports-master-page .reports-filter-card select {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    min-height: 42px;
    border-color: #dbe3ee;
    border-radius: 8px;
    background: #f8fafc;
}

.reports-master-page .reports-filter-card input:focus,
.reports-master-page .reports-filter-card select:focus {
    border-color: rgba(20, 184, 166, 0.58);
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.12);
}

.reports-master-page .reports-filter-actions {
    display: grid;
    grid-column: span 2;
    grid-template-columns: repeat(2, minmax(130px, 1fr));
    gap: 8px;
    width: 100%;
    min-width: 0;
    align-self: end;
}

.reports-master-page .reports-filter-actions .btn-primary,
.reports-master-page .reports-filter-actions .btn-secondary,
.reports-master-page .reports-section-actions .btn-primary,
.reports-master-page .reports-section-actions .btn-secondary {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    height: auto;
    padding: 10px 12px;
    margin-top: 0;
    max-width: 100%;
    box-sizing: border-box;
    justify-content: center;
    white-space: nowrap;
    line-height: 1.1;
    text-align: center;
}

.reports-master-page .reports-filter-actions .btn-primary,
.reports-master-page .reports-section-actions .btn-primary {
    box-shadow: 0 10px 22px rgba(37, 99, 235, 0.16);
}

.reports-master-page .reports-filter-actions .btn-secondary,
.reports-master-page .reports-section-actions .btn-secondary {
    color: #0f172a;
    border-color: rgba(148, 163, 184, 0.32);
    background: #ffffff;
}

.reports-master-page .reports-filter-note {
    margin: -6px 0 0;
    padding: 12px 14px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 8px;
    background: #f8fafc;
}

.reports-master-page .reports-section-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 10px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 8px;
    background: #f8fafc;
}

.reports-master-page .reports-section-nav a {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 8px 11px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 8px;
    color: #334155;
    background: #ffffff;
    font-size: 0.82rem;
    font-weight: 800;
    text-decoration: none;
}

.reports-master-page .reports-section-nav a:hover {
    color: #0f766e;
    border-color: rgba(20, 184, 166, 0.34);
    background: #f0fdfa;
}

.reports-master-page .reports-kpi-grid {
    grid-template-columns: repeat(auto-fit, minmax(178px, 1fr));
    gap: 14px;
}

.reports-master-page .reports-financial-grid {
    grid-template-columns: repeat(auto-fit, minmax(164px, 1fr));
}

.reports-master-page .reports-kpi-card {
    position: relative;
    overflow: hidden;
    min-height: 126px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background: #ffffff;
    border-radius: 8px;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.reports-master-page .reports-kpi-card:hover {
    transform: translateY(-1px);
    border-color: rgba(20, 184, 166, 0.28);
    box-shadow: 0 14px 26px rgba(15, 23, 42, 0.08);
}

.reports-master-page .reports-kpi-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: #0ea5e9;
}

.reports-master-page .reports-kpi-success::before { background: #10b981; }
.reports-master-page .reports-kpi-warning::before { background: #f59e0b; }
.reports-master-page .reports-kpi-danger::before { background: #ef4444; }
.reports-master-page .reports-kpi-primary::before { background: #2563eb; }

.reports-master-page .reports-section,
.reports-master-page .reports-subsection {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
}

.reports-master-page .report-grid {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
}

.reports-master-page .reports-subsection {
    box-shadow: none;
    background: #fbfdff;
}

.reports-master-page .report-section {
    margin-top: 0;
    padding-top: 0;
    border-top: 1px solid rgba(148, 163, 184, 0.22);
}

.reports-master-page .panel-header {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: flex-start;
    min-width: 0;
    border-bottom: 1px solid rgba(148, 163, 184, 0.18);
    padding-bottom: 14px;
}

.reports-master-page .reports-section-heading h2,
.reports-master-page .panel-header h2 {
    margin: 0;
    color: #0f172a;
    font-size: 1.15rem;
    line-height: 1.25;
}

.reports-master-page .reports-section-heading p,
.reports-master-page .panel-header p {
    margin: 5px 0 0;
    color: #64748b;
    line-height: 1.5;
}

.reports-master-page .reports-section-heading {
    flex: 1 1 auto;
    min-width: 0;
}

.reports-master-page .reports-section-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
    flex: 0 1 280px;
    min-width: 0;
    max-width: 100%;
}

.reports-master-page .reports-export-form {
    display: flex;
    flex: 1 1 126px;
    min-width: 0;
}

.reports-master-page .reports-export-form .btn-secondary {
    width: 100%;
}

.reports-master-page .reports-section-actions a {
    flex: 1 1 126px;
}

.reports-master-page .table-responsive {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: visible;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 8px;
    background: #ffffff;
}

.reports-master-page .data-table {
    width: 100%;
    min-width: 0;
    margin: 0;
    table-layout: auto;
}

.reports-master-page .data-table thead {
    background: #eef4f8;
}

.reports-master-page .data-table th {
    color: #334155;
    font-size: 0.73rem;
    line-height: 1.25;
    padding: 11px 12px;
    white-space: normal;
}

.reports-master-page .data-table td {
    color: #334155;
    line-height: 1.45;
    padding: 11px 12px;
    vertical-align: middle;
    word-break: normal;
    overflow-wrap: anywhere;
}

.reports-master-page .data-table td:first-child,
.reports-master-page .data-table th:first-child {
    padding-left: 16px;
}

.reports-master-page .data-table td:last-child,
.reports-master-page .data-table th:last-child {
    padding-right: 16px;
}

.reports-master-page .data-table tbody tr:hover {
    background: #f8fbfc;
}

.reports-master-page .reports-money-cell {
    color: #0f766e;
    font-weight: 800;
    white-space: nowrap;
}

.reports-master-page .reports-status-badge,
.reports-master-page .status-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 26px;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 0.74rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.reports-master-page .reports-status-badge.is-success {
    color: #047857;
    border: 1px solid rgba(16, 185, 129, 0.28);
    background: #d1fae5;
}

.reports-master-page .reports-status-badge.is-warning {
    color: #92400e;
    border: 1px solid rgba(245, 158, 11, 0.32);
    background: #fef3c7;
}

.reports-master-page .reports-status-badge.is-danger {
    color: #b91c1c;
    border: 1px solid rgba(239, 68, 68, 0.28);
    background: #fee2e2;
}

.reports-master-page .reports-status-badge.is-neutral {
    color: #475569;
    border: 1px solid rgba(148, 163, 184, 0.3);
    background: #f1f5f9;
}

.reports-master-page .empty-row {
    min-height: 56px;
    padding: 18px !important;
    color: #64748b;
    font-weight: 700;
    text-align: center;
    white-space: normal;
}

.reports-master-page .report-pagination {
    padding: 12px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 14px;
    background: #f8fafc;
}

@media (min-width: 901px) {
    .reports-master-page .report-grid {
        grid-template-columns: 1fr;
    }

    .reports-master-page .report-cashier-table {
        table-layout: fixed;
    }

    .reports-master-page .report-cashier-table th {
        font-size: 0.66rem;
        padding: 9px 7px;
        white-space: normal;
    }

    .reports-master-page .report-cashier-table td {
        font-size: 0.74rem;
        padding: 9px 7px;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .reports-master-page .report-cashier-table .reports-money-cell,
    .reports-master-page .report-cashier-table td {
        white-space: normal;
    }
}

@media (min-width: 1500px) {
    .reports-master-page .report-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .reports-master-page .report-grid {
        grid-template-columns: 1fr;
    }

    .reports-master-page .table-responsive {
        overflow-x: auto;
        overflow-y: hidden;
    }

    .reports-master-page .reports-hero,
    .reports-master-page .reports-filter-card,
    .reports-master-page .reports-section,
    .reports-master-page .reports-subsection {
        border-radius: 14px;
    }

    .reports-master-page .panel-header {
        flex-direction: column;
        align-items: stretch;
    }

    .reports-master-page .reports-section-actions {
        justify-content: flex-start;
        min-width: 0;
        width: 100%;
    }

    .reports-master-page .reports-section-actions .btn-primary,
    .reports-master-page .reports-section-actions .btn-secondary {
        flex: 1 1 160px;
    }
}

@media (max-width: 720px) {
    .reports-master-page .reports-filter-actions {
        grid-column: 1 / -1;
    }
}

@media (max-width: 900px) {
    .reports-master-page .data-table {
        min-width: 0;
        table-layout: auto;
    }
}

@media (max-width: 820px) {
    .reports-master-page {
        gap: 16px;
    }

    .reports-master-page .reports-hero {
        padding: 20px;
    }

    .reports-master-page .reports-filter-card {
        grid-template-columns: repeat(2, minmax(140px, 1fr));
        padding: 14px;
    }

    .reports-master-page .reports-filter-actions {
        grid-column: 1 / -1;
        grid-template-columns: repeat(2, 1fr);
    }

    .reports-master-page .reports-section-actions {
        flex-direction: column;
        width: 100%;
    }

    .reports-master-page .reports-section-actions .btn-primary,
    .reports-master-page .reports-section-actions .btn-secondary {
        width: 100%;
    }

    .reports-master-page .data-table {
        min-width: 0;
        font-size: 0.72rem;
    }

    .reports-master-page .data-table th {
        font-size: 0.7rem;
        padding: 8px 6px;
    }

    .reports-master-page .data-table td {
        padding: 8px 6px;
        font-size: 0.72rem;
    }

    .reports-master-page .data-table td:first-child,
    .reports-master-page .data-table th:first-child {
        padding-left: 10px;
    }

    .reports-master-page .data-table td:last-child,
    .reports-master-page .data-table th:last-child {
        padding-right: 10px;
    }
}

@media (max-width: 720px) {
    .reports-master-page .reports-filter-card {
        grid-template-columns: 1fr;
        padding: 14px;
    }

    .reports-master-page .reports-filter-actions {
        grid-column: 1 / -1;
        grid-template-columns: 1fr;
    }

    .reports-master-page .reports-kpi-grid,
    .reports-master-page .reports-financial-grid {
        grid-template-columns: repeat(2, minmax(130px, 1fr));
    }

    .reports-master-page .reports-section-nav {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 6px;
        padding: 8px;
    }

    .reports-master-page .reports-section-nav a {
        font-size: 0.76rem;
        padding: 7px 9px;
        min-height: 34px;
    }
}

@media (max-width: 640px) {
    .reports-master-page {
        gap: 14px;
    }

    .reports-master-page .reports-hero {
        padding: 16px;
        border-radius: 12px;
    }

    .reports-master-page .reports-filter-card {
        grid-template-columns: 1fr;
        padding: 12px;
        border-radius: 12px;
    }

    .reports-master-page .reports-filter-actions {
        grid-column: 1 / -1;
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .reports-master-page .reports-filter-actions .btn-primary,
    .reports-master-page .reports-filter-actions .btn-secondary {
        width: 100%;
        min-height: 44px;
    }

    .reports-master-page .reports-section-nav {
        display: grid;
        grid-template-columns: 1fr;
        gap: 6px;
        padding: 8px;
        border-radius: 12px;
    }

    .reports-master-page .reports-section-nav a {
        width: 100%;
        font-size: 0.78rem;
        padding: 10px;
        min-height: 36px;
    }

    .reports-master-page .reports-kpi-grid,
    .reports-master-page .reports-financial-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .reports-master-page .reports-kpi-card {
        min-height: 110px;
    }

    .reports-master-page .reports-section,
    .reports-master-page .reports-subsection {
        border-radius: 12px;
    }

    .reports-master-page .panel-header {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
        padding-bottom: 12px;
    }

    .reports-master-page .reports-section-heading {
        flex: 1 1 auto;
    }

    .reports-master-page .reports-section-actions {
        flex: 1 1 auto;
        width: 100%;
    }

    .reports-master-page .reports-section-actions .btn-primary,
    .reports-master-page .reports-section-actions .btn-secondary {
        width: 100%;
        min-height: 42px;
    }

    .reports-master-page .data-table {
        min-width: 0;
        font-size: 0.7rem;
    }

    .reports-master-page .data-table th {
        font-size: 0.68rem;
        padding: 7px 5px;
    }

    .reports-master-page .data-table td {
        padding: 7px 5px;
        font-size: 0.7rem;
    }

    .reports-master-page .data-table td:first-child,
    .reports-master-page .data-table th:first-child {
        padding-left: 8px;
    }

    .reports-master-page .data-table td:last-child,
    .reports-master-page .data-table th:last-child {
        padding-right: 8px;
    }

    .reports-master-page .table-responsive {
        border-radius: 12px;
        overflow-x: auto;
        overflow-y: hidden;
    }

    .reports-master-page .reports-money-cell {
        font-weight: 700;
        white-space: normal;
    }

    .reports-master-page .empty-row {
        min-height: 44px;
        padding: 12px !important;
        font-size: 0.72rem;
    }
}

@media (max-width: 520px) {
    .reports-master-page {
        gap: 14px;
    }

    .reports-master-page .reports-hero {
        padding: 14px;
    }

    .reports-master-page .reports-filter-card {
        grid-template-columns: 1fr;
        padding: 12px;
    }

    .reports-master-page .reports-filter-actions {
        grid-template-columns: 1fr;
    }

    .reports-master-page .reports-section-nav {
        display: grid;
        grid-template-columns: 1fr;
    }

    .reports-master-page .reports-section-nav a,
    .reports-master-page .reports-section-actions .btn-primary,
    .reports-master-page .reports-section-actions .btn-secondary {
        width: 100%;
    }

    .reports-master-page .table-responsive {
        overflow-x: auto;
        overflow-y: hidden;
    }

    .reports-master-page .data-table {
        min-width: 0;
    }

    .reports-master-page #reports-payments .data-table,
    .reports-master-page #reports-products .data-table,
    .reports-master-page #reports-stock .data-table {
        min-width: 0;
    }
}

@media (max-width: 480px) {
    .reports-master-page {
        gap: 12px;
    }

    .reports-master-page .reports-hero {
        padding: 12px;
        border-radius: 10px;
    }

    .reports-master-page .reports-section-kicker {
        font-size: 0.7rem;
        padding: 5px 8px;
    }

    .reports-master-page .reports-filter-card {
        grid-template-columns: 1fr;
        padding: 10px;
        border-radius: 10px;
        gap: 10px;
    }

    .reports-master-page .reports-filter-card label {
        font-size: 0.76rem;
    }

    .reports-master-page .reports-filter-card input,
    .reports-master-page .reports-filter-card select {
        min-height: 40px;
        border-radius: 8px;
        font-size: 0.88rem;
    }

    .reports-master-page .reports-filter-actions {
        grid-column: 1 / -1;
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .reports-master-page .reports-filter-actions .btn-primary,
    .reports-master-page .reports-filter-actions .btn-secondary {
        min-height: 40px;
        padding: 8px 10px;
        font-size: 0.8rem;
        border-radius: 8px;
    }

    .reports-master-page .reports-section-nav {
        grid-template-columns: 1fr;
        gap: 4px;
        padding: 6px;
        border-radius: 10px;
    }

    .reports-master-page .reports-section-nav a {
        font-size: 0.75rem;
        padding: 8px 10px;
        min-height: 32px;
        border-radius: 8px;
    }

    .reports-master-page .reports-kpi-grid,
    .reports-master-page .reports-financial-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .reports-master-page .reports-kpi-card {
        min-height: 100px;
        padding: 12px;
    }

    .reports-master-page .reports-section,
    .reports-master-page .reports-subsection {
        border-radius: 10px;
    }

    .reports-master-page .panel-header {
        padding-bottom: 10px;
        gap: 10px;
    }

    .reports-master-page .reports-section-heading h2 {
        font-size: 1rem;
    }

    .reports-master-page .reports-section-actions {
        gap: 6px;
    }

    .reports-master-page .reports-section-actions .btn-primary,
    .reports-master-page .reports-section-actions .btn-secondary {
        min-height: 40px;
        padding: 8px 10px;
        font-size: 0.8rem;
        border-radius: 8px;
    }

    .reports-master-page .data-table {
        min-width: 0;
        font-size: 0.68rem;
    }

    .reports-master-page .data-table th {
        font-size: 0.66rem;
        padding: 6px 4px;
    }

    .reports-master-page .data-table td {
        padding: 6px 4px;
        font-size: 0.68rem;
        line-height: 1.3;
        word-break: break-word;
        overflow-wrap: break-word;
    }

    .reports-master-page .data-table td:first-child,
    .reports-master-page .data-table th:first-child {
        padding-left: 6px;
    }

    .reports-master-page .data-table td:last-child,
    .reports-master-page .data-table th:last-child {
        padding-right: 6px;
    }

    .reports-master-page .table-responsive {
        border-radius: 10px;
    }

    .reports-master-page .reports-status-badge,
    .reports-master-page .status-pill {
        font-size: 0.68rem;
        min-height: 24px;
        padding: 4px 7px;
    }

    .reports-master-page .empty-row {
        min-height: 40px;
        padding: 10px !important;
        font-size: 0.7rem;
    }

    .reports-master-page .report-pagination {
        padding: 10px;
        border-radius: 10px;
    }
}

@media (max-width: 390px) {
    .reports-master-page {
        gap: 10px;
        padding: 0;
    }

    .reports-master-page .reports-hero {
        padding: 10px;
        border-radius: 8px;
        margin: 0;
    }

    .reports-master-page .reports-hero h2 {
        font-size: 1.1rem;
        margin-bottom: 4px;
    }

    .reports-master-page .reports-hero p {
        font-size: 0.8rem;
        line-height: 1.4;
        margin: 0;
    }

    .reports-master-page .reports-filter-card {
        grid-template-columns: 1fr;
        padding: 8px;
        border-radius: 8px;
        gap: 8px;
    }

    .reports-master-page .reports-filter-card label {
        font-size: 0.7rem;
        gap: 4px;
    }

    .reports-master-page .reports-filter-card input,
    .reports-master-page .reports-filter-card select {
        min-height: 36px;
        border-radius: 6px;
        font-size: 0.85rem;
    }

    .reports-master-page .reports-filter-actions {
        grid-column: 1 / -1;
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .reports-master-page .reports-filter-actions .btn-primary,
    .reports-master-page .reports-filter-actions .btn-secondary {
        min-height: 36px;
        padding: 6px 8px;
        font-size: 0.75rem;
        border-radius: 6px;
    }

    .reports-master-page .reports-section-nav {
        grid-template-columns: 1fr;
        gap: 4px;
        padding: 4px;
        border-radius: 8px;
    }

    .reports-master-page .reports-section-nav a {
        font-size: 0.7rem;
        padding: 6px 8px;
        min-height: 30px;
        border-radius: 6px;
    }

    .reports-master-page .reports-kpi-grid,
    .reports-master-page .reports-financial-grid {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .reports-master-page .reports-kpi-card {
        min-height: 90px;
        padding: 10px;
        border-radius: 8px;
    }

    .reports-master-page .reports-section,
    .reports-master-page .reports-subsection {
        border-radius: 8px;
    }

    .reports-master-page .panel-header {
        padding-bottom: 8px;
        gap: 8px;
        border-radius: 8px;
    }

    .reports-master-page .reports-section-heading h2 {
        font-size: 0.95rem;
        margin: 0;
    }

    .reports-master-page .reports-section-heading p {
        font-size: 0.75rem;
        margin: 3px 0 0;
    }

    .reports-master-page .reports-section-actions {
        gap: 4px;
    }

    .reports-master-page .reports-section-actions .btn-primary,
    .reports-master-page .reports-section-actions .btn-secondary {
        min-height: 36px;
        padding: 6px 8px;
        font-size: 0.75rem;
        border-radius: 6px;
        width: 100%;
    }

    .reports-master-page .data-table {
        min-width: 0;
        font-size: 0.65rem;
    }

    .reports-master-page .data-table th {
        font-size: 0.62rem;
        padding: 5px 3px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .reports-master-page .data-table td {
        padding: 5px 3px;
        font-size: 0.65rem;
        line-height: 1.25;
        word-break: break-word;
        overflow-wrap: break-word;
    }

    .reports-master-page .data-table td:first-child,
    .reports-master-page .data-table th:first-child {
        padding-left: 4px;
    }

    .reports-master-page .data-table td:last-child,
    .reports-master-page .data-table th:last-child {
        padding-right: 4px;
    }

    .reports-master-page .table-responsive {
        border-radius: 8px;
        overflow-x: auto;
        overflow-y: hidden;
    }

    .reports-master-page .reports-money-cell {
        font-weight: 700;
        white-space: normal;
    }

    .reports-master-page .reports-status-badge,
    .reports-master-page .status-pill {
        font-size: 0.62rem;
        min-height: 20px;
        padding: 3px 5px;
    }

    .reports-master-page .empty-row {
        min-height: 36px;
        padding: 8px !important;
        font-size: 0.68rem;
    }

    .reports-master-page .report-pagination {
        padding: 8px;
        border-radius: 8px;
        font-size: 0.7rem;
    }

    .reports-master-page .report-pagination > div {
        flex-wrap: wrap;
        gap: 4px;
    }

    .reports-master-page .indicator-title {
        font-size: 0.65rem;
        margin-bottom: 2px;
    }

    .reports-master-page .indicator-value {
        font-size: 1.1rem;
        margin-bottom: 3px;
    }

    .reports-master-page .indicator-meta {
        font-size: 0.65rem;
        line-height: 1.25;
    }
}
/* Caixa auditado */
.cashier-page { display: grid; gap: 22px; }
.cashier-current-card { display: grid; gap: 20px; }
.cashier-dashboard-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.cashier-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }
.cashier-detail-section { display: grid; gap: 12px; }
.cashier-filters { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: 12px; align-items: end; }
.cashier-filters .btn-primary,
.cashier-filters .btn-secondary { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.cashier-pagination { display: flex; flex-wrap: wrap; gap: 6px; }
.cashier-pagination a { min-width: 36px; min-height: 36px; padding: 7px 10px; text-align: center; text-decoration: none; border: 1px solid var(--border-color, #dbe2ea); border-radius: 8px; }
.cashier-pagination a.is-active { color: #fff; background: var(--primary-color, #2563eb); border-color: var(--primary-color, #2563eb); }

@media (max-width: 1024px) {
    .cashier-dashboard-grid,
    .cashier-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
    .cashier-dashboard-grid,
    .cashier-detail-grid,
    .cashier-filters { grid-template-columns: 1fr; }
    .cashier-responsive-table thead,
    .cashier-history-table thead { display: none; }
    .cashier-responsive-table,
    .cashier-responsive-table tbody,
    .cashier-responsive-table tr,
    .cashier-responsive-table td,
    .cashier-history-table,
    .cashier-history-table tbody,
    .cashier-history-table tr,
    .cashier-history-table td { display: block; width: 100%; }
    .cashier-responsive-table tr,
    .cashier-history-table tr { padding: 12px 0; border-bottom: 1px solid var(--border-color, #dbe2ea); }
    .cashier-responsive-table td,
    .cashier-history-table td { display: grid; grid-template-columns: minmax(105px, 38%) 1fr; gap: 12px; padding: 7px 12px; border: 0; text-align: right; overflow-wrap: anywhere; }
    .cashier-responsive-table td::before,
    .cashier-history-table td::before { content: attr(data-label); font-weight: 700; text-align: left; color: var(--text-muted, #64748b); }
    .cashier-responsive-table .empty-row,
    .cashier-history-table .empty-row { display: block; text-align: center; }
    .cashier-responsive-table .empty-row::before,
    .cashier-history-table .empty-row::before { display: none; }
}

/* Inline Forms - For toggle/action buttons */
.inline-form {
    display: inline;
    margin: 0;
    padding: 0;
}

.inline-form button {
    padding: 0;
    border: 0;
    background: transparent;
    font: inherit;
    cursor: pointer;
}

.action-column .inline-form button.link-button {
    display: inline;
}

/* Paginacao Premium V1.2 */
.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.pagination-item,
.pagination-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    min-height: 38px;
    padding: 8px 12px;
    border: 1px solid rgba(15, 23, 42, 0.14);
    border-radius: 8px;
    background: #ffffff;
    color: #334155;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
}

.pagination-link:hover {
    border-color: rgba(37, 99, 235, 0.28);
    background: #eff6ff;
    color: #1d4ed8;
    text-decoration: none;
}

.pagination-active,
.pagination-active:hover {
    border-color: #2563eb;
    background: #2563eb;
    color: #ffffff;
}

.pagination-disabled,
.pagination-disabled:hover {
    border-color: rgba(15, 23, 42, 0.08);
    background: #f1f5f9;
    color: #94a3b8;
    cursor: not-allowed;
    box-shadow: none;
    transform: none;
}

.pagination-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    margin: 16px 0 12px;
    padding: 12px 14px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 8px;
    background: #f8fafc;
    color: #475569;
    font-size: 0.9rem;
    font-weight: 700;
}

.per-page-select {
    min-width: 120px;
}

.audit-pagination-info {
    margin-top: 18px;
}

@media (max-width: 700px) {
    .pagination {
        justify-content: stretch;
    }

    .pagination-link,
    .pagination-item {
        flex: 1 1 auto;
        min-width: 42px;
    }

    .pagination-info {
        align-items: stretch;
        flex-direction: column;
    }
}

/* Refino Premium UI V1.1 - padroes visuais reutilizaveis. */
:root {
    --premium-surface: #ffffff;
    --premium-surface-soft: #f8fafc;
    --premium-border: rgba(15, 23, 42, 0.10);
    --premium-border-strong: rgba(15, 23, 42, 0.16);
    --premium-shadow: 0 12px 28px rgba(15, 23, 42, 0.07);
    --premium-shadow-hover: 0 18px 36px rgba(15, 23, 42, 0.10);
    --premium-radius: 8px;
    --premium-focus: 0 0 0 4px rgba(37, 99, 235, 0.16);
}

.page-panel,
.dashboard-panel,
.indicator-card,
.shortcut-card,
.chart-card,
.form-card,
.settings-panel,
.cashier-current-card,
.cashier-card,
.cashier-card-item,
.cashier-summary,
.cashier-notes,
.product-form-section,
.product-detail-section,
.category-form-section,
.category-detail-section,
.client-form-section,
.client-detail-section,
.fiscal-module-card,
.fiscal-status-summary,
.fiscal-product-panel,
.fiscal-corrections-panel,
.financial-section,
.report-section,
.empty-state,
.panel-body.empty-state {
    border: 1px solid var(--premium-border);
    border-radius: var(--premium-radius);
    box-shadow: var(--premium-shadow);
}

.page-panel,
.dashboard-panel,
.form-card,
.settings-panel,
.financial-section,
.report-section {
    background: var(--premium-surface);
}

.indicator-card,
.shortcut-card,
.cashier-card-item,
.products-summary > div,
.clients-summary > div,
.categories-summary > div,
.fiscal-module-card {
    transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

.indicator-card:hover,
.shortcut-card:hover,
.products-summary > div:hover,
.clients-summary > div:hover,
.categories-summary > div:hover,
.fiscal-module-card:hover {
    border-color: rgba(37, 99, 235, 0.22);
    box-shadow: var(--premium-shadow-hover);
    transform: translateY(-1px);
}

.panel-header-row,
.panel-header,
.dashboard-section-heading,
.product-form-heading {
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    padding-bottom: 14px;
}

.panel-header-row h2,
.panel-header h2,
.dashboard-section-heading h2,
.product-form-heading h3,
.product-detail-section h3 {
    letter-spacing: 0;
}

.page-label {
    color: #2563eb;
    font-weight: 800;
    letter-spacing: 0;
}

.btn-primary,
.btn-secondary,
.btn-success,
.btn-warning,
.btn-danger,
.btn-muted,
.btn-icon,
.btn-sm,
.link-button,
.products-pagination a,
.financial-pagination a,
.cashier-pagination a,
.report-pagination a {
    border-radius: var(--premium-radius);
    transition: transform 0.14s ease, box-shadow 0.14s ease, background 0.14s ease, border-color 0.14s ease;
}

.btn-primary,
.btn-secondary,
.btn-success,
.btn-warning,
.btn-danger,
.btn-muted {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    border: 1px solid transparent;
    font-weight: 800;
    text-decoration: none;
}

.btn-primary:not(.btn-disabled):hover,
.btn-secondary:not(.btn-disabled):hover,
.btn-success:not(.btn-disabled):hover,
.btn-warning:not(.btn-disabled):hover,
.btn-danger:not(.btn-disabled):hover,
.btn-muted:not(.btn-disabled):hover,
.link-button:hover,
.products-pagination a:hover,
.financial-pagination a:hover,
.cashier-pagination a:hover,
.report-pagination a:hover {
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.10);
    transform: translateY(-1px);
}

.btn-success {
    background: #16a34a;
    color: #ffffff;
}

.btn-warning {
    background: #f59e0b;
    color: #111827;
}

.btn-danger {
    background: #dc2626;
    color: #ffffff;
}

.btn-muted {
    background: #e2e8f0;
    color: #334155;
}

.btn-sm,
.action-column .btn-primary,
.action-column .btn-secondary,
.action-column .btn-success,
.action-column .btn-warning,
.action-column .btn-danger,
.action-column .btn-muted,
.action-column .link-button {
    min-height: 34px;
    padding: 7px 10px;
    font-size: 0.82rem;
    line-height: 1.2;
}

.btn-icon {
    min-width: 36px;
    min-height: 36px;
    padding: 8px;
}

.link-button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 32px;
    padding: 5px 8px;
    border: 1px solid transparent;
}

.link-danger,
.action-column .link-danger,
.inline-form .link-danger {
    color: #b91c1c;
}

.link-danger:hover,
.action-column .link-danger:hover,
.inline-form .link-danger:hover {
    border-color: rgba(220, 38, 38, 0.22);
    background: #fef2f2;
    text-decoration: none;
}

.action-column,
.actions-row,
.products-actions,
.clients-actions,
.categories-actions {
    align-items: center;
    gap: 6px;
}

.badge-status,
.badge-active,
.badge-inactive,
.badge-open,
.badge-closed,
.badge-paid,
.badge-pending,
.badge-danger,
.status-pill,
.status-active,
.status-inactive,
.status-open,
.status-closed,
.status-warning,
.status-danger,
.tag-inactive {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 28px;
    padding: 6px 10px;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1.2;
    text-transform: none;
}

.badge-active,
.status-active,
.status-open,
.badge-open,
.badge-paid,
.status-pill.success {
    border-color: rgba(22, 163, 74, 0.22);
    background: #dcfce7;
    color: #166534;
}

.badge-inactive,
.status-inactive,
.status-closed,
.badge-closed,
.tag-inactive {
    border-color: rgba(71, 85, 105, 0.18);
    background: #f1f5f9;
    color: #475569;
}

.badge-pending,
.status-warning,
.status-pill.warning {
    border-color: rgba(217, 119, 6, 0.24);
    background: #fef3c7;
    color: #92400e;
}

.badge-danger,
.status-danger,
.status-pill.danger {
    border-color: rgba(220, 38, 38, 0.24);
    background: #fee2e2;
    color: #991b1b;
}

.alert,
.alert-success,
.alert-danger,
.alert-warning,
.alert-info,
.report-integrity-alert,
.financial-integrity-alert,
.fiscal-corrections-panel {
    border-radius: var(--premium-radius);
    border: 1px solid var(--premium-border);
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
    line-height: 1.55;
}

.alert-success {
    border-color: rgba(22, 163, 74, 0.24);
    background: #ecfdf5;
    color: #166534;
}

.alert-danger {
    border-color: rgba(220, 38, 38, 0.24);
    background: #fef2f2;
    color: #991b1b;
}

.alert-warning {
    border-color: rgba(217, 119, 6, 0.24);
    background: #fffbeb;
    color: #92400e;
}

.alert-info {
    border-color: rgba(37, 99, 235, 0.22);
    background: #eff6ff;
    color: #1e40af;
}

.search-panel,
.products-filter-panel,
.clients-filter-panel,
.categories-filter-panel,
.sale-filter-panel,
.purchase-filter-panel,
.report-filter-panel,
.financial-filters,
.cashier-filters {
    border: 1px solid var(--premium-border);
    border-radius: var(--premium-radius);
    background: var(--premium-surface-soft);
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.04);
}

input[type="text"],
input[type="search"],
input[type="number"],
input[type="email"],
input[type="password"],
input[type="date"],
input[type="tel"],
select,
textarea {
    border-radius: var(--premium-radius);
    transition: border-color 0.14s ease, box-shadow 0.14s ease, background 0.14s ease;
}

input:focus,
select:focus,
textarea:focus,
button:focus-visible,
a:focus-visible {
    outline: 0;
    border-color: #2563eb;
    box-shadow: var(--premium-focus);
}

.data-table {
    border: 1px solid var(--premium-border);
    border-radius: var(--premium-radius);
    overflow: hidden;
}

.data-table thead {
    background: #eef4ff;
}

.data-table th {
    color: #334155;
    font-weight: 800;
}

.data-table tr {
    transition: background 0.14s ease;
}

.data-table tbody tr:hover {
    background: #f8fbff;
}

.data-table td {
    color: #1f2937;
}

.empty-row,
.empty-state,
.panel-body.empty-state {
    color: #64748b;
    text-align: center;
}

.empty-row {
    background: #f8fafc;
}

.products-pagination,
.financial-pagination,
.cashier-pagination,
.report-pagination > div {
    align-items: center;
    gap: 7px;
}

.products-pagination a,
.financial-pagination a,
.cashier-pagination a,
.report-pagination a {
    border-color: var(--premium-border-strong);
    background: #ffffff;
    color: #334155;
    font-weight: 800;
}

.products-pagination a.active,
.financial-pagination a.is-active,
.cashier-pagination a.is-active,
.report-pagination a.is-active {
    border-color: #2563eb;
    background: #2563eb;
    color: #ffffff;
}

.dashboard-audit .indicator-card,
.dashboard-audit .shortcut-card,
.dashboard-audit .cashier-card-item {
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.dashboard-audit .indicator-card::after {
    content: "";
    position: absolute;
    inset: 12px 12px auto auto;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: currentColor;
    opacity: 0.18;
}

.fiscal-module-card {
    min-height: 104px;
}

.fiscal-module-card::before {
    content: "";
    width: 28px;
    height: 4px;
    border-radius: 999px;
    background: #2563eb;
}

.fiscal-corrections-panel {
    border-color: rgba(217, 119, 6, 0.24);
}

@media (max-width: 768px) {
    .panel-header-row,
    .panel-header,
    .dashboard-section-heading,
    .product-form-heading {
        align-items: stretch;
    }

    .btn-primary,
    .btn-secondary,
    .btn-success,
    .btn-warning,
    .btn-danger,
    .btn-muted {
        min-height: 44px;
    }

    .table-responsive tr {
        border-radius: var(--premium-radius);
        box-shadow: 0 8px 22px rgba(15, 23, 42, 0.07);
    }

    .table-responsive td {
        align-items: center;
    }

    .table-responsive .action-column {
        align-items: stretch;
    }

    .table-responsive .action-column a,
    .table-responsive .action-column button,
    .table-responsive .action-column .link-button {
        justify-content: center;
        width: 100%;
        text-align: center;
        white-space: normal;
    }

    .products-pagination a,
    .financial-pagination a,
    .cashier-pagination a {
        flex: 1 1 42px;
    }
}

@media (max-width: 768px) {
    .commercial-quotes-page .table-responsive {
        overflow-x: hidden;
    }

    .commercial-quotes-page .data-table,
    .commercial-quotes-page .data-table thead,
    .commercial-quotes-page .data-table tbody,
    .commercial-quotes-page .data-table tr,
    .commercial-quotes-page .data-table th,
    .commercial-quotes-page .data-table td {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .commercial-quotes-page .data-table thead {
        display: none;
    }

    .commercial-quotes-page .data-table tr {
        margin-bottom: 12px;
        padding: 12px;
        border: 1px solid rgba(15, 23, 42, 0.10);
        border-radius: 14px;
        background: #ffffff;
    }

    .commercial-quotes-page .data-table td {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 12px;
        padding: 8px 0;
        border: 0;
        text-align: right;
        white-space: normal;
    }

    .commercial-quotes-page .data-table td::before {
        content: attr(data-label);
        flex: 0 0 auto;
        color: #64748b;
        font-weight: 800;
        text-align: left;
    }

    .commercial-quotes-page .commercial-quotes-actions {
        justify-content: flex-end;
    }

    .commercial-supplier-quotes-page .table-responsive {
        overflow-x: hidden;
    }

    .commercial-supplier-quotes-page .data-table,
    .commercial-supplier-quotes-page .data-table thead,
    .commercial-supplier-quotes-page .data-table tbody,
    .commercial-supplier-quotes-page .data-table tr,
    .commercial-supplier-quotes-page .data-table th,
    .commercial-supplier-quotes-page .data-table td {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .commercial-supplier-quotes-page .data-table thead {
        display: none;
    }

    .commercial-supplier-quotes-page .data-table tr {
        margin-bottom: 12px;
        padding: 12px;
        border: 1px solid rgba(15, 23, 42, 0.10);
        border-radius: 14px;
        background: #ffffff;
    }

    .commercial-supplier-quotes-page .data-table td {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 12px;
        padding: 8px 0;
        border: 0;
        text-align: right;
        white-space: normal;
    }

    .commercial-supplier-quotes-page .data-table td::before {
        content: attr(data-label);
        flex: 0 0 auto;
        color: #64748b;
        font-weight: 800;
        text-align: left;
    }

    .commercial-supplier-quotes-page .commercial-supplier-quotes-actions {
        justify-content: flex-end;
    }
}

/* Products Master V2 */
.products-page .products-filter-panel {
    align-items: end;
}

.products-page .products-table-wrap {
    overflow-x: auto;
}

.products-page .products-table {
    width: 100%;
    min-width: 0;
    table-layout: auto;
}

.products-page .products-table th,
.products-page .products-table td {
    vertical-align: middle;
    word-break: normal;
    overflow-wrap: normal;
}

.products-page .products-table th:last-child,
.products-page .products-table td.products-actions {
    min-width: 180px;
    white-space: normal;
    text-align: right;
}

.products-page .products-table td:first-child,
.products-page .products-table td:nth-child(2) {
    white-space: normal;
    overflow-wrap: anywhere;
}

.products-page .products-actions-row,
.products-page .products-actions-row form {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin: 0;
}

.products-page .products-actions-row {
    flex-wrap: wrap;
}

.products-page .btn-action-product {
    min-width: 74px;
    white-space: nowrap;
}

.products-page .btn-product-inactivate {
    color: #111827;
}

.products-page .products-pagination-info {
    align-items: center;
    margin: 14px 0;
}

.products-page .products-pagination {
    justify-content: center;
    margin-top: 18px;
}

.products-page .products-pagination .pagination-item,
.products-page .products-pagination .pagination-link {
    min-width: 38px;
    min-height: 38px;
    padding: 7px 11px;
    white-space: nowrap;
}

.products-page .products-pagination .pagination-disabled {
    color: #94a3b8;
    cursor: default;
}

@media (max-width: 768px) {
    .products-page .products-list-meta,
    .products-page .products-pagination-info {
        align-items: flex-start;
        flex-direction: column;
    }

    .products-page .products-table {
        min-width: 0;
    }

    .products-page .products-table th:last-child,
    .products-page .products-table td.products-actions {
        min-width: 0;
        white-space: normal;
        text-align: left;
    }

    .products-page .products-actions-row,
    .products-page .products-actions-row form {
        justify-content: stretch;
        width: 100%;
    }

    .products-page .btn-action-product {
        flex: 1 1 112px;
        min-width: 112px;
        white-space: nowrap;
    }

    .products-page .table-responsive .action-column .btn-action-product {
        white-space: nowrap;
    }

    .products-page .products-pagination .pagination-item,
    .products-page .products-pagination .pagination-link {
        flex: 1 1 42px;
    }
}

/* Dashboard Master V2 */
.dashboard-master {
    gap: 18px;
}

.dashboard-master .dashboard-panel,
.dashboard-master .indicator-card,
.dashboard-master .shortcut-card,
.dashboard-master .cashier-card-item {
    border: 1px solid var(--premium-border, rgba(15, 23, 42, 0.10));
    border-radius: var(--premium-radius, 8px);
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.dashboard-master .dashboard-panel {
    padding: 18px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

.dashboard-master .dashboard-hero {
    gap: 14px;
    padding: 20px;
    border-color: rgba(37, 99, 235, 0.18);
    background: linear-gradient(180deg, #ffffff 0%, #f6f9ff 100%);
}

.dashboard-master .dashboard-title-row {
    align-items: flex-start;
    gap: 16px;
    padding-bottom: 12px;
}

.dashboard-master .dashboard-title-row h2 {
    font-size: clamp(1.45rem, 2vw, 1.9rem);
    line-height: 1.1;
}

.dashboard-master .dashboard-hero-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.dashboard-master .dashboard-period-badge,
.dashboard-master .dashboard-count-badge {
    min-height: 32px;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 0.82rem;
}

.dashboard-master .dashboard-filter-card {
    grid-template-columns: minmax(140px, 0.8fr) repeat(2, minmax(140px, 1fr)) minmax(130px, auto);
    gap: 10px;
    padding: 12px;
    border: 1px solid rgba(37, 99, 235, 0.12);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: none;
}

.dashboard-master .dashboard-filter-card label {
    color: #475569;
    font-size: 0.78rem;
    font-weight: 800;
}

.dashboard-master .dashboard-filter-card select,
.dashboard-master .dashboard-filter-card input,
.dashboard-master .dashboard-filter-card .btn-secondary {
    min-height: 38px;
}

.dashboard-master .dashboard-section-heading {
    margin-bottom: 10px;
    padding-bottom: 8px;
}

.dashboard-master .dashboard-section-heading h2 {
    font-size: 1.05rem;
}

.dashboard-master .dashboard-section-heading p {
    font-size: 0.86rem;
}

.dashboard-master .dashboard-quick-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
}

.dashboard-master .dashboard-quick-card {
    min-height: 0;
    gap: 10px;
    padding: 13px;
}

.dashboard-master .dashboard-quick-card p {
    min-height: 36px;
    margin: 0;
    color: #64748b;
    font-size: 0.82rem;
    line-height: 1.35;
}

.dashboard-master .dashboard-quick-card .btn-secondary {
    min-height: 34px;
    padding: 7px 9px;
    font-size: 0.8rem;
}

.dashboard-master .shortcut-card-heading {
    gap: 8px;
}

.dashboard-master .shortcut-card-heading h3 {
    font-size: 0.95rem;
    line-height: 1.2;
}

.dashboard-master .shortcut-icon {
    flex-basis: 30px;
    width: 30px;
    height: 30px;
    border-radius: 8px;
}

.dashboard-master .dashboard-kpi-grid {
    gap: 10px;
}

.dashboard-master .dashboard-primary-kpis {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.dashboard-master .dashboard-secondary-kpis {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.dashboard-master .dashboard-mini-kpi-grid {
    grid-template-columns: repeat(3, minmax(150px, 1fr));
    align-items: stretch;
}

.dashboard-master .dashboard-kpi-card {
    min-height: 0;
    padding: 14px;
}

.dashboard-master .dashboard-mini-kpi-card {
    min-width: 0;
    padding: 13px 14px;
}

.dashboard-master .indicator-title {
    margin-bottom: 6px;
    font-size: 0.72rem;
    letter-spacing: 0;
}

.dashboard-master .dashboard-mini-kpi-card .indicator-title {
    white-space: nowrap;
    word-break: keep-all;
    overflow-wrap: normal;
    font-size: 0.7rem;
}

.dashboard-master .indicator-value {
    margin-bottom: 5px;
    font-size: clamp(1.08rem, 1.45vw, 1.45rem);
}

.dashboard-master .dashboard-mini-kpi-card .indicator-value {
    font-size: clamp(1.05rem, 1.25vw, 1.32rem);
}

.dashboard-master .indicator-meta {
    font-size: 0.76rem;
    line-height: 1.3;
}

.dashboard-master .dashboard-mini-kpi-card .indicator-meta {
    font-size: 0.72rem;
    overflow-wrap: normal;
}

.dashboard-master .dashboard-financial-groups {
    gap: 14px;
}

.dashboard-master .dashboard-indicator-group {
    padding: 14px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 8px;
    background: #ffffff;
}

.dashboard-master .dashboard-section-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    align-items: start;
}

.dashboard-master .dashboard-operation-grid {
    grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1.1fr);
}

.dashboard-master .dashboard-cash-card {
    gap: 14px;
}

.dashboard-master .dashboard-cash-card .panel-header,
.dashboard-master .dashboard-table-card .panel-header {
    align-items: flex-start;
    gap: 12px;
    padding-bottom: 10px;
}

.dashboard-master .dashboard-cash-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.dashboard-master .dashboard-cash-grid .cashier-card-item {
    min-height: 0;
    padding: 11px;
}

.dashboard-master .dashboard-cash-grid .cashier-card-item span {
    font-size: 0.72rem;
}

.dashboard-master .dashboard-cash-grid .cashier-card-item strong {
    font-size: 0.98rem;
}

.dashboard-master .dashboard-table-card {
    min-width: 0;
}

.dashboard-master .table-responsive {
    overflow-x: auto;
}

.dashboard-master .dashboard-table {
    width: 100%;
    table-layout: auto;
}

.dashboard-master .dashboard-table th,
.dashboard-master .dashboard-table td {
    padding: 9px 10px;
    vertical-align: middle;
}

.dashboard-master .dashboard-table th {
    white-space: nowrap;
    font-size: 0.76rem;
}

.dashboard-master .dashboard-table td {
    font-size: 0.84rem;
}

.dashboard-master .dashboard-table td[data-label="Data"],
.dashboard-master .dashboard-table td[data-label="Vencimento"],
.dashboard-master .dashboard-table td[data-label="Total"],
.dashboard-master .dashboard-table td[data-label="Recebido"],
.dashboard-master .dashboard-table td[data-label="Pago"],
.dashboard-master .dashboard-table td[data-label="Saldo"] {
    white-space: nowrap;
}

.dashboard-master .dashboard-empty-state {
    padding: 18px;
    border-radius: 8px;
    background: #f8fafc;
    color: #64748b;
    font-weight: 700;
    text-align: center;
}

.dashboard-master .status-pill.success {
    border-color: rgba(22, 163, 74, 0.22);
    background: #dcfce7;
    color: #166534;
}

.dashboard-master .status-pill.warning {
    border-color: rgba(217, 119, 6, 0.24);
    background: #fef3c7;
    color: #92400e;
}

.dashboard-master .status-pill.neutral {
    border-color: rgba(71, 85, 105, 0.18);
    background: #f1f5f9;
    color: #475569;
}

.dashboard-master .status-pill.danger {
    border-color: rgba(220, 38, 38, 0.24);
    background: #fee2e2;
    color: #991b1b;
}

@media (min-width: 1600px) {
    .dashboard-master .dashboard-section-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .dashboard-master .dashboard-operation-grid {
        grid-template-columns: minmax(420px, 0.8fr) minmax(0, 1.2fr);
    }

    .dashboard-master .dashboard-mini-kpi-grid {
        grid-template-columns: repeat(5, minmax(140px, 1fr));
    }
}

@media (max-width: 1280px) {
    .dashboard-master .dashboard-quick-grid,
    .dashboard-master .dashboard-primary-kpis {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .dashboard-master .dashboard-secondary-kpis {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .dashboard-master .dashboard-mini-kpi-grid {
        grid-template-columns: repeat(3, minmax(145px, 1fr));
    }

    .dashboard-master .dashboard-operation-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .dashboard-master .dashboard-filter-card {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dashboard-master .dashboard-section-grid,
    .dashboard-master .dashboard-financial-groups {
        grid-template-columns: 1fr;
    }

    .dashboard-master .dashboard-mini-kpi-grid {
        grid-template-columns: repeat(3, minmax(145px, 1fr));
    }
}

@media (max-width: 768px) {
    .dashboard-master {
        gap: 14px;
    }

    .dashboard-master .dashboard-panel,
    .dashboard-master .dashboard-hero {
        padding: 14px;
    }

    .dashboard-master .dashboard-title-row,
    .dashboard-master .dashboard-cash-card .panel-header,
    .dashboard-master .dashboard-table-card .panel-header {
        align-items: stretch;
        flex-direction: column;
    }

    .dashboard-master .dashboard-hero-badges {
        justify-content: stretch;
    }

    .dashboard-master .dashboard-filter-card,
    .dashboard-master .dashboard-quick-grid,
    .dashboard-master .dashboard-primary-kpis,
    .dashboard-master .dashboard-secondary-kpis,
    .dashboard-master .dashboard-cash-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-master .dashboard-mini-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dashboard-master .dashboard-mini-kpi-card .indicator-title {
        font-size: 0.68rem;
    }

    .dashboard-master .dashboard-mini-kpi-card .indicator-meta {
        min-height: 0;
    }

    .dashboard-master .dashboard-quick-card p {
        min-height: 0;
    }

    .dashboard-master .dashboard-table th,
    .dashboard-master .dashboard-table td {
        white-space: normal;
    }

    .dashboard-master .dashboard-table td[data-label="Vencimento"] {
        white-space: nowrap;
    }
}

/* Audit Master V2 */
.audit-master {
    display: grid;
    gap: 18px;
}

.audit-master .panel-header-row {
    align-items: flex-start;
    padding: 18px;
    border: 1px solid rgba(37, 99, 235, 0.16);
    border-radius: 8px;
    background: linear-gradient(180deg, #ffffff 0%, #f6f9ff 100%);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

.audit-master .panel-header-row h2 {
    margin: 2px 0 4px;
    color: #0f172a;
    font-size: clamp(1.35rem, 2vw, 1.8rem);
    line-height: 1.12;
}

.audit-master .panel-header-row p {
    margin: 0;
    color: #64748b;
    line-height: 1.45;
}

.audit-master .audit-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.audit-master .audit-kpi-card {
    position: relative;
    min-height: 0;
    padding: 14px 14px 14px 48px;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-left: 4px solid #2563eb;
    border-radius: 8px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
}

.audit-master .audit-kpi-warning {
    border-left-color: #d97706;
}

.audit-master .audit-kpi-icon {
    position: absolute;
    top: 14px;
    left: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border: 1px solid rgba(37, 99, 235, 0.18);
    border-radius: 8px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: 0.82rem;
    font-weight: 900;
}

.audit-master .audit-kpi-card h3 {
    margin: 0 0 6px;
    color: #64748b;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
    white-space: nowrap;
}

.audit-master .audit-kpi-card strong {
    display: block;
    color: #0f172a;
    font-size: clamp(1.08rem, 1.6vw, 1.55rem);
    line-height: 1.15;
    word-break: normal;
}

.audit-master .audit-filter-card {
    padding: 14px;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}

.audit-master .audit-filter-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(150px, 1fr));
    gap: 12px;
    align-items: end;
}

.audit-master .audit-filter-grid .form-group {
    min-width: 0;
}

.audit-master .audit-filter-grid label {
    color: #475569;
    font-size: 0.78rem;
    font-weight: 800;
}

.audit-master .audit-filter-grid input,
.audit-master .audit-filter-grid select {
    width: 100%;
    min-height: 40px;
}

.audit-master .audit-filter-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 12px;
}

.audit-master .audit-filter-actions .btn-primary,
.audit-master .audit-filter-actions .btn-secondary {
    min-height: 38px;
}

.audit-master .audit-pagination-info {
    margin: 0;
}

.audit-master .audit-table-wrap {
    overflow-x: auto;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 8px;
    background: #ffffff;
}

.audit-master .audit-table {
    min-width: 980px;
    border: 0;
    border-radius: 0;
    table-layout: auto;
}

.audit-master .audit-table thead {
    background: #eef4ff;
}

.audit-master .audit-table th,
.audit-master .audit-table td {
    vertical-align: middle;
}

.audit-master .audit-table th {
    padding: 10px 12px;
    color: #334155;
    font-size: 0.77rem;
    font-weight: 900;
    white-space: nowrap;
}

.audit-master .audit-table td {
    padding: 10px 12px;
    color: #1f2937;
    font-size: 0.86rem;
}

.audit-master .audit-table tbody tr:hover {
    background: #f8fbff;
}

.audit-master .audit-date-cell,
.audit-master .audit-user-cell {
    white-space: nowrap;
}

.audit-master .audit-user-cell {
    max-width: 190px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.audit-master .audit-description-cell {
    min-width: 280px;
    max-width: 520px;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.45;
}

.audit-master .audit-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    min-height: 26px;
    padding: 5px 9px;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 999px;
    font-size: 0.76rem;
    font-weight: 800;
    line-height: 1.15;
    white-space: nowrap;
}

.audit-master .audit-module-badge {
    background: #eff6ff;
    color: #1d4ed8;
}

.audit-master .audit-action-badge {
    background: #ecfdf5;
    color: #166534;
}

.audit-master .audit-ip-badge {
    background: #f1f5f9;
    color: #475569;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}

.audit-master .audit-empty-state {
    padding: 22px;
    border-radius: 8px;
    background: #f8fafc;
    color: #64748b;
    font-weight: 800;
    text-align: center;
}

.audit-master .audit-pagination {
    justify-content: center;
    margin-top: 0;
}

.audit-master .audit-pagination .pagination-link,
.audit-master .audit-pagination .pagination-item {
    min-width: 38px;
    min-height: 38px;
    white-space: nowrap;
}

.audit-master .audit-pagination .pagination-disabled {
    color: #94a3b8;
}

@media (max-width: 1120px) {
    .audit-master .audit-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .audit-master .audit-filter-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .audit-master {
        gap: 14px;
    }

    .audit-master .panel-header-row {
        padding: 14px;
    }

    .audit-master .audit-kpi-grid,
    .audit-master .audit-filter-grid {
        grid-template-columns: 1fr;
    }

    .audit-master .audit-kpi-card {
        padding: 13px 13px 13px 46px;
    }

    .audit-master .audit-filter-actions {
        justify-content: stretch;
    }

    .audit-master .audit-filter-actions .btn-primary,
    .audit-master .audit-filter-actions .btn-secondary {
        width: 100%;
    }

    .audit-master .audit-table {
        min-width: 860px;
    }

    .audit-master .audit-pagination {
        justify-content: stretch;
    }

    .audit-master .audit-pagination .pagination-link,
    .audit-master .audit-pagination .pagination-item {
        flex: 1 1 42px;
    }
}

/* Auditoria V1.1 - refino visual seguro escopado */
.audit-master-page {
    overflow-x: hidden;
}

.audit-master-page .panel-header-row {
    position: relative;
    isolation: isolate;
    padding: 18px 22px;
    background:
        linear-gradient(135deg, rgba(239, 246, 255, 0.94), rgba(255, 255, 255, 0.98) 46%, rgba(240, 253, 250, 0.88)),
        #ffffff;
}


.audit-master-page .audit-title-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 6px;
}

.audit-master-page .audit-readonly-badge {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 5px 9px;
    border: 1px solid rgba(20, 184, 166, 0.26);
    border-radius: 8px;
    color: #0f766e;
    background: #ecfdf5;
    font-size: 0.74rem;
    font-weight: 900;
    line-height: 1;
}

.audit-master-page .audit-card-heading,
.audit-master-page .audit-list-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.audit-master-page .audit-card-heading h3,
.audit-master-page .audit-list-heading h3 {
    margin: 0;
    color: #0f172a;
    font-size: 1rem;
    line-height: 1.25;
}

.audit-master-page .audit-card-heading p,
.audit-master-page .audit-list-heading p {
    margin: 4px 0 0;
    color: #64748b;
    line-height: 1.45;
}

.audit-master-page .audit-kpi-card {
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.audit-master-page .audit-kpi-card:hover {
    transform: translateY(-1px);
    border-color: rgba(37, 99, 235, 0.24);
    box-shadow: 0 14px 26px rgba(15, 23, 42, 0.08);
}

.audit-master-page .audit-filter-card,
.audit-master-page .audit-table-wrap,
.audit-master-page .audit-pagination-info,
.audit-master-page .audit-pagination {
    border-radius: 8px;
}

.audit-master-page .audit-filter-grid input:focus,
.audit-master-page .audit-filter-grid select:focus {
    border-color: rgba(37, 99, 235, 0.45);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.10);
}

.audit-master-page .audit-filter-actions .btn-primary {
    box-shadow: 0 10px 22px rgba(37, 99, 235, 0.16);
}

.audit-master-page .audit-pagination-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    padding: 11px 13px;
    border: 1px solid rgba(15, 23, 42, 0.10);
    background: #f8fafc;
    color: #475569;
    font-weight: 800;
}

.audit-master-page .audit-list-heading {
    margin-bottom: -6px;
}

.audit-master-page .audit-action-badge.is-success {
    color: #047857;
    border-color: rgba(16, 185, 129, 0.28);
    background: #d1fae5;
}

.audit-master-page .audit-action-badge.is-warning {
    color: #92400e;
    border-color: rgba(245, 158, 11, 0.32);
    background: #fef3c7;
}

.audit-master-page .audit-action-badge.is-danger {
    color: #b91c1c;
    border-color: rgba(239, 68, 68, 0.28);
    background: #fee2e2;
}

.audit-master-page .audit-action-badge.is-neutral {
    color: #475569;
    border-color: rgba(148, 163, 184, 0.30);
    background: #f1f5f9;
}

@media (max-width: 768px) {
    .audit-master-page .panel-header-row {
        padding: 16px;
    }

    .audit-master-page .audit-title-row {
        gap: 8px;
    }

    .audit-master-page .audit-table-wrap {
        overflow-x: hidden;
        border: 0;
        background: transparent;
    }

    .audit-master-page .audit-table,
    .audit-master-page .audit-table thead,
    .audit-master-page .audit-table tbody,
    .audit-master-page .audit-table tr,
    .audit-master-page .audit-table th,
    .audit-master-page .audit-table td {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .audit-master-page .audit-table {
        border-spacing: 0;
        background: transparent;
    }

    .audit-master-page .audit-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
    }

    .audit-master-page .audit-table tbody {
        display: grid;
        gap: 10px;
    }

    .audit-master-page .audit-table tbody tr {
        border: 1px solid rgba(15, 23, 42, 0.10);
        border-radius: 8px;
        background: #ffffff;
        box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
        overflow: hidden;
    }

    .audit-master-page .audit-table td {
        display: grid;
        grid-template-columns: minmax(86px, 0.42fr) minmax(0, 1fr);
        gap: 8px;
        align-items: start;
        padding: 9px 11px;
        border-bottom: 1px solid rgba(15, 23, 42, 0.06);
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .audit-master-page .audit-table td:last-child {
        border-bottom: 0;
    }

    .audit-master-page .audit-table td::before {
        content: attr(data-label);
        color: #64748b;
        font-size: 0.7rem;
        font-weight: 900;
        text-transform: uppercase;
    }

    .audit-master-page .audit-table .audit-empty-state {
        display: block;
        text-align: center;
    }

    .audit-master-page .audit-table .audit-empty-state::before {
        content: none;
    }

    .audit-master-page .audit-description-cell,
    .audit-master-page .audit-user-cell {
        max-width: none;
        min-width: 0;
        overflow: visible;
        text-overflow: clip;
    }
}

/* Clients Master V2 */
.clients-master {
    display: grid;
    gap: 18px;
}

.clients-master .panel-header-row {
    align-items: flex-start;
}

.clients-master .clients-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.clients-master .clients-summary > div {
    padding: 16px;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-left: 4px solid #2563eb;
    border-radius: 8px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
}

.clients-master .clients-summary span {
    display: block;
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.clients-master .clients-summary strong {
    display: block;
    margin-top: 6px;
    color: #0f172a;
    font-size: 1.65rem;
    line-height: 1.1;
}

.clients-master .clients-filter-panel {
    display: grid;
    grid-template-columns: minmax(220px, 1.4fr) minmax(140px, 0.7fr) minmax(170px, 0.8fr) auto auto;
    align-items: end;
    gap: 12px;
    padding: 14px;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}

.clients-master .clients-filter-panel label {
    min-width: 0;
    color: #475569;
    font-size: 0.78rem;
    font-weight: 800;
}

.clients-master .clients-filter-panel input,
.clients-master .clients-filter-panel select,
.clients-master .clients-filter-panel .btn-secondary {
    width: 100%;
    min-height: 40px;
}

.clients-master .clients-list-meta {
    margin: 0;
}

.clients-master .clients-table-wrap {
    overflow-x: auto;
}

.clients-master .clients-table {
    width: 100%;
    min-width: 0;
    table-layout: auto;
}

.clients-master .clients-table th,
.clients-master .clients-table td {
    vertical-align: middle;
    word-break: normal;
    overflow-wrap: normal;
}

.clients-master .clients-table th {
    white-space: nowrap;
}

.clients-master .clients-table .client-name,
.clients-master .clients-table small,
.clients-master .clients-table td[data-label="Histórico"] strong,
.clients-master .clients-table td[data-label="Financeiro"] strong {
    display: block;
}

.clients-master .clients-actions {
    min-width: 220px;
    text-align: right;
}

.clients-master .clients-actions-row,
.clients-master .clients-actions-row form {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin: 0;
}

.clients-master .clients-actions-row {
    flex-wrap: wrap;
    max-width: 100%;
}

.clients-master .client-action-btn {
    min-width: 74px;
    flex: 0 0 auto;
    white-space: nowrap;
}

.clients-master .clients-pagination {
    justify-content: center;
    margin-top: 0;
}

.clients-master .clients-pagination .pagination-link,
.clients-master .clients-pagination .pagination-item {
    min-width: 38px;
    min-height: 38px;
    white-space: nowrap;
}

.clients-master .client-show-actions,
.clients-master .client-form-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

.clients-master .client-detail-grid,
.clients-master .client-history-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.clients-master .client-profile-card,
.clients-master .client-history-section,
.clients-master .client-form-section {
    padding: 18px;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 8px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}

.clients-master .client-profile-card h3,
.clients-master .client-history-section h3,
.clients-master .client-form-section h3 {
    margin: 0;
    color: #0f172a;
    font-size: 1rem;
}

.clients-master .client-detail-section dl {
    display: grid;
    gap: 10px;
    margin: 12px 0 0;
}

.clients-master .client-detail-section dl div {
    display: grid;
    grid-template-columns: minmax(130px, 0.7fr) minmax(0, 1fr);
    gap: 12px;
    align-items: center;
}

.clients-master .client-detail-section dt {
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 800;
}

.clients-master .client-detail-section dd {
    margin: 0;
    color: #0f172a;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.clients-master .client-history-table {
    min-width: 620px;
}

.clients-master .client-history-table th,
.clients-master .client-history-table td {
    vertical-align: middle;
}

.clients-master .client-history-table td[data-label="Data"],
.clients-master .client-history-table td[data-label="Vencimento"],
.clients-master .client-history-table td[data-label="Valor"],
.clients-master .client-history-table td[data-label="Saldo"] {
    white-space: nowrap;
}

.clients-master .client-form {
    display: grid;
    gap: 14px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.clients-master .client-form-heading {
    align-items: flex-start;
    margin-bottom: 12px;
}

.clients-master .client-form-heading p {
    margin: 3px 0 0;
    color: #64748b;
    font-size: 0.85rem;
}

.clients-master .client-section-icon {
    border-radius: 8px;
}

.clients-master .client-form .form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.clients-master .client-form label {
    min-width: 0;
    color: #475569;
    font-size: 0.82rem;
    font-weight: 800;
}

.clients-master .client-form input,
.clients-master .client-form select,
.clients-master .client-form textarea {
    width: 100%;
}

.clients-master .client-form .full-width {
    display: grid;
}

.clients-master .client-history-alert {
    margin: 0;
}

@media (max-width: 1280px) {
    .clients-master .clients-filter-panel {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .clients-master .clients-table {
        min-width: 0;
    }

    .clients-master .clients-actions {
        min-width: 190px;
    }

    .clients-master .clients-actions-row {
        width: min(100%, 168px);
        margin-left: auto;
    }
}

@media (max-width: 900px) {
    .clients-master .client-detail-grid,
    .clients-master .client-history-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .clients-master .panel-header-row {
        align-items: stretch;
    }

    .clients-master .clients-summary,
    .clients-master .clients-filter-panel,
    .clients-master .client-form .form-grid {
        grid-template-columns: 1fr;
    }

    .clients-master .clients-table {
        min-width: 0;
    }

    .clients-master .clients-actions {
        min-width: 0;
        text-align: left;
    }

    .clients-master .clients-actions-row,
    .clients-master .clients-actions-row form {
        justify-content: stretch;
        width: 100%;
    }

    .clients-master .client-action-btn {
        flex: 1 1 112px;
        min-width: 112px;
        white-space: nowrap;
    }

    .clients-master .table-responsive .action-column .client-action-btn {
        white-space: nowrap;
    }

    .clients-master .clients-pagination .pagination-link,
    .clients-master .clients-pagination .pagination-item {
        flex: 1 1 42px;
    }

    .clients-master .client-show-actions,
    .clients-master .client-form-actions {
        justify-content: stretch;
    }

    .clients-master .client-show-actions a,
    .clients-master .client-form-actions a,
    .clients-master .client-form-actions button {
        width: 100%;
    }

    .clients-master .client-detail-section dl div {
        grid-template-columns: 1fr;
        gap: 4px;
    }
}

/* Suppliers Master V2 */
.suppliers-master {
    display: grid;
    gap: 18px;
}

.suppliers-master .suppliers-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.suppliers-master .suppliers-summary > div {
    padding: 16px;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-left: 4px solid #2563eb;
    border-radius: 8px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
}

.suppliers-master .suppliers-summary span {
    display: block;
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.suppliers-master .suppliers-summary strong {
    display: block;
    margin-top: 6px;
    color: #0f172a;
    font-size: 1.65rem;
    line-height: 1.1;
}

.suppliers-master .suppliers-filter-panel {
    display: grid;
    grid-template-columns: minmax(220px, 1.4fr) minmax(140px, 0.7fr) minmax(170px, 0.8fr) auto auto;
    align-items: end;
    gap: 12px;
    padding: 14px;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}

.suppliers-master .suppliers-filter-panel label {
    min-width: 0;
    color: #475569;
    font-size: 0.78rem;
    font-weight: 800;
}

.suppliers-master .suppliers-filter-panel input,
.suppliers-master .suppliers-filter-panel select,
.suppliers-master .suppliers-filter-panel .btn-secondary {
    width: 100%;
    min-height: 40px;
}

.suppliers-master .suppliers-list-meta {
    margin: 0;
}

.suppliers-master .suppliers-table-wrap {
    overflow-x: auto;
}

.suppliers-master .suppliers-table {
    width: 100%;
    min-width: 0;
    table-layout: auto;
}

.suppliers-master .suppliers-table th,
.suppliers-master .suppliers-table td {
    vertical-align: middle;
    word-break: normal;
    overflow-wrap: normal;
}

.suppliers-master .suppliers-table th {
    white-space: nowrap;
}

.suppliers-master .suppliers-table .client-name,
.suppliers-master .suppliers-table small,
.suppliers-master .suppliers-table td[data-label="Compras"] strong {
    display: block;
}

.suppliers-master .suppliers-actions {
    min-width: 220px;
    text-align: right;
}

.suppliers-master .suppliers-actions-row,
.suppliers-master .suppliers-actions-row form {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin: 0;
}

.suppliers-master .suppliers-actions-row {
    flex-wrap: wrap;
    max-width: 100%;
}

.suppliers-master .supplier-action-btn {
    flex: 0 0 auto;
    min-width: 74px;
    white-space: nowrap;
}

.suppliers-master .suppliers-pagination {
    justify-content: center;
    margin-top: 0;
}

.suppliers-master .suppliers-pagination .pagination-link,
.suppliers-master .suppliers-pagination .pagination-item {
    min-width: 38px;
    min-height: 38px;
    white-space: nowrap;
}

.suppliers-master .client-show-actions,
.suppliers-master .client-form-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

.suppliers-master .client-detail-section,
.suppliers-master .client-history-section,
.suppliers-master .client-form-section {
    border-radius: 8px;
}

@media (max-width: 1280px) {
    .suppliers-master .suppliers-filter-panel {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .suppliers-master .suppliers-actions {
        min-width: 190px;
    }

    .suppliers-master .suppliers-actions-row {
        width: min(100%, 168px);
        margin-left: auto;
    }
}

@media (max-width: 768px) {
    .suppliers-master .panel-header-row {
        align-items: stretch;
    }

    .suppliers-master .suppliers-summary,
    .suppliers-master .suppliers-filter-panel {
        grid-template-columns: 1fr;
    }

    .suppliers-master .suppliers-actions {
        min-width: 0;
        text-align: left;
    }

    .suppliers-master .suppliers-actions-row,
    .suppliers-master .suppliers-actions-row form {
        justify-content: stretch;
        width: 100%;
    }

    .suppliers-master .supplier-action-btn {
        flex: 1 1 112px;
        min-width: 112px;
        white-space: nowrap;
    }

    .suppliers-master .table-responsive .action-column .supplier-action-btn {
        white-space: nowrap;
    }

    .suppliers-master .suppliers-pagination .pagination-link,
    .suppliers-master .suppliers-pagination .pagination-item {
        flex: 1 1 42px;
    }

    .suppliers-master .client-show-actions,
    .suppliers-master .client-form-actions {
        justify-content: stretch;
    }

    .suppliers-master .client-show-actions a,
    .suppliers-master .client-form-actions a,
    .suppliers-master .client-form-actions button {
        width: 100%;
    }
}

/* Financeiro Master V2 - revisao final */
.financial-master {
    display: grid;
    gap: 18px;
    border-radius: 8px;
}

.financial-master .financial-hero {
    align-items: flex-start;
    gap: 18px;
    padding-bottom: 18px;
}

.financial-master .financial-hero h2 {
    color: #0f172a;
    letter-spacing: 0;
}

.financial-master .financial-hero p {
    max-width: 720px;
    color: #64748b;
    line-height: 1.55;
}

.financial-master .financial-hero-action {
    min-width: 190px;
    border-color: rgba(15, 23, 42, 0.12);
    background: #ffffff;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
    white-space: nowrap;
}

.financial-master .financial-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 10px;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 8px;
    background: #f8fafc;
}

.financial-master .financial-nav a {
    flex: 1 1 150px;
    min-height: 38px;
    border-color: rgba(15, 23, 42, 0.10);
    background: #ffffff;
    box-shadow: 0 6px 14px rgba(15, 23, 42, 0.04);
}

.financial-master .financial-cards {
    grid-template-columns: repeat(4, minmax(160px, 1fr));
    gap: 14px;
}

.financial-master .financial-card,
.financial-master .financial-filter-card,
.financial-master .financial-record-card {
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 8px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}

.financial-master .indicator-card.financial-card,
.financial-master .financial-flow-card.financial-card {
    position: relative;
    overflow: hidden;
}

.financial-master .indicator-card.financial-card::before,
.financial-master .financial-flow-card.financial-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: #2563eb;
}

.financial-master .financial-card-warning::before {
    background: #f59e0b !important;
}

.financial-master .financial-card-success::before {
    background: #16a34a !important;
}

.financial-master .financial-card-danger::before {
    background: #dc2626 !important;
}

.financial-master .financial-card-balance::before {
    background: #0891b2 !important;
}

.financial-master .indicator-title,
.financial-master .financial-flow-card span {
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.financial-master .indicator-value,
.financial-master .financial-flow-card strong {
    color: #0f172a;
    font-size: 1.46rem;
    line-height: 1.12;
}

.financial-master .indicator-meta,
.financial-master .financial-flow-card small {
    color: #64748b;
    font-weight: 700;
}

.financial-master .financial-section {
    padding: 18px;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}

.financial-master .financial-section-heading {
    align-items: flex-start;
    margin-bottom: 0;
    border-bottom-color: rgba(148, 163, 184, 0.20);
}

.financial-master .financial-filter-card {
    margin-top: 0;
    overflow: hidden;
}

.financial-master .financial-filter-card summary {
    padding: 13px 15px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.16);
    color: #334155;
    font-weight: 900;
}

.financial-master .financial-filter-panel {
    grid-template-columns: repeat(4, minmax(150px, 1fr));
    gap: 12px;
    padding: 14px;
    border: 0;
    border-radius: 0;
    background: #ffffff;
    box-shadow: none;
}

.financial-master .financial-filter-panel input,
.financial-master .financial-filter-panel select {
    min-width: 0;
    border-radius: 8px;
}

.financial-master .financial-filter-panel .btn-primary,
.financial-master .financial-filter-panel .btn-secondary {
    min-height: 42px;
}

.financial-master .financial-table-wrap {
    margin-top: 0;
    overflow-x: auto;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 8px;
    background: #ffffff;
}

.financial-master .financial-table {
    min-width: 980px;
}

.financial-master .financial-table th,
.financial-master .financial-table td {
    padding: 13px 14px;
    vertical-align: middle;
}

.financial-master .financial-table th {
    background: #f8fafc;
    color: #475569;
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.financial-master .financial-money {
    color: #0f172a;
    font-weight: 900;
}

.financial-master .financial-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 26px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 0.76rem;
    font-weight: 900;
    line-height: 1;
}

.financial-master .financial-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 7px 10px;
    border-radius: 8px;
    font-weight: 900;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
}

.financial-master .financial-action-primary {
    border-color: rgba(37, 99, 235, 0.20);
    background: #eff6ff;
    color: #1d4ed8;
}

.financial-master .financial-action-danger {
    border-color: rgba(220, 38, 38, 0.22);
    background: #fff1f2;
    color: #b91c1c;
}

.financial-master .financial-record-card {
    gap: 0;
    padding: 18px;
}

.financial-master .financial-record-card .cashier-summary-row {
    padding: 13px 0;
    border-bottom: 1px solid rgba(148, 163, 184, 0.18);
}

.financial-master .financial-record-card .cashier-summary-row:last-child {
    border-bottom: 0;
}

.financial-master .financial-record-card .cashier-summary-row strong {
    color: #64748b;
    font-size: 0.78rem;
    letter-spacing: 0;
    text-transform: uppercase;
}

.financial-master .financial-record-card .cashier-summary-row span {
    color: #0f172a;
    font-weight: 900;
}

.financial-master .financial-movement-form {
    display: grid;
    gap: 16px;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}

.financial-master .financial-movement-form .form-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.financial-master .financial-movement-form label {
    gap: 8px;
    color: #334155;
    font-weight: 800;
}

.financial-master .financial-save-button {
    width: fit-content;
    min-width: 230px;
    min-height: 46px;
    border-radius: 8px;
    box-shadow: 0 12px 24px rgba(37, 99, 235, 0.18);
}

.financial-master .financial-detail-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.financial-master .financial-cancel-form {
    display: grid;
    flex: 1 1 320px;
    gap: 10px;
    margin: 0;
}

@media (max-width: 1180px) {
    .financial-master .financial-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .financial-master .financial-filter-panel {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .financial-master .financial-hero {
        align-items: stretch;
    }

    .financial-master .financial-hero-action,
    .financial-master .financial-nav a,
    .financial-master .financial-back-top,
    .financial-master .financial-filter-panel .btn-primary,
    .financial-master .financial-filter-panel .btn-secondary {
        width: 100%;
    }

    .financial-master .financial-cards,
    .financial-master .financial-flow-grid,
    .financial-master .financial-filter-panel,
    .financial-master .financial-movement-form .form-grid {
        grid-template-columns: 1fr;
    }

    .financial-master .financial-section,
    .financial-master .financial-record-card,
    .financial-master .financial-movement-form {
        padding: 16px;
    }

    .financial-master .financial-table {
        min-width: 0;
    }

    .financial-master .financial-table-wrap {
        border: 0;
    }

    .financial-master .financial-table .table-actions,
    .financial-master .financial-table .table-actions form {
        justify-content: stretch;
        width: 100%;
    }

    .financial-master .financial-action-btn,
    .financial-master .financial-save-button {
        width: 100%;
        min-width: 0;
    }
}

/* Configuracoes Master V2 */
.settings-master {
    display: grid;
    gap: 18px;
    border-radius: 8px;
}

.settings-master .settings-hero {
    display: grid;
    grid-template-columns: minmax(260px, 0.95fr) minmax(320px, 1.05fr);
    gap: 20px;
    align-items: start;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.20);
}

.settings-master .settings-hero h2 {
    color: #0f172a;
    letter-spacing: 0;
}

.settings-master .settings-hero p {
    max-width: 720px;
    margin: 0;
    color: #64748b;
    line-height: 1.55;
}

.settings-master .settings-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    align-items: stretch;
}

.settings-master .settings-nav-link,
.settings-master .settings-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 9px 12px;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 8px;
    background: #ffffff;
    color: #334155;
    font-weight: 900;
    text-align: center;
    text-decoration: none;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
}

.settings-master .settings-nav-link.is-active {
    border-color: rgba(37, 99, 235, 0.28);
    background: #eff6ff;
    color: #1d4ed8;
}

.settings-master .settings-nav .btn-primary {
    grid-column: 1 / -1;
    color: #ffffff;
}

.settings-master .settings-form-card {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.settings-master .settings-layout-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 0.34fr);
    gap: 16px;
    align-items: start;
}

.settings-master .settings-main-column {
    display: grid;
    gap: 16px;
}

.settings-master .settings-section,
.settings-master .settings-card,
.settings-master .settings-table-section {
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}

.settings-master .settings-section-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 17px 18px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.18);
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.settings-master .settings-section-header.compact {
    padding: 15px 16px;
}

.settings-master .settings-section-icon {
    display: inline-flex;
    flex: 0 0 34px;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(37, 99, 235, 0.18);
    border-radius: 8px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: 0.76rem;
    font-weight: 900;
}

.settings-master .settings-section-header h3 {
    margin: 0;
    color: #0f172a;
    letter-spacing: 0;
}

.settings-master .settings-section-header p {
    margin: 3px 0 0;
    color: #64748b;
    font-size: 0.86rem;
    line-height: 1.4;
}

.settings-master .settings-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
    padding: 18px;
}

.settings-master .settings-form-grid label {
    min-width: 0;
    gap: 8px;
    color: #334155;
    font-weight: 800;
}

.settings-master .settings-label-text {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px;
    line-height: 1.25;
}

.settings-master .required {
    display: inline;
    color: #dc2626;
    font-weight: 900;
}

.settings-master .settings-form-grid input,
.settings-master .settings-form-grid select,
.settings-master .settings-form-grid textarea {
    width: 100%;
    min-width: 0;
    border-color: rgba(148, 163, 184, 0.38);
    border-radius: 8px;
    background: #ffffff;
}

.settings-master .settings-form-grid input:focus,
.settings-master .settings-form-grid select:focus,
.settings-master .settings-form-grid textarea:focus {
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
    outline: none;
}

.settings-master .settings-aside {
    display: grid;
    gap: 16px;
}

.settings-master .settings-card-body {
    display: grid;
    gap: 10px;
    padding: 16px;
}

.settings-master .settings-card-body p {
    margin: 0;
    color: #64748b;
    line-height: 1.5;
}

.settings-master .logo-preview {
    max-width: 100%;
    border-radius: 8px;
}

.settings-master .empty-logo {
    display: grid;
    min-height: 112px;
    place-items: center;
    border: 1px dashed rgba(100, 116, 139, 0.30);
    background: #f8fafc;
    color: #64748b;
    font-weight: 800;
}

.settings-master .settings-save-button {
    width: 100%;
    min-height: 48px;
    border-radius: 8px;
    box-shadow: 0 12px 24px rgba(37, 99, 235, 0.18);
}

.settings-master .settings-table-wrap {
    margin: 0;
    overflow-x: auto;
}

.settings-master .settings-table {
    min-width: 980px;
}

.settings-master .settings-companies-table {
    min-width: 860px;
    table-layout: fixed;
}

.settings-master .settings-companies-table th:nth-child(1),
.settings-master .settings-companies-table td:nth-child(1) {
    width: 58px;
}

.settings-master .settings-companies-table th:nth-child(2),
.settings-master .settings-companies-table td:nth-child(2) {
    width: 25%;
}

.settings-master .settings-companies-table th:nth-child(3),
.settings-master .settings-companies-table td:nth-child(3) {
    width: 118px;
    white-space: nowrap;
}

.settings-master .settings-companies-table th:nth-child(4),
.settings-master .settings-companies-table td:nth-child(4) {
    width: 17%;
}

.settings-master .settings-companies-table th:nth-child(5),
.settings-master .settings-companies-table td:nth-child(5) {
    width: 110px;
}

.settings-master .settings-companies-table th:nth-child(6),
.settings-master .settings-companies-table td:nth-child(6) {
    width: 132px;
}

.settings-master .settings-companies-table th:nth-child(7),
.settings-master .settings-companies-table td:nth-child(7) {
    width: 86px;
}

.settings-master .settings-companies-table th:nth-child(8),
.settings-master .settings-companies-table td:nth-child(8) {
    width: 128px;
}

.settings-master .settings-table th,
.settings-master .settings-table td {
    padding: 11px 12px;
    vertical-align: middle;
}

.settings-master .settings-table th {
    background: #f8fafc;
    color: #475569;
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.settings-master .settings-table td strong,
.settings-master .settings-table td small {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}

.settings-master .settings-table td small {
    margin-top: 3px;
    color: #64748b;
    font-size: 0.76rem;
    line-height: 1.28;
}

.settings-master .settings-status-badge {
    display: inline-flex;
    width: fit-content;
    margin-top: 5px;
    padding: 4px 9px;
    border-radius: 999px;
    font-size: 0.74rem;
    font-weight: 900;
}

.settings-master .settings-table-actions {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 6px;
    justify-content: flex-start;
    min-width: 116px;
}

.settings-master .settings-company-delete-form {
    display: flex;
    margin: 0;
    width: 100%;
}

.settings-master .settings-table-actions .settings-action-btn {
    width: 100%;
    min-height: 29px;
    padding: 5px 8px;
    box-shadow: none;
    font-size: 0.75rem;
    line-height: 1.1;
    white-space: normal;
}

.settings-master .settings-company-action-btn {
    max-width: 112px;
    align-self: flex-end;
}

.settings-master .settings-action-danger,
.settings-master .settings-danger-btn {
    border-color: rgba(220, 38, 38, 0.22);
    background: #fff1f2;
    color: #b91c1c;
}

.settings-master .settings-danger-btn:hover {
    border-color: rgba(220, 38, 38, 0.36);
    background: #ffe4e6;
    color: #991b1b;
}

.settings-master .settings-form-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

.settings-master .settings-form-actions .settings-action-btn,
.settings-master .settings-form-actions .settings-save-button {
    width: auto;
    min-width: 170px;
}

@media (max-width: 1180px) {
    .settings-master .settings-hero,
    .settings-master .settings-layout-grid {
        grid-template-columns: 1fr;
    }

    .settings-master .settings-aside {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .settings-master .settings-nav,
    .settings-master .settings-form-grid,
    .settings-master .settings-aside {
        grid-template-columns: 1fr;
    }

    .settings-master .settings-section-header {
        align-items: flex-start;
    }

    .settings-master .settings-form-grid,
    .settings-master .settings-card-body {
        padding: 16px;
    }

    .settings-master .settings-nav-link,
    .settings-master .settings-action-btn,
    .settings-master .settings-form-actions .settings-action-btn,
    .settings-master .settings-form-actions .settings-save-button {
        width: 100%;
    }

    .settings-master .settings-table {
        min-width: 0;
    }

    .settings-master .settings-table-actions {
        justify-content: stretch;
        min-width: 0;
    }

    .settings-master .settings-company-delete-form {
        width: 100%;
    }

    .settings-master .settings-company-action-btn {
        max-width: none;
        align-self: stretch;
    }
}

.settings-master .settings-action-btn.btn-primary {
    border-color: #2563eb;
    background: #2563eb;
    color: #ffffff;
}

.settings-master .settings-action-btn.btn-success {
    border-color: #86efac;
    background: #f0fdf4;
    color: #166534;
}

.settings-master .settings-action-btn.btn-warning {
    border-color: #fcd34d;
    background: #fffbeb;
    color: #b45309;
}

.settings-master .settings-action-btn.btn-danger {
    border-color: #fecaca;
    background: #fff1f2;
    color: #b91c1c;
}

/* Settings full-width layout */
.settings-fullwidth-page .main-area {
    flex: 1 1 auto;
    width: auto;
    max-width: none;
    min-width: 0;
}

.settings-fullwidth-page .page-panel,
.settings-fullwidth-page .settings-master {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

.settings-fullwidth-page .settings-layout-grid,
.settings-fullwidth-page .settings-table-wrap {
    width: 100%;
    max-width: none;
    min-width: 0;
}

.settings-fullwidth-page .settings-table {
    width: 100%;
}

@media (max-width: 760px) {
    .settings-fullwidth-page .main-area {
        width: auto;
        max-width: none;
    }
}

/* Controlled updates full-width layout */
.controlled-updates-page .main-area {
    flex: 1 1 auto;
    width: auto;
    max-width: none;
    min-width: 0;
}

.controlled-updates-page .page-panel {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

@media (max-width: 760px) {
    .controlled-updates-page .main-area {
        width: auto;
        max-width: none;
    }
}

/* Caixa Master V2 */
.cash-master {
    display: grid;
    width: 100%;
    max-width: 100%;
    justify-self: stretch;
    gap: 18px;
    border-radius: 8px;
}

.cash-master.cash-history-page {
    width: 100%;
    max-width: none;
    justify-self: stretch;
}

.main-area:has(.cash-history-page) {
    flex: 1 1 auto;
    width: auto;
    max-width: none;
}

.cash-master .cash-hero {
    align-items: flex-start;
    gap: 18px;
    padding-bottom: 18px;
}

.cash-master .cash-hero h2 {
    color: #0f172a;
    letter-spacing: 0;
}

.cash-master .cash-hero p {
    max-width: 720px;
    color: #64748b;
    line-height: 1.55;
}

.cash-master .cash-actions-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    justify-content: flex-end;
}

.cash-master .cash-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 8px 12px;
    border-radius: 8px;
    font-weight: 900;
    text-decoration: none;
    white-space: nowrap;
}

.cash-master .cash-danger-soft {
    border-color: rgba(220, 38, 38, 0.22);
    background: #fff1f2;
    color: #b91c1c;
}

.cash-master .cash-section,
.cash-master .cash-summary-card,
.cash-master .cash-form {
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}

.cash-master .cash-section {
    display: grid;
    gap: 16px;
    padding: 18px;
}

.cash-master .cash-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 28px;
    padding: 5px 11px;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 900;
    line-height: 1;
}

.cash-master .cash-summary-grid,
.cash-master .cashier-dashboard-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(150px, 1fr));
    gap: 14px;
}

.cash-master .cash-card,
.cash-master .indicator-card {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 8px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}

.cash-master .cash-card::before,
.cash-master .indicator-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: #2563eb;
}

.cash-master .indicator-title {
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.cash-master .indicator-value {
    color: #0f172a;
    font-size: 1.42rem;
    line-height: 1.12;
}

.cash-master .indicator-meta {
    color: #64748b;
    font-weight: 700;
}

.cash-master .cashier-details,
.cash-master .cash-summary-card {
    display: grid;
    gap: 0;
    padding: 16px;
}

.cash-master .cashier-details > div,
.cash-master .cash-summary-row {
    padding: 11px 0;
    border-bottom: 1px solid rgba(148, 163, 184, 0.18);
}

.cash-master .cashier-details > div:last-child,
.cash-master .cash-summary-row:last-child {
    border-bottom: 0;
}

.cash-master .cash-summary-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.cash-master .cash-summary-row strong {
    color: #64748b;
    font-size: 0.78rem;
    letter-spacing: 0;
    text-transform: uppercase;
}

.cash-master .cash-summary-row span {
    color: #0f172a;
    font-weight: 900;
    text-align: right;
}

.cash-master .cashier-summary-total {
    margin-top: 4px;
    padding: 14px 10px;
    border: 1px solid rgba(37, 99, 235, 0.16);
    border-radius: 8px;
    background: #eff6ff;
}

.cash-master .cash-filter-panel {
    display: grid;
    grid-template-columns: minmax(170px, 1.2fr) minmax(130px, 0.8fr) minmax(160px, 1fr) repeat(2, minmax(130px, 0.8fr)) minmax(150px, 0.9fr) auto auto;
    gap: 12px;
    align-items: end;
    max-width: 100%;
    box-sizing: border-box;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}

.cash-master .cash-filter-panel input,
.cash-master .cash-filter-panel select {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    border-radius: 8px;
}

.cash-master .cash-history-filters {
    width: 100%;
    max-width: 100%;
    justify-self: stretch;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}

.cash-master .cash-history-filters .btn-primary,
.cash-master .cash-history-filters .btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    min-height: 40px;
    box-sizing: border-box;
    white-space: nowrap;
}

.cash-master .cash-history-list {
    display: grid;
    width: 100%;
    max-width: 100%;
    justify-self: stretch;
    gap: 14px;
}

.cash-master .cash-history-empty {
    padding: 20px;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 8px;
    background: #ffffff;
    color: #64748b;
    font-weight: 800;
    text-align: center;
}

.cash-master .cash-history-card {
    display: grid;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    justify-self: stretch;
    gap: 16px;
    padding: 18px;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 8px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.055);
}

.cash-master .cash-history-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.18);
}

.cash-master .cash-history-card-title {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    min-width: 0;
    color: #0f172a;
    font-size: 1.02rem;
    font-weight: 950;
    line-height: 1.2;
}

.cash-master .cash-history-actions {
    flex: 0 0 auto;
}

.cash-master .cash-history-meta-grid,
.cash-master .cash-history-money-grid {
    display: grid;
    gap: 12px;
}

.cash-master .cash-history-meta-grid {
    grid-template-columns: minmax(220px, 1.15fr) repeat(2, minmax(150px, 0.85fr));
}

.cash-master .cash-history-money-grid {
    grid-template-columns: repeat(5, minmax(130px, 1fr));
}

.cash-master .cash-history-meta-item,
.cash-master .cash-history-money-item {
    display: grid;
    gap: 7px;
    min-width: 0;
    padding: 13px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 8px;
    background: #ffffff;
}

.cash-master .cash-history-meta-item strong,
.cash-master .cash-history-money-item strong {
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.2;
    text-transform: uppercase;
}

.cash-master .cash-history-meta-item span {
    min-width: 0;
    color: #0f172a;
    font-size: 0.95rem;
    font-weight: 900;
    line-height: 1.25;
    overflow-wrap: break-word;
}

.cash-master .cash-history-money-item span {
    color: #0f172a;
    font-size: 1.02rem;
    font-variant-numeric: tabular-nums;
    font-weight: 950;
    line-height: 1.2;
    white-space: nowrap;
}

.cash-master .cash-history-money-featured {
    border-color: rgba(37, 99, 235, 0.20);
    background: #eff6ff;
}

.cash-master .cash-history-money-featured span {
    color: #1d4ed8;
}

.cash-master .cash-history-difference {
    border-color: rgba(15, 23, 42, 0.12);
    background: #f8fafc;
}

.cash-master .cash-table {
    min-width: 920px;
}

.cash-master .cash-history-wrap {
    overflow-x: auto;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 8px;
    background: #ffffff;
}

.cash-master .cash-history-table {
    min-width: 1040px;
    table-layout: fixed;
}

.cash-master .cash-history-table .cash-col-id {
    width: 58px;
}

.cash-master .cash-history-table .cash-col-date {
    width: 124px;
}

.cash-master .cash-history-table .cash-col-operator {
    width: 150px;
}

.cash-master .cash-history-table .cash-col-money {
    width: 112px;
}

.cash-master .cash-history-table .cash-col-wide {
    width: 136px;
}

.cash-master .cash-history-table .cash-col-status {
    width: 98px;
}

.cash-master .cash-history-table .cash-col-actions {
    width: 104px;
}

.cash-master .cash-table th,
.cash-master .cash-table td {
    padding: 12px 13px;
    vertical-align: middle;
}

.cash-master .cash-table th {
    background: #f8fafc;
    color: #475569;
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
    white-space: nowrap;
}

.cash-master .cash-history-table th,
.cash-master .cash-history-table td {
    padding-right: 15px;
    padding-left: 15px;
}

.cash-master .cash-history-table th {
    font-size: 0.68rem;
    line-height: 1.2;
}

.cash-master .cash-cell-date {
    color: #334155;
    font-size: 0.86rem;
    font-weight: 800;
    line-height: 1.25;
    white-space: nowrap;
}

.cash-master .cash-cell-operator {
    color: #0f172a;
    font-weight: 900;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.cash-master .cash-cell-money {
    color: #0f172a;
    font-variant-numeric: tabular-nums;
    font-weight: 900;
    text-align: right;
    white-space: nowrap;
}

.cash-master .cash-cell-actions {
    text-align: right;
}

.cash-master .cash-table td[data-label*="Valor"],
.cash-master .cash-table td[data-label="Inicial"],
.cash-master .cash-table td[data-label="Recebido"],
.cash-master .cash-table td[data-label="Gaveta esperada"],
.cash-master .cash-table td[data-label="Informado"],
.cash-master .cash-table td[data-label="Diferença"],
.cash-master .cash-table td[data-label="Total"] {
    color: #0f172a;
    font-weight: 900;
    white-space: nowrap;
}

.cash-master .cash-details-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    padding: 16px;
}

.cash-master .cash-detail-item {
    display: grid;
    align-content: start;
    gap: 7px;
    min-height: 78px;
    padding: 14px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 8px;
    background: #f8fafc;
}

.cash-master .cash-detail-item strong {
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.2;
    text-transform: uppercase;
}

.cash-master .cash-detail-item span {
    color: #0f172a;
    font-size: 0.95rem;
    font-weight: 900;
    line-height: 1.25;
}

.cash-master .cash-detail-status {
    justify-items: start;
}

.cash-master .cash-money-item span {
    font-variant-numeric: tabular-nums;
}

.cash-master .cash-detail-total {
    border-color: rgba(37, 99, 235, 0.20);
    background: #eff6ff;
}

.cash-master .cash-detail-total span {
    color: #1d4ed8;
    font-size: 1.08rem;
}

.cash-master .cash-close-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 18px;
}

.cash-master .cash-close-summary .cashier-summary-row {
    min-height: 50px;
}

.cash-master .cash-close-highlight {
    grid-column: 1 / -1;
    margin-top: 10px;
    padding: 18px;
    background: linear-gradient(180deg, #eff6ff 0%, #dbeafe 100%);
}

.cash-master .cash-close-highlight strong {
    color: #1e40af;
}

.cash-master .cash-close-highlight span {
    color: #1d4ed8;
    font-size: 1.25rem;
}

.cash-master .cash-close-form {
    gap: 18px;
}

.cash-master .cash-close-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.cash-master .cash-close-observation {
    grid-column: 1 / -1;
}

.cash-master .cash-form {
    display: grid;
    gap: 16px;
    padding: 18px;
}

.cash-master .cash-form label {
    gap: 8px;
    color: #334155;
    font-weight: 800;
}

.cash-master .cash-form input,
.cash-master .cash-form textarea,
.cash-master .cash-form select {
    width: 100%;
    border-radius: 8px;
}

.cash-master .cash-form-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

.cash-master .cashier-pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
}

.cash-master .cashier-pagination a {
    min-width: 36px;
    min-height: 36px;
    padding: 7px 10px;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 8px;
    background: #ffffff;
    text-align: center;
    text-decoration: none;
}

@media (max-width: 1180px) {
    .cash-master .cash-summary-grid,
    .cash-master .cashier-dashboard-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cash-master .cash-filter-panel {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cash-master .cash-history-filters,
    .cash-master .cash-history-money-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cash-master .cash-history-meta-grid {
        grid-template-columns: 1fr 1fr;
    }

    .cash-master .cash-details-grid,
    .cash-master .cash-close-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .cash-master .cash-hero {
        align-items: stretch;
    }

    .cash-master .cash-summary-grid,
    .cash-master .cashier-dashboard-grid,
    .cash-master .cash-filter-panel,
    .cash-master .cash-history-filters,
    .cash-master .cash-history-meta-grid,
    .cash-master .cash-history-money-grid,
    .cash-master .cash-details-grid,
    .cash-master .cash-close-summary,
    .cash-master .cash-close-fields {
        grid-template-columns: 1fr;
    }

    .cash-master .cash-actions-row,
    .cash-master .cash-form-actions {
        justify-content: stretch;
    }

    .cash-master .cash-action-btn,
    .cash-master .cash-form-actions .btn-primary,
    .cash-master .cash-form-actions .btn-secondary,
    .cash-master .cash-filter-panel .btn-primary,
    .cash-master .cash-filter-panel .btn-secondary {
        width: 100%;
    }

    .cash-master .cash-section,
    .cash-master .cash-form,
    .cash-master .cash-summary-card {
        padding: 16px;
    }

    .cash-master .cash-summary-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 5px;
    }

    .cash-master .cash-summary-row span {
        text-align: left;
    }

    .cash-master .cash-table {
        min-width: 0;
    }

    .cash-master .cash-history-wrap {
        border: 0;
        background: transparent;
    }

    .cash-master .cash-history-table {
        min-width: 0;
        table-layout: auto;
    }

    .cash-master .cash-history-table thead {
        display: none;
    }

    .cash-master .cash-history-table,
    .cash-master .cash-history-table tbody,
    .cash-master .cash-history-table tr,
    .cash-master .cash-history-table td {
        display: block;
        width: 100%;
    }

    .cash-master .cash-history-table tr {
        margin-bottom: 12px;
        padding: 12px;
        border: 1px solid rgba(15, 23, 42, 0.10);
        border-radius: 8px;
        background: #ffffff;
        box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
    }

    .cash-master .cash-history-table td {
        display: flex;
        justify-content: space-between;
        gap: 14px;
        padding: 9px 0;
        border-bottom: 1px solid rgba(148, 163, 184, 0.16);
        text-align: right;
    }

    .cash-master .cash-history-table td:last-child {
        border-bottom: 0;
    }

    .cash-master .cash-history-table td::before {
        content: attr(data-label);
        color: #64748b;
        font-size: 0.72rem;
        font-weight: 900;
        text-align: left;
        text-transform: uppercase;
    }

    .cash-master .cash-cell-actions {
        justify-content: stretch;
        text-align: left;
    }

    .cash-master .cash-cell-actions::before {
        display: none;
    }

    .cash-master .cash-detail-item {
        min-height: 0;
    }

    .cash-master .cash-history-card {
        padding: 15px;
    }

    .cash-master .cash-history-card-header {
        align-items: stretch;
        flex-direction: column;
    }

    .cash-master .cash-history-actions,
    .cash-master .cash-history-actions .cash-action-btn {
        width: 100%;
    }

    .cash-master .cash-history-meta-item,
    .cash-master .cash-history-money-item {
        padding: 12px;
    }

    .cash-master .cash-history-money-item span {
        white-space: normal;
    }

    .cash-master .cash-close-highlight {
        grid-column: auto;
    }

    .cash-master .cash-close-observation {
        grid-column: auto;
    }
}

/* Comissões Master V2.1 - ajustes finais de escopo */
.commissions-master-page .commissions-settings-footer .commissions-action-btn {
    width: auto;
    max-width: 100%;
}

@media (max-width: 760px) {
    .commissions-master-page .commissions-settings-footer .commissions-action-btn {
        width: 100%;
    }
}

/* Suporte Online Master V2 */
.support-master-page {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
    overflow-x: hidden;
}

.support-master-page,
.support-master-page * {
    box-sizing: border-box;
}

.support-master-page .panel-header-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    min-width: 0;
    padding: 26px;
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 18px;
    background:
        linear-gradient(135deg, rgba(236, 253, 245, 0.9), rgba(255, 255, 255, 0.98) 48%, rgba(239, 246, 255, 0.78)),
        #ffffff;
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.08);
}

.support-master-page .panel-header-row > div:first-child {
    min-width: 0;
}

.support-master-page .page-label {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    color: #0f766e;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.support-master-page .panel-header-row h2 {
    margin-top: 8px;
    color: #0f172a;
    font-size: 1.72rem;
    line-height: 1.18;
}

.support-master-page .panel-header-row p {
    max-width: 760px;
    margin-top: 8px;
    color: #475569;
    line-height: 1.55;
}

.support-master-page .panel-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 10px;
    flex: 0 1 330px;
    min-width: 0;
}

.support-master-page .panel-actions .btn-primary,
.support-master-page .panel-actions .btn-secondary,
.support-master-page > .panel-header-row > .btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    max-width: 100%;
    padding: 10px 14px;
    white-space: nowrap;
}

.support-master-page .dashboard-topcards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 0;
}

.support-master-page .indicator-card,
.support-master-page .shortcut-card,
.support-master-page .dashboard-panel,
.support-master-page .form-card {
    min-width: 0;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
}

.support-master-page .indicator-card {
    position: relative;
    overflow: hidden;
    min-height: 122px;
}

.support-master-page .indicator-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: #14b8a6;
}

.support-master-page .indicator-title {
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 900;
}

.support-master-page .indicator-value {
    color: #0f172a;
    font-size: 1.78rem;
    font-weight: 900;
}

.support-master-page .indicator-meta {
    color: #0f766e;
    font-weight: 800;
}

.support-master-page .dashboard-shortcuts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 14px;
    margin: 0;
}

.support-master-page .shortcut-card {
    display: grid;
    gap: 10px;
    align-content: start;
    padding: 18px;
}

.support-master-page .shortcut-card h3 {
    color: #0f172a;
    font-size: 1rem;
}

.support-master-page .shortcut-card p {
    color: #64748b;
    line-height: 1.5;
}

.support-master-page .shortcut-card .btn-secondary {
    justify-self: start;
}

.support-master-page .dashboard-panel,
.support-master-page .form-card {
    display: grid;
    gap: 16px;
    padding: 20px;
}

.support-master-page .panel-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    min-width: 0;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.18);
}

.support-master-page .panel-header h2,
.support-master-page .settings-panel h3 {
    color: #0f172a;
    font-size: 1.08rem;
}

.support-master-page .panel-header p {
    color: #64748b;
    line-height: 1.5;
}

.support-master-page .report-filter-panel {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    align-items: end;
    gap: 12px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    padding: 16px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 14px;
    background: #f8fafc;
}

.support-master-page .report-filter-panel label,
.support-master-page .settings-panel label {
    min-width: 0;
    color: #475569;
    font-size: 0.82rem;
    font-weight: 800;
}

.support-master-page .report-filter-panel select,
.support-master-page .settings-panel input,
.support-master-page .settings-panel select,
.support-master-page .settings-panel textarea {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    border-color: #dbe3ee;
    border-radius: 10px;
    background: #f8fafc;
}

.support-master-page .report-filter-panel .btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    margin-top: 0;
}

.support-master-page .table-responsive {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: visible;
    overflow-y: visible;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 14px;
    background: #ffffff;
}

.support-master-page .data-table {
    width: 100%;
    min-width: 0;
    margin: 0;
}

.support-master-page .data-table thead {
    background: #f1f5f9;
}

.support-master-page .data-table th,
.support-master-page .data-table td {
    padding: 12px 14px;
    color: #334155;
    line-height: 1.45;
    vertical-align: middle;
    word-break: normal;
    overflow-wrap: anywhere;
}

.support-master-page .data-table th {
    color: #475569;
    font-size: 0.74rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0;
}

.support-master-page .data-table tbody tr:hover {
    background: #f8fafc;
}

.support-master-page .data-table small {
    display: block;
    margin-top: 4px;
    color: #0f766e;
    font-weight: 800;
}

.support-master-page .table-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.support-master-page .btn-small {
    min-height: 34px;
    padding: 7px 10px;
    font-size: 0.82rem;
}

.support-master-page .status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 26px;
    padding: 5px 9px;
    border: 1px solid rgba(16, 185, 129, 0.28);
    border-radius: 999px;
    color: #047857;
    background: #d1fae5;
    font-size: 0.74rem;
    font-weight: 900;
    white-space: nowrap;
}

.support-master-page .empty-row {
    padding: 18px !important;
    color: #64748b;
    font-weight: 800;
    text-align: center;
    white-space: normal;
}

.support-master-page .settings-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    width: 100%;
    max-width: 100%;
}

.support-master-page .settings-panel {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    min-width: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.support-master-page .settings-panel .full-width,
.support-master-page .settings-panel h3,
.support-master-page .settings-panel button {
    grid-column: 1 / -1;
}

.support-master-page .settings-panel textarea {
    resize: vertical;
}

.support-master-page .cashier-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
}

.support-master-page .cashier-card-item {
    min-width: 0;
    padding: 14px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 12px;
    background: #f8fafc;
}

.support-master-page .cashier-card-item span {
    display: block;
    margin-bottom: 5px;
    color: #64748b;
    font-size: 0.76rem;
    font-weight: 900;
}

.support-master-page .cashier-card-item strong {
    display: block;
    color: #0f172a;
    overflow-wrap: anywhere;
}

.support-master-page .dashboard-panel > p {
    margin: 0;
    color: #334155;
    line-height: 1.65;
    overflow-wrap: anywhere;
}

@media (max-width: 980px) {
    .support-master-page .dashboard-topcards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .support-master-page .panel-header-row {
        flex-direction: column;
        align-items: stretch;
    }

    .support-master-page .panel-actions {
        justify-content: flex-start;
        width: 100%;
        flex-basis: auto;
    }
}

@media (max-width: 720px) {
    .support-master-page {
        gap: 16px;
    }

    .support-master-page .panel-header-row,
    .support-master-page .dashboard-panel,
    .support-master-page .form-card {
        padding: 16px;
        border-radius: 14px;
    }

    .support-master-page .dashboard-topcards,
    .support-master-page .settings-panel {
        grid-template-columns: 1fr;
    }

    .support-master-page .panel-actions,
    .support-master-page .report-filter-panel {
        grid-template-columns: 1fr;
    }

    .support-master-page .panel-actions .btn-primary,
    .support-master-page .panel-actions .btn-secondary,
    .support-master-page > .panel-header-row > .btn-secondary,
    .support-master-page .report-filter-panel .btn-secondary,
    .support-master-page .settings-panel button,
    .support-master-page .shortcut-card .btn-secondary {
        width: 100%;
    }

    .support-master-page .table-responsive {
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
    }

    .support-master-page .data-table {
        min-width: 640px;
    }

    .support-master-page .table-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 420px) {
    .support-master-page .panel-header-row h2 {
        font-size: 1.42rem;
    }

    .support-master-page .data-table {
        min-width: 580px;
    }
}
/* Suporte Online Master V2.1 - Ajuste seguro dos asteriscos */
.support-master-page .form-card label > .required {
    display: inline !important;
    margin-left: 4px;
    color: #ef4444;
    font-weight: 900;
    line-height: 1;
    vertical-align: baseline;
}

/* Suporte V1.1 - refino visual seguro e escopado */
.support-master-page .support-hero-copy {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.support-master-page .support-kicker {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    min-height: 24px;
    padding: 4px 9px;
    border: 1px solid rgba(37, 99, 235, 0.18);
    border-radius: 999px;
    color: #1d4ed8;
    background: #eff6ff;
    font-size: 0.72rem;
    font-weight: 900;
    line-height: 1;
}

.support-master-page .support-action-card {
    border-color: rgba(37, 99, 235, 0.16);
    background: linear-gradient(180deg, #ffffff, #f8fbff);
}

.support-master-page .support-action-card h3 {
    margin-top: 2px;
}

.support-master-page .support-card-tone-aberto::before {
    background: #2563eb;
}

.support-master-page .support-card-tone-em-analise::before {
    background: #d97706;
}

.support-master-page .support-card-tone-respondido::before {
    background: #7c3aed;
}

.support-master-page .support-card-tone-resolvido::before {
    background: #16a34a;
}

.support-master-page .support-list-panel {
    gap: 14px;
}

.support-master-page .support-filter-panel {
    background: linear-gradient(180deg, #ffffff, #f8fafc);
}

.support-master-page .support-ticket-form {
    background:
        linear-gradient(180deg, rgba(248, 250, 252, 0.72), #ffffff),
        #ffffff;
}

.support-master-page .support-form-intro {
    display: grid;
    gap: 8px;
    padding: 0 0 4px;
}

.support-master-page .support-form-intro h3 {
    margin: 0;
    color: #0f172a;
}

.support-master-page .support-form-intro p,
.support-master-page .support-form-footer small {
    margin: 0;
    color: #64748b;
    line-height: 1.5;
}

.support-master-page .support-form-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    padding-top: 4px;
}

.support-master-page .support-form-footer .btn-primary {
    width: auto;
}

.support-master-page .priority-badge,
.support-master-page .status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    max-width: 100%;
    min-height: 26px;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 0.74rem;
    font-weight: 900;
    line-height: 1.1;
    white-space: nowrap;
}

.support-master-page .status-aberto {
    border-color: rgba(37, 99, 235, 0.24);
    color: #1d4ed8;
    background: #dbeafe;
}

.support-master-page .status-em-analise {
    border-color: rgba(217, 119, 6, 0.28);
    color: #92400e;
    background: #fef3c7;
}

.support-master-page .status-respondido {
    border-color: rgba(124, 58, 237, 0.24);
    color: #6d28d9;
    background: #ede9fe;
}

.support-master-page .status-resolvido,
.support-master-page .status-fechado {
    border-color: rgba(22, 163, 74, 0.24);
    color: #15803d;
    background: #dcfce7;
}

.support-master-page .priority-baixa {
    color: #166534;
    background: #dcfce7;
}

.support-master-page .priority-media {
    color: #1d4ed8;
    background: #dbeafe;
}

.support-master-page .priority-alta {
    color: #92400e;
    background: #fef3c7;
}

.support-master-page .priority-urgente {
    color: #b91c1c;
    background: #fee2e2;
}

.support-master-page .support-detail-panel .cashier-card-grid {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}

.support-master-page .support-message-box {
    width: 100%;
    padding: 16px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 12px;
    color: #334155;
    background: #f8fafc;
    line-height: 1.65;
    overflow-wrap: anywhere;
}

.support-master-page .support-response-box {
    border-color: rgba(37, 99, 235, 0.18);
    background: #f8fbff;
}

.support-master-page .support-attachment-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    padding: 12px;
    border: 1px solid rgba(217, 119, 6, 0.2);
    border-radius: 12px;
    color: #92400e;
    background: #fffbeb;
    font-weight: 800;
}

.support-master-page .support-tech-panel .data-table th {
    width: 34%;
}

@media (max-width: 720px) {
    .support-master-page .support-form-footer {
        align-items: stretch;
    }

    .support-master-page .support-form-footer .btn-primary,
    .support-master-page .support-attachment-box .btn-secondary {
        width: 100%;
    }

    .support-master-page .support-attachment-box {
        align-items: stretch;
    }
}

/* Support full-width layout */
.support-fullwidth-page .main-area {
    flex: 1 1 auto;
    width: auto;
    max-width: none;
    min-width: 0;
}

.support-fullwidth-page .support-master-page {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

.support-fullwidth-page .support-master-page .support-tech-panel,
.support-fullwidth-page .support-master-page .support-list-panel,
.support-fullwidth-page .support-master-page .support-ticket-form,
.support-fullwidth-page .support-master-page .table-responsive {
    width: 100%;
    max-width: none;
    min-width: 0;
}

@media (max-width: 720px) {
    .support-fullwidth-page .main-area {
        width: auto;
        max-width: none;
    }
}

/* Licenca V1.1 - refino visual seguro e escopado */
.license-master-page {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

.license-master-page,
.license-master-page * {
    box-sizing: border-box;
}

.license-master-page .license-hero {
    align-items: flex-start;
    border: 1px solid rgba(37, 99, 235, 0.16);
    background:
        linear-gradient(135deg, rgba(239, 246, 255, 0.92), rgba(255, 255, 255, 0.98) 54%, rgba(240, 253, 250, 0.72)),
        #ffffff;
}

.license-master-page .license-security-badge,
.license-master-page .license-event-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    max-width: 100%;
    min-height: 26px;
    padding: 5px 10px;
    border: 1px solid rgba(37, 99, 235, 0.18);
    border-radius: 999px;
    color: #1d4ed8;
    background: #eff6ff;
    font-size: 0.74rem;
    font-weight: 900;
    line-height: 1.1;
}

.license-master-page .license-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 12px;
    min-width: 0;
}

.license-master-page .license-info-card,
.license-master-page .license-card-grid .cashier-card-item {
    display: grid;
    gap: 6px;
    min-width: 0;
    padding: 15px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 12px;
    background: #f8fafc;
}

.license-master-page .license-info-card span,
.license-master-page .license-card-grid .cashier-card-item span {
    color: #64748b;
    font-size: 0.76rem;
    font-weight: 900;
}

.license-master-page .license-info-card strong,
.license-master-page .license-card-grid .cashier-card-item strong {
    color: #0f172a;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.license-master-page .license-info-card small,
.license-master-page .license-card-grid .cashier-card-item small,
.license-master-page .license-sensitive-field small {
    color: #64748b;
    line-height: 1.45;
}

.license-master-page .license-status-card,
.license-master-page .status-ativo {
    border-color: rgba(22, 163, 74, 0.22);
    background: #f0fdf4;
}

.license-master-page .status-teste {
    border-color: rgba(217, 119, 6, 0.24);
    background: #fffbeb;
}

.license-master-page .status-vencido,
.license-master-page .status-bloqueado,
.license-master-page .status-suspenso {
    border-color: rgba(220, 38, 38, 0.2);
    background: #fef2f2;
}

.license-master-page .license-key-card {
    border-color: rgba(37, 99, 235, 0.2);
    background: #f8fbff;
}

.license-master-page .license-summary-panel,
.license-master-page .license-activation-panel,
.license-master-page .license-history-panel,
.license-master-page .license-admin-form {
    min-width: 0;
}

.license-master-page .license-inline-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
    align-items: end;
    gap: 14px;
    width: 100%;
    min-width: 0;
}

.license-master-page .license-inline-form label,
.license-master-page .license-admin-form label {
    min-width: 0;
}

.license-master-page .license-inline-form input,
.license-master-page .license-admin-form input,
.license-master-page .license-admin-form select,
.license-master-page .license-admin-form textarea {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.license-master-page .license-sensitive-field {
    display: grid;
    gap: 6px;
}

.license-master-page .license-history-panel .table-responsive {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
}

@media (max-width: 900px) {
    .license-master-page .license-inline-form {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .license-master-page {
        gap: 16px;
    }

    .license-master-page .license-security-badge,
    .license-master-page .license-inline-form .btn-primary,
    .license-master-page .license-admin-form .btn-primary {
        width: 100%;
    }

    .license-master-page .license-history-panel .data-table {
        min-width: 560px;
    }
}
.purchases-master .purchase-material-toolbar input,
.purchases-master .purchase-material-toolbar select,
.purchases-master .purchase-weighing-form input,
.purchases-master .purchase-weighing-form select {
    max-width: 100%;
}

@media (max-width: 1120px) {
    .purchases-master .purchase-material-toolbar,
    .purchases-master .purchase-weighing-form {
        grid-template-columns: 1fr !important;
        width: 100%;
        min-width: 0;
    }

    .purchases-master .purchase-material-picker {
        grid-template-columns: 1fr;
        width: 100%;
        min-width: 0;
        overflow-x: hidden;
    }

    .purchases-master .purchase-material-option,
    .purchases-master .purchase-weighing-form label,
    .purchases-master .purchase-weighing-form .purchase-calculation-box,
    .purchases-master .purchase-weighing-form .btn-primary {
        width: 100%;
        min-width: 0;
    }
}
.hs-nfe-ui{max-width:1120px;margin:0 auto}.hs-nfe-banner{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;background:#fff5cf;border:2px solid #dcae19;border-radius:16px;box-shadow:0 8px 24px #1c26320f}.hs-nfe-banner h1{margin:.2rem 0 0;font-size:1.2rem;color:#704f00}.hs-nfe-banner>strong{color:#9c1c1c}.hs-nfe-heading{display:flex;justify-content:space-between;align-items:center;margin:1.25rem 0}.hs-nfe-heading h2{margin:0}.hs-nfe-form,.hs-nfe-preview,.hs-nfe-result{padding:1.25rem;background:#fff;border:1px solid #d9e0e8;border-radius:16px;margin:1rem 0}.hs-nfe-step{display:grid;grid-template-columns:42px 1fr;gap:1rem;align-items:start;margin:1rem 0}.hs-nfe-step>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#173b64;color:#fff;font-weight:700}.hs-nfe-step label{display:grid;gap:.45rem;font-weight:700}.hs-nfe-step small{font-weight:400;color:#687586}.hs-nfe-step select,.hs-nfe-step input{width:100%;min-height:46px;padding:.7rem;border:1px solid #b8c5d3;border-radius:10px;background:#fff;font:inherit}.hs-nfe-two{grid-template-columns:42px 1fr 1fr}.hs-nfe-two>label{grid-column:auto}.hs-nfe-total{display:grid;gap:.15rem;padding:1.25rem;margin:1.25rem 0;background:#eff7ff;border-radius:14px}.hs-nfe-total small{color:#53677c}.hs-nfe-total strong{font-size:2rem;color:#123d68}.hs-nfe-total span{color:#53677c}.hs-nfe-actions{display:flex;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.hs-nfe-preview h2{margin:.1rem 0;color:#153f68}.hs-nfe-preview>p{color:#a34700;font-weight:700}.hs-nfe-summary,.hs-nfe-result-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem;margin:1rem 0}.hs-nfe-summary span,.hs-nfe-result-grid span{padding:.8rem;background:#f6f8fb;border-radius:10px;color:#607083}.hs-nfe-summary strong,.hs-nfe-result-grid strong{display:block;color:#1c2d40;margin-top:.25rem;overflow-wrap:anywhere}.hs-nfe-details{margin-top:1rem;padding:1rem;background:#f6f8fb;border-radius:10px}.hs-nfe-result.success{border-color:#43a56b;background:#effaf2}.hs-nfe-result.failure{border-color:#d45b5b;background:#fff4f4}.hs-nfe-result h2{margin-top:0}.hs-nfe-result-grid{grid-template-columns:repeat(4,1fr)}
@media (max-width:700px){.hs-nfe-heading{align-items:flex-start;gap:1rem;flex-direction:column}.hs-nfe-summary,.hs-nfe-result-grid{grid-template-columns:1fr 1fr}.hs-nfe-two{grid-template-columns:34px 1fr}.hs-nfe-two>label{grid-column:2}.hs-nfe-banner{align-items:flex-start;flex-direction:column}.hs-nfe-banner h1{font-size:1rem}.hs-nfe-actions>*{width:100%}}
/* NF-e produção controlada: UI liberada, transmissão bloqueada. */
.hs-nfe-banner-production { border-color: #b9d8c3; background: #effaf2; }
.hs-nfe-banner-production h1 { color: #176b36; }
.hs-nfe-sticky-warning { position: sticky; top: 0; z-index: 4; margin: 0 0 1rem; padding: .75rem 1rem; border: 1px solid #e2b84b; border-radius: 8px; background: #fff8df; color: #634b00; font-weight: 700; text-align: center; }
.hs-nfe-ui code { overflow-wrap: anywhere; }

/* Fiscal principal: operação, status e administração. */
.fiscal-master-page .fiscal-hero-simple{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:4px 0 20px}
.fiscal-master-page .fiscal-hero-simple h2{margin:6px 0 8px;color:#172554;font-size:clamp(1.55rem,2vw,2rem)}
.fiscal-master-page .fiscal-hero-simple p{margin:0;max-width:680px;color:#64748b;line-height:1.55}
.fiscal-operational-mark{flex:0 0 auto;padding:9px 14px;border:1px solid #c7d2fe;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:.85rem;font-weight:800;white-space:nowrap}
.fiscal-operator-actions,.fiscal-admin-actions{display:grid;gap:14px}
.fiscal-operator-actions{grid-template-columns:repeat(4,minmax(0,1fr))}
.fiscal-action-card,.fiscal-admin-card{display:grid;align-content:start;gap:8px;min-width:0;padding:18px;border:1px solid #dbe3ef;border-radius:14px;background:#fff;box-shadow:0 8px 20px rgba(15,23,42,.045);color:inherit;text-decoration:none;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.fiscal-action-card:hover,.fiscal-admin-card:hover{border-color:#93a9e8;box-shadow:0 12px 26px rgba(30,64,175,.1);transform:translateY(-1px)}
.fiscal-action-card strong,.fiscal-admin-card strong{color:#172554;font-size:1rem;line-height:1.25}
.fiscal-action-card>span:last-child,.fiscal-admin-card>span{color:#64748b;font-size:.9rem;line-height:1.45}
.fiscal-action-icon{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eef2ff;color:#3730a3;font-size:.75rem;font-weight:900}
.fiscal-action-primary{border-color:#a5b4fc;background:#f8f9ff}.fiscal-action-primary .fiscal-action-icon{background:#3730a3;color:#fff}
.fiscal-live-status,.fiscal-admin-area{padding:20px;border:1px solid #dbe3ef;border-radius:14px;background:#fff;box-shadow:0 8px 20px rgba(15,23,42,.045)}
.fiscal-live-status .fiscal-section-header,.fiscal-admin-area .fiscal-section-header{display:flex;align-items:center;gap:12px;padding:0 0 16px;border-bottom:1px solid #e8edf4;background:transparent}
.fiscal-live-status .fiscal-section-header>div,.fiscal-admin-area .fiscal-section-header>div{min-width:0}
.fiscal-live-status .fiscal-section-header h3,.fiscal-admin-area .fiscal-section-header h3{margin:0 0 4px;color:#172554}
.fiscal-live-status .fiscal-section-header p,.fiscal-admin-area .fiscal-section-header p{margin:0;color:#64748b;line-height:1.45}
.fiscal-inline-link{flex:0 0 auto;margin-left:auto;white-space:nowrap}
.fiscal-status-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-top:16px}
.fiscal-status-item{display:grid;align-content:start;gap:7px;min-width:0;padding:12px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}
.fiscal-status-item span,.fiscal-nfce-note span{color:#64748b;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.fiscal-status-item strong,.fiscal-nfce-note strong{overflow-wrap:anywhere;color:#1e3a8a;font-size:.9rem}.fiscal-status-item strong.is-ok{color:#166534}.fiscal-status-item strong.is-warning{color:#a16207}
.fiscal-nfce-note{display:grid;gap:6px;margin-top:12px;padding:13px 14px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.fiscal-nfce-note small{color:#64748b;line-height:1.45}
.fiscal-admin-actions{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:16px}
.fiscal-production-note{border-color:#f0b44c!important;background:#fff8e6!important;color:#713f12!important}
.fiscal-advanced-settings{overflow:hidden;border:1px solid #dbe3ef;border-radius:14px;background:#f8fafc}.fiscal-advanced-settings>summary{cursor:pointer;padding:16px 18px;color:#172554;font-weight:800;list-style-position:inside}.fiscal-advanced-settings>summary span{margin-left:6px;color:#64748b;font-size:.88rem;font-weight:500}.fiscal-advanced-settings[open]>summary{border-bottom:1px solid #dbe3ef}.fiscal-advanced-settings>.fiscal-form{padding:16px}
@media (max-width:1180px){.fiscal-status-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:900px){.fiscal-operator-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.fiscal-admin-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:680px){.fiscal-master-page .fiscal-hero-simple{align-items:flex-start;flex-direction:column;gap:12px}.fiscal-operational-mark{white-space:normal}.fiscal-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fiscal-live-status .fiscal-section-header,.fiscal-admin-area .fiscal-section-header{align-items:flex-start;flex-wrap:wrap}.fiscal-inline-link{width:100%;margin-left:0}}
@media (max-width:480px){.fiscal-operator-actions,.fiscal-admin-actions,.fiscal-status-grid{grid-template-columns:1fr}.fiscal-live-status,.fiscal-admin-area{padding:15px}.fiscal-advanced-settings>summary span{display:block;margin:5px 0 0 24px}}
.esplanada-stock-page .panel-header-row { align-items: flex-start; }
.esplanada-stock-hero { margin-bottom: 18px; }
.esplanada-stock-hero .btn-primary { white-space: nowrap; }
.esplanada-stock-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 18px 0 24px; }
.esplanada-stock-stat { display: grid; gap: 8px; min-height: 92px; padding: 16px 18px; border: 1px solid #e2e8f0; border-top: 3px solid #4f46e5; box-shadow: 0 4px 14px rgba(15, 23, 42, .05); }
.esplanada-stock-stat:nth-child(2) { border-top-color: #2563eb; }
.esplanada-stock-stat:nth-child(3) { border-top-color: #94a3b8; }
.esplanada-stock-stat:nth-child(4) { border-top-color: #f59e0b; }
.esplanada-stock-stat span { color: #64748b; font-size: .75rem; font-weight: 700; line-height: 1.25; }
.esplanada-stock-stat strong { color: #172554; font-size: 1.55rem; line-height: 1; }
.esplanada-stock-list-section { padding: 20px; border: 1px solid #e2e8f0; border-radius: 14px; background: #fff; box-shadow: 0 5px 18px rgba(15, 23, 42, .04); }
.esplanada-stock-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.esplanada-stock-section-heading h3 { margin: 0; color: #172554; font-size: 1.05rem; }
.esplanada-stock-section-heading p { margin: 4px 0 0; color: #64748b; font-size: .82rem; }
.esplanada-stock-count { padding: 5px 9px; border-radius: 999px; background: #eef2ff; color: #4338ca; font-size: .75rem; font-weight: 800; white-space: nowrap; }
.esplanada-stock-filter { flex-wrap: wrap; margin-bottom: 14px; padding: 10px; border: 1px solid #e2e8f0; background: #f8fafc; }
.esplanada-stock-filter input, .esplanada-stock-filter select { min-width: 150px; }
.esplanada-stock-table th, .esplanada-stock-table td { vertical-align: middle; }
.esplanada-stock-table th { white-space: nowrap; }
.esplanada-stock-table td strong { color: #172554; }
.esplanada-stock-inactive-row { opacity: .62; }
.esplanada-stock-unit { display: inline-flex; min-width: 28px; justify-content: center; padding: 4px 7px; border-radius: 6px; background: #f1f5f9; color: #475569; font-size: .72rem; font-weight: 800; }
.esplanada-stock-quantity { color: #172554; font-weight: 800; }
.esplanada-stock-ok, .esplanada-stock-warning, .esplanada-stock-danger { border-radius: 999px; padding: 4px 9px; font-size: .7rem; font-weight: 800; letter-spacing: .02em; }
.esplanada-stock-ok { color: #166534; background: #dcfce7; }
.esplanada-stock-warning { color: #92400e; background: #fef3c7; }
.esplanada-stock-danger { color: #991b1b; background: #fee2e2; }
.esplanada-stock-actions { display: flex; flex-wrap: wrap; gap: 5px; min-width: 190px; }
.esplanada-stock-actions .btn-sm { white-space: nowrap; }
.esplanada-stock-history { margin-top: 16px; overflow: hidden; border: 1px solid #e2e8f0; border-radius: 14px; background: #fff; box-shadow: 0 5px 18px rgba(15, 23, 42, .04); }
.esplanada-stock-history > summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 16px 20px; cursor: pointer; list-style: none; }
.esplanada-stock-history > summary::-webkit-details-marker { display: none; }
.esplanada-stock-history > summary strong, .esplanada-stock-history > summary small { display: block; }
.esplanada-stock-history > summary strong { color: #172554; font-size: .95rem; }
.esplanada-stock-history > summary small { margin-top: 4px; color: #64748b; font-size: .78rem; }
.esplanada-stock-history-toggle { color: #4338ca; font-size: .78rem; font-weight: 800; }
.esplanada-stock-history-toggle::after { content: ' +'; font-size: 1rem; }
.esplanada-stock-history[open] .esplanada-stock-history-toggle::after { content: ' −'; }
.esplanada-stock-history-content { padding: 0 20px 20px; border-top: 1px solid #e2e8f0; }
.esplanada-stock-history-content .esplanada-stock-filter { margin-top: 16px; }
.esplanada-stock-history-table { font-size: .82rem; }
.esplanada-stock-movement-type { display: inline-block; border-radius: 5px; padding: 3px 6px; font-size: .68rem; font-weight: 800; }
.esplanada-stock-type-entrada { color: #166534; background: #dcfce7; }
.esplanada-stock-type-saida { color: #991b1b; background: #fee2e2; }
.esplanada-stock-type-ajuste { color: #4338ca; background: #e0e7ff; }
.esplanada-stock-dialog { width: min(560px, calc(100vw - 32px)); max-width: 100%; padding: 0; border: 0; border-radius: 16px; background: transparent; box-shadow: 0 22px 70px rgba(15, 23, 42, .28); }
.esplanada-stock-dialog::backdrop { background: rgba(15, 23, 42, .58); backdrop-filter: blur(2px); }
.esplanada-stock-dialog-card { overflow: hidden; border: 1px solid #dbe4f0; border-radius: 16px; background: #fff; }
.esplanada-stock-dialog-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 22px 24px 18px; border-bottom: 1px solid #e2e8f0; background: linear-gradient(135deg, #f8faff, #fff); }
.esplanada-stock-dialog-header h3 { margin: 5px 0 4px; color: #172554; font-size: 1.2rem; }
.esplanada-stock-dialog-header p { margin: 0; color: #64748b; font-size: .82rem; }
.esplanada-stock-dialog-header p strong { color: #1e3a8a; }
.esplanada-stock-dialog-close { width: 32px; height: 32px; border: 0; border-radius: 50%; background: #eef2ff; color: #4338ca; cursor: pointer; font-size: 1.4rem; line-height: 1; }
.esplanada-stock-dialog-close:hover { background: #e0e7ff; }
.esplanada-stock-dialog-form, .esplanada-stock-dialog-card > .esplanada-stock-create-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding: 22px 24px 24px; }
.esplanada-stock-dialog-form label, .esplanada-stock-create-form label { display: grid; gap: 6px; color: #475569; font-size: .8rem; font-weight: 700; }
.esplanada-stock-dialog-form input, .esplanada-stock-dialog-form select, .esplanada-stock-dialog-form textarea, .esplanada-stock-create-form input, .esplanada-stock-create-form select, .esplanada-stock-create-form textarea { width: 100%; }
.esplanada-stock-dialog-form label:nth-of-type(3), .esplanada-stock-dialog-form .esplanada-stock-check, .esplanada-stock-dialog-card > .esplanada-stock-create-form .full-width { grid-column: 1 / -1; }
.esplanada-stock-check { display: flex !important; align-items: center; gap: 8px !important; }
.esplanada-stock-check input { width: auto; }
.esplanada-stock-dialog-actions { display: flex; justify-content: flex-end; gap: 9px; grid-column: 1 / -1; padding-top: 4px; }
@media (max-width: 1020px) { .esplanada-stock-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } .esplanada-stock-list-section { padding: 16px; } }
@media (max-width: 680px) { .esplanada-stock-hero { gap: 14px; flex-direction: column; } .esplanada-stock-hero .btn-primary { width: 100%; } .esplanada-stock-section-heading { align-items: flex-start; flex-direction: column; } .esplanada-stock-actions { min-width: 0; } .esplanada-stock-history > summary, .esplanada-stock-history-content { padding-left: 16px; padding-right: 16px; } }
@media (max-width: 560px) { .esplanada-stock-stats { grid-template-columns: 1fr; } .esplanada-stock-dialog { width: calc(100vw - 16px); } .esplanada-stock-dialog-header { padding: 18px 18px 15px; } .esplanada-stock-dialog-form, .esplanada-stock-dialog-card > .esplanada-stock-create-form { grid-template-columns: 1fr; padding: 18px; } .esplanada-stock-dialog-form label:nth-of-type(3), .esplanada-stock-dialog-form .esplanada-stock-check, .esplanada-stock-dialog-card > .esplanada-stock-create-form .full-width, .esplanada-stock-dialog-actions { grid-column: auto; } .esplanada-stock-dialog-actions { flex-direction: column-reverse; } .esplanada-stock-dialog-actions button { width: 100%; } }


/* Fiscal clients visual refinement */
.fiscal-clients-page {
    display: grid;
    gap: 22px;
    max-width: 1680px;
    margin-inline: auto;
}
.fiscal-clients-page .fc-head {
    align-items: flex-start;
    gap: 24px;
    padding-bottom: 4px;
}
.fiscal-clients-page .fc-head h1 { margin-bottom: 8px; color: #172554; }
.fiscal-clients-page .fc-head p { max-width: 700px; margin: 0; color: #64748b; line-height: 1.55; }
.fiscal-clients-page .fc-head .actions-row { flex-wrap: wrap; justify-content: flex-end; }
.fiscal-clients-page .fc-summary {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
}
.fiscal-clients-page .fc-stat-card {
    display: grid;
    min-height: 108px;
    align-content: space-between;
    gap: 12px;
    padding: 18px 20px;
    border: 1px solid #e2e8f0;
    border-top: 4px solid #2563eb;
    border-radius: 14px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: 0 8px 22px rgba(15, 23, 42, .06);
}
.fiscal-clients-page .fc-stat-card span {
    color: #64748b;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .035em;
    line-height: 1.3;
    text-transform: uppercase;
}
.fiscal-clients-page .fc-stat-card strong {
    color: #172554;
    font-size: 2rem;
    line-height: 1;
}
.fiscal-clients-page .fc-summary-ready { border-top-color: #16a34a; }
.fiscal-clients-page .fc-summary-ready strong { color: #166534; }
.fiscal-clients-page .fc-summary-review { border-top-color: #f59e0b; }
.fiscal-clients-page .fc-summary-review strong { color: #a16207; }
.fiscal-clients-page .fc-summary-incomplete { border-top-color: #dc2626; }
.fiscal-clients-page .fc-summary-incomplete strong { color: #b91c1c; }
.fiscal-clients-page .fc-summary-pending { border-top-color: #7c3aed; }
.fiscal-clients-page .fc-summary-pending strong { color: #6d28d9; }
.fiscal-clients-page .fc-filter-panel,
.fiscal-clients-page .fc-list,
.fiscal-clients-page .fc-detail {
    padding: 20px;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 6px 20px rgba(15, 23, 42, .045);
}
.fiscal-clients-page .fc-filter-panel { display: grid; gap: 16px; }
.fiscal-clients-page .fc-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 15px;
}
.fiscal-clients-page .fc-section-heading h2 {
    margin: 4px 0 3px;
    color: #172554;
    font-size: 1.12rem;
}
.fiscal-clients-page .fc-section-heading p {
    margin: 0;
    color: #64748b;
    font-size: .82rem;
}
.fiscal-clients-page .fc-filters {
    display: grid;
    grid-template-columns: minmax(220px, 1.5fr) repeat(2, minmax(150px, 1fr)) minmax(76px, .45fr) repeat(2, minmax(150px, 1fr)) auto;
    align-items: end;
    gap: 12px;
}
.fiscal-clients-page .fc-filters label {
    display: grid;
    min-width: 0;
    gap: 6px;
    color: #475569;
    font-size: .76rem;
    font-weight: 800;
}
.fiscal-clients-page .fc-filters input:not([type="checkbox"]),
.fiscal-clients-page .fc-filters select {
    width: 100%;
    min-height: 42px;
}
.fiscal-clients-page .fc-check-filter {
    display: flex !important;
    align-items: center;
    align-self: center;
    gap: 7px !important;
    white-space: nowrap;
}
.fiscal-clients-page .fc-check-filter input { width: auto; accent-color: #2563eb; }
.fiscal-clients-page .fc-filters button,
.fiscal-clients-page .fc-filters > a { min-height: 42px; white-space: nowrap; }
.fiscal-clients-page .fc-list { overflow: hidden; }
.fiscal-clients-page .fc-list-count {
    flex: 0 0 auto;
    padding: 6px 10px;
    border-radius: 999px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: .75rem;
    font-weight: 800;
    white-space: nowrap;
}
.fiscal-clients-page .fc-table-wrap { overflow-x: auto; }
.fiscal-clients-page .fc-table {
    width: 100%;
    min-width: 980px;
    border-collapse: separate;
    border-spacing: 0;
}
.fiscal-clients-page .fc-table th {
    padding: 12px 14px;
    border-bottom: 1px solid #dbe4f0;
    background: #f8fafc;
    color: #64748b;
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .04em;
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
}
.fiscal-clients-page .fc-table th:first-child { border-radius: 10px 0 0 0; }
.fiscal-clients-page .fc-table th:last-child { border-radius: 0 10px 0 0; }
.fiscal-clients-page .fc-table td {
    padding: 15px 14px;
    border-bottom: 1px solid #edf2f7;
    color: #475569;
    font-size: .84rem;
    vertical-align: middle;
}
.fiscal-clients-page .fc-table tbody tr:hover { background: #f8fbff; }
.fiscal-clients-page .fc-table tbody tr:last-child td { border-bottom: 0; }
.fiscal-clients-page .fc-table td:first-child strong {
    display: block;
    color: #172554;
    font-size: .9rem;
}
.fiscal-clients-page .fc-table td small {
    display: block;
    margin-top: 4px;
    color: #94a3b8;
    font-size: .72rem;
}
.fiscal-clients-page .fc-status {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .025em;
    white-space: nowrap;
}
.fiscal-clients-page .fc-ready { color: #166534; background: #dcfce7; }
.fiscal-clients-page .fc-review { color: #92400e; background: #fef3c7; }
.fiscal-clients-page .fc-incomplete { color: #991b1b; background: #fee2e2; }
.fiscal-clients-page .fc-pendencies-cell { max-width: 290px; line-height: 1.45; }
.fiscal-clients-page .fc-pending-label {
    display: inline-block;
    margin-bottom: 4px;
    color: #92400e;
    font-size: .72rem;
}
.fiscal-clients-page .fc-action-cell { min-width: 110px; text-align: right; white-space: nowrap; }
.fiscal-clients-page .fc-action-cell .btn-sm { min-height: 34px; }
.fiscal-clients-page .fc-empty {
    padding: 36px 20px !important;
    color: #64748b !important;
    text-align: center;
}
.fiscal-clients-page .fc-detail { display: grid; gap: 18px; }
.fiscal-clients-page .fc-detail-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 16px;
    border-bottom: 1px solid #e2e8f0;
}
.fiscal-clients-page .fc-detail-head h2 { margin: 4px 0; color: #172554; }
.fiscal-clients-page .fc-detail-head p { margin: 0; color: #64748b; font-size: .82rem; }
.fiscal-clients-page .fc-detail-status {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
    padding: 13px 15px;
    border: 1px solid #dbeafe;
    border-radius: 10px;
    background: #eff6ff;
    color: #475569;
    font-size: .82rem;
}
.fiscal-clients-page .fc-detail-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.fiscal-clients-page .fc-detail-grid > section {
    padding: 16px;
    border: 1px solid #e2e8f0;
    border-radius: 11px;
    background: #f8fafc;
}
.fiscal-clients-page .fc-detail-grid h3 { margin: 0 0 12px; color: #1e3a8a; font-size: .95rem; }
.fiscal-clients-page .fc-detail-grid dl { display: grid; gap: 8px; margin: 0; }
.fiscal-clients-page .fc-detail-grid dt { color: #64748b; font-size: .72rem; font-weight: 800; }
.fiscal-clients-page .fc-detail-grid dd { margin: 0; color: #172554; font-size: .84rem; overflow-wrap: anywhere; }
.fiscal-clients-page .fc-history {
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 11px;
}
.fiscal-clients-page .fc-history summary {
    padding: 13px 15px;
    cursor: pointer;
    color: #1e3a8a;
    font-size: .84rem;
    font-weight: 800;
}
.fiscal-clients-page .fc-history-list { display: grid; gap: 10px; padding: 0 15px 15px; }
.fiscal-clients-page .fc-history-list > div {
    display: grid;
    gap: 4px;
    padding-top: 10px;
    border-top: 1px solid #edf2f7;
}
.fiscal-clients-page .fc-history-list strong { color: #334155; font-size: .8rem; }
.fiscal-clients-page .fc-history-list span { color: #64748b; font-size: .78rem; line-height: 1.4; }
@media (max-width: 1250px) {
    .fiscal-clients-page .fc-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .fiscal-clients-page .fc-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .fiscal-clients-page .fc-filters .fc-check-filter { grid-column: span 2; }
}
@media (max-width: 760px) {
    .fiscal-clients-page { gap: 16px; }
    .fiscal-clients-page .fc-head,
    .fiscal-clients-page .fc-detail-head { flex-direction: column; }
    .fiscal-clients-page .fc-head .actions-row { width: 100%; justify-content: flex-start; }
    .fiscal-clients-page .fc-head .actions-row a { flex: 1 1 180px; text-align: center; }
    .fiscal-clients-page .fc-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .fiscal-clients-page .fc-stat-card { min-height: 92px; padding: 14px; }
    .fiscal-clients-page .fc-stat-card strong { font-size: 1.65rem; }
    .fiscal-clients-page .fc-filter-panel,
    .fiscal-clients-page .fc-list,
    .fiscal-clients-page .fc-detail { padding: 15px; }
    .fiscal-clients-page .fc-filters { grid-template-columns: 1fr 1fr; }
    .fiscal-clients-page .fc-filters label:first-of-type,
    .fiscal-clients-page .fc-filters label:nth-of-type(2),
    .fiscal-clients-page .fc-filters .fc-check-filter { grid-column: 1 / -1; }
    .fiscal-clients-page .fc-filters button,
    .fiscal-clients-page .fc-filters > a { width: 100%; text-align: center; }
    .fiscal-clients-page .fc-section-heading { align-items: flex-start; flex-direction: column; gap: 8px; }
    .fiscal-clients-page .fc-detail-grid { grid-template-columns: 1fr; }
}
@media (max-width: 430px) {
    .fiscal-clients-page .fc-summary { grid-template-columns: 1fr; }
    .fiscal-clients-page .fc-filters { grid-template-columns: 1fr; }
    .fiscal-clients-page .fc-filters label:first-of-type,
    .fiscal-clients-page .fc-filters label:nth-of-type(2),
    .fiscal-clients-page .fc-filters .fc-check-filter { grid-column: auto; }
}

/* NF-e com múltiplos materiais. */
.hs-nfe-production-page .hs-nfe-items { display: grid; gap: .8rem; }
.hs-nfe-production-page .hs-nfe-item-row { display: grid; gap: .8rem; min-width: 0; padding: 1rem; border: 1px solid #dbe3ef; border-radius: 12px; background: #fbfdff; }
.hs-nfe-production-page .hs-nfe-item-heading { display: flex; align-items: center; justify-content: space-between; gap: .75rem; color: #173b64; }
.hs-nfe-production-page .hs-nfe-item-heading button { min-height: 36px; padding: .45rem .7rem; }
.hs-nfe-production-page .hs-nfe-item-summary { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .65rem .75rem; border-radius: 9px; background: #f1f8ff; color: #53677c; font-size: .84rem; }
.hs-nfe-production-page .hs-nfe-item-summary strong { color: #123d68; font-size: 1.05rem; white-space: nowrap; }
.hs-nfe-production-page .hs-nfe-manual-toggle { display:flex; align-items:center; gap:.55rem; padding:.7rem .8rem; border:1px solid #dbe3ef; border-radius:10px; background:#f8fafc; color:#334155; font-weight:700; }
.hs-nfe-production-page .hs-nfe-manual-toggle input { flex:0 0 18px; width:18px; min-width:18px; min-height:18px; height:18px; margin:0; padding:0; accent-color:#173b64; }
.hs-nfe-production-page .hs-nfe-manual-toggle:focus-within { outline:3px solid rgba(37,99,235,.22); outline-offset:2px; border-color:#2563eb; }
.hs-nfe-production-page .hs-nfe-manual-panel { display:grid; gap:.75rem; padding:.85rem; border:1px dashed #cbd5e1; border-radius:10px; background:#fff; }
.hs-nfe-production-page .hs-nfe-manual-panel[hidden] { display:none !important; }
.hs-nfe-production-page .hs-nfe-tax-panel { margin-top:.25rem; padding:.75rem; border:1px solid #d6e7f7; border-radius:10px; background:#f8fbff; }
.hs-nfe-production-page .hs-nfe-tax-panel summary { color:#173b64; font-weight:800; cursor:pointer; }
.hs-nfe-production-page .hs-nfe-tax-panel summary small { margin-left:.35rem; font-weight:500; }
.hs-nfe-production-page .hs-nfe-tax-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.7rem; margin-top:.8rem; }
.hs-nfe-production-page .hs-nfe-tax-grid label { display:grid; gap:.35rem; color:#475569; font-size:.84rem; font-weight:700; }
.hs-nfe-production-page .hs-nfe-tax-grid label[hidden] { display:none !important; }
.hs-nfe-production-page .hs-nfe-tax-grid select { width:100%; min-height:42px; padding:.55rem .65rem; border:1px solid #b8c5d3; border-radius:9px; background:#fff; font:inherit; }
.hs-nfe-production-page .hs-nfe-tax-note { display:block; margin-top:.75rem; }
.hs-nfe-production-page .hs-nfe-actions .btn-primary:disabled, .hs-nfe-production-page .hs-nfe-actions .btn-primary[aria-disabled="true"] { background:#cbd5e1; border-color:#cbd5e1; color:#64748b; box-shadow:none; cursor:not-allowed; opacity:1; }
@media (max-width:800px){.hs-nfe-production-page .hs-nfe-tax-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:430px){.hs-nfe-production-page .hs-nfe-tax-grid{grid-template-columns:1fr}.hs-nfe-production-page .hs-nfe-manual-panel .hs-nfe-value-grid{grid-template-columns:1fr}}
.hs-nfe-production-page #nfe-add-item { margin-top: .8rem; }
@media (max-width: 430px) {
    .hs-nfe-production-page .hs-nfe-item-row { padding: .8rem; }
    .hs-nfe-production-page .hs-nfe-item-summary { align-items: flex-start; flex-direction: column; }
}


/* Fiscal materials visual refinement */
.fiscal-materials-page {
    display: grid;
    gap: 22px;
    max-width: 1680px;
    margin-inline: auto;
}
.fiscal-materials-page .fm-head {
    align-items: flex-start;
    gap: 24px;
    padding-bottom: 4px;
}
.fiscal-materials-page .fm-head h1 { margin-bottom: 8px; color: #172554; }
.fiscal-materials-page .fm-head p { max-width: 700px; margin: 0; color: #64748b; line-height: 1.55; }
.fiscal-materials-page .fm-head .actions-row { flex-wrap: wrap; justify-content: flex-end; }
.fiscal-materials-page .fm-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}
.fiscal-materials-page .fm-stat-card {
    display: grid;
    min-height: 108px;
    align-content: space-between;
    gap: 12px;
    padding: 18px 20px;
    border: 1px solid #e2e8f0;
    border-top: 4px solid #2563eb;
    border-radius: 14px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: 0 8px 22px rgba(15, 23, 42, .06);
}
.fiscal-materials-page .fm-stat-card span {
    color: #64748b;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .035em;
    line-height: 1.3;
    text-transform: uppercase;
}
.fiscal-materials-page .fm-stat-card strong { color: #172554; font-size: 2rem; line-height: 1; }
.fiscal-materials-page .fm-summary-ready { border-top-color: #16a34a; }
.fiscal-materials-page .fm-summary-ready strong { color: #166534; }
.fiscal-materials-page .fm-summary-review { border-top-color: #f59e0b; }
.fiscal-materials-page .fm-summary-review strong { color: #a16207; }
.fiscal-materials-page .fm-summary-incomplete { border-top-color: #dc2626; }
.fiscal-materials-page .fm-summary-incomplete strong { color: #b91c1c; }
.fiscal-materials-page .fm-filter-panel,
.fiscal-materials-page .fm-list,
.fiscal-materials-page .fm-detail {
    padding: 20px;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 6px 20px rgba(15, 23, 42, .045);
}
.fiscal-materials-page .fm-filter-panel { display: grid; gap: 16px; }
.fiscal-materials-page .fm-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 15px;
}
.fiscal-materials-page .fm-section-heading h2 { margin: 4px 0 3px; color: #172554; font-size: 1.12rem; }
.fiscal-materials-page .fm-section-heading p { margin: 0; color: #64748b; font-size: .82rem; }
.fiscal-materials-page .fm-filters {
    display: grid;
    grid-template-columns: minmax(220px, 1.5fr) repeat(2, minmax(150px, 1fr)) minmax(150px, 1fr) auto auto;
    align-items: end;
    gap: 12px;
}
.fiscal-materials-page .fm-filters label {
    display: grid;
    min-width: 0;
    gap: 6px;
    color: #475569;
    font-size: .76rem;
    font-weight: 800;
}
.fiscal-materials-page .fm-filters input:not([type="checkbox"]),
.fiscal-materials-page .fm-filters select { width: 100%; min-height: 42px; }
.fiscal-materials-page .fm-check-filter {
    display: flex !important;
    align-items: center;
    align-self: center;
    gap: 7px !important;
    white-space: nowrap;
}
.fiscal-materials-page .fm-check-filter input { width: auto; accent-color: #2563eb; }
.fiscal-materials-page .fm-filters button,
.fiscal-materials-page .fm-filters > a { min-height: 42px; white-space: nowrap; }
.fiscal-materials-page .fm-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 15px;
    border: 1px solid #dbeafe;
    border-radius: 10px;
    background: #eff6ff;
    color: #475569;
    font-size: .8rem;
}
.fiscal-materials-page .fm-meta span:first-child { color: #1e3a8a; font-weight: 800; }
.fiscal-materials-page .fm-meta span:last-child { color: #64748b; }
.fiscal-materials-page .fm-list { overflow: hidden; }
.fiscal-materials-page .fm-list-count {
    flex: 0 0 auto;
    padding: 6px 10px;
    border-radius: 999px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: .75rem;
    font-weight: 800;
    white-space: nowrap;
}
.fiscal-materials-page .fm-table-wrap { overflow-x: auto; }
.fiscal-materials-page .fm-table {
    width: 100%;
    min-width: 980px;
    border-collapse: separate;
    border-spacing: 0;
}
.fiscal-materials-page .fm-table th {
    padding: 12px 14px;
    border-bottom: 1px solid #dbe4f0;
    background: #f8fafc;
    color: #64748b;
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .04em;
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
}
.fiscal-materials-page .fm-table th:first-child { border-radius: 10px 0 0 0; }
.fiscal-materials-page .fm-table th:last-child { border-radius: 0 10px 0 0; }
.fiscal-materials-page .fm-table td {
    padding: 15px 14px;
    border-bottom: 1px solid #edf2f7;
    color: #475569;
    font-size: .84rem;
    vertical-align: middle;
}
.fiscal-materials-page .fm-table tbody tr:hover { background: #f8fbff; }
.fiscal-materials-page .fm-table tbody tr:last-child td { border-bottom: 0; }
.fiscal-materials-page .fm-table td:first-child strong { display: block; color: #172554; font-size: .9rem; }
.fiscal-materials-page .fm-table td small { display: block; margin-top: 4px; color: #94a3b8; font-size: .72rem; }
.fiscal-materials-page .fm-status {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .025em;
    white-space: nowrap;
}
.fiscal-materials-page .fm-ready { color: #166534; background: #dcfce7; }
.fiscal-materials-page .fm-review { color: #92400e; background: #fef3c7; }
.fiscal-materials-page .fm-incomplete { color: #991b1b; background: #fee2e2; }
.fiscal-materials-page .fm-pendencies-cell { max-width: 290px; line-height: 1.45; }
.fiscal-materials-page .fm-action-cell { min-width: 110px; text-align: right; white-space: nowrap; }
.fiscal-materials-page .fm-action-cell .btn-sm { min-height: 34px; }
.fiscal-materials-page .fm-empty { padding: 36px 20px !important; color: #64748b !important; text-align: center; }
.fiscal-materials-page .fm-detail { display: grid; gap: 18px; }
.fiscal-materials-page .fm-detail-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 16px;
    border-bottom: 1px solid #e2e8f0;
}
.fiscal-materials-page .fm-detail-head h2 { margin: 4px 0; color: #172554; }
.fiscal-materials-page .fm-detail-head p { margin: 0; color: #64748b; font-size: .82rem; }
.fiscal-materials-page .fm-detail-status {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
    padding: 13px 15px;
    border: 1px solid #dbeafe;
    border-radius: 10px;
    background: #eff6ff;
    color: #475569;
    font-size: .82rem;
}
.fiscal-materials-page .fm-detail-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.fiscal-materials-page .fm-detail-grid > section {
    padding: 16px;
    border: 1px solid #e2e8f0;
    border-radius: 11px;
    background: #f8fafc;
}
.fiscal-materials-page .fm-detail-grid h3 { margin: 0 0 12px; color: #1e3a8a; font-size: .95rem; }
.fiscal-materials-page .fm-detail-grid dl { display: grid; gap: 8px; margin: 0; }
.fiscal-materials-page .fm-detail-grid dt { color: #64748b; font-size: .72rem; font-weight: 800; }
.fiscal-materials-page .fm-detail-grid dd { margin: 0; color: #172554; font-size: .84rem; overflow-wrap: anywhere; }
.fiscal-materials-page .fm-operation-note {
    padding: 15px 17px;
    border: 1px solid #e2e8f0;
    border-radius: 11px;
    background: #f8fafc;
    color: #475569;
    font-size: .82rem;
    line-height: 1.55;
}
.fiscal-materials-page .fm-operation-note strong { color: #1e3a8a; }
.fiscal-materials-page .fm-operation-note p { margin: 5px 0 0; }
@media (max-width: 1050px) {
    .fiscal-materials-page .fm-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .fiscal-materials-page .fm-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .fiscal-materials-page .fm-filters .fm-check-filter { grid-column: span 2; }
}
@media (max-width: 760px) {
    .fiscal-materials-page { gap: 16px; }
    .fiscal-materials-page .fm-head,
    .fiscal-materials-page .fm-detail-head { flex-direction: column; }
    .fiscal-materials-page .fm-head .actions-row { width: 100%; justify-content: flex-start; }
    .fiscal-materials-page .fm-head .actions-row a { flex: 1 1 180px; text-align: center; }
    .fiscal-materials-page .fm-stat-card { min-height: 92px; padding: 14px; }
    .fiscal-materials-page .fm-stat-card strong { font-size: 1.65rem; }
    .fiscal-materials-page .fm-filter-panel,
    .fiscal-materials-page .fm-list,
    .fiscal-materials-page .fm-detail { padding: 15px; }
    .fiscal-materials-page .fm-filters { grid-template-columns: 1fr 1fr; }
    .fiscal-materials-page .fm-filters label:first-of-type,
    .fiscal-materials-page .fm-filters .fm-check-filter { grid-column: 1 / -1; }
    .fiscal-materials-page .fm-filters button,
    .fiscal-materials-page .fm-filters > a { width: 100%; text-align: center; }
    .fiscal-materials-page .fm-section-heading { align-items: flex-start; flex-direction: column; gap: 8px; }
    .fiscal-materials-page .fm-meta { align-items: flex-start; flex-direction: column; }
    .fiscal-materials-page .fm-detail-grid { grid-template-columns: 1fr; }
}
@media (max-width: 430px) {
    .fiscal-materials-page .fm-summary,
    .fiscal-materials-page .fm-filters { grid-template-columns: 1fr; }
    .fiscal-materials-page .fm-filters label:first-of-type,
    .fiscal-materials-page .fm-filters .fm-check-filter { grid-column: auto; }
}
/* Entrada de produção NF-e: painel amplo e cabeçalho padronizado. */
.hs-nfe-production-gate-page {
    max-width: none;
    width: 100%;
}
.hs-nfe-gate-header {
    align-items: flex-start;
    margin-bottom: 1.5rem;
}
.hs-nfe-gate-header h1 {
    margin: .25rem 0 .45rem;
    color: #172554;
    font-size: clamp(1.45rem, 2.3vw, 2rem);
}
.hs-nfe-gate-header p {
    margin: 0;
    max-width: 720px;
    color: #64748b;
    line-height: 1.55;
}
.hs-nfe-production-gate-page .form-card {
    width: 100%;
}
@media (max-width: 700px) {
    .hs-nfe-gate-header {
        align-items: stretch;
        flex-direction: column;
    }
    .hs-nfe-gate-header .btn-secondary {
        align-self: flex-start;
    }
}
/* Entrada NF-e: faz o wrapper principal ocupar toda a área flex disponível. */
.nfe-production-gate-page .main-area {
    flex: 1 1 auto;
    width: auto;
    max-width: none;
    min-width: 0;
}
/* Fiscal Administração/Técnico — padrão visual das subtelas. */
.fiscal-admin-page-shell .main-area {
    flex: 1 1 auto;
    width: auto;
    max-width: none;
    min-width: 0;
}
.fiscal-admin-page {
    width: 100%;
    max-width: none;
    min-width: 0;
}
.fiscal-admin-header {
    align-items: flex-start;
    margin-bottom: 1.5rem;
}
.fiscal-admin-header h1 {
    margin: .25rem 0 .45rem;
    color: #172554;
    font-size: clamp(1.45rem, 2.3vw, 2rem);
}
.fiscal-admin-header p {
    margin: 0;
    max-width: 760px;
    color: #64748b;
    line-height: 1.55;
}
.fiscal-admin-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 0 0 1.5rem;
}
.fiscal-admin-stat {
    display: grid;
    gap: 8px;
    min-width: 0;
    padding: 16px;
    border: 1px solid #dbe3ef;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(15,23,42,.045);
}
.fiscal-admin-stat span:first-child { color: #64748b; font-size: .85rem; font-weight: 700; }
.fiscal-admin-stat strong { color: #172554; font-size: 1.15rem; overflow-wrap: anywhere; }
.fiscal-admin-badge {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    min-height: 26px;
    padding: 3px 9px;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 800;
}
.fiscal-admin-badge.is-ok { color: #176b36; background: #e9f8ee; border: 1px solid #a9dbb7; }
.fiscal-admin-badge.is-warning { color: #805b09; background: #fff7df; border: 1px solid #e7cb77; }\n.fiscal-admin-badge.is-neutral { color: #45566a; background: #eef2f6; border: 1px solid #cbd5df; }\n.fiscal-admin-badge.is-blocked { color: #8a2424; background: #fdecec; border: 1px solid #e8abab; }
.fiscal-admin-section {
    margin-top: 1.25rem;
    padding: 1.25rem;
    border: 1px solid #dbe3ef;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(15,23,42,.045);
}
.fiscal-admin-section-heading { margin-bottom: 1rem; }
.fiscal-admin-section-heading h2 { margin: .25rem 0 .45rem; color: #172554; }
.fiscal-admin-section-heading p { margin: 0; color: #64748b; line-height: 1.5; }
.fiscal-admin-detail-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.fiscal-admin-detail-grid > div { min-width: 0; padding: 12px; border-radius: 10px; background: #f6f8fb; }
.fiscal-admin-detail-grid span { display: block; color: #64748b; font-size: .78rem; font-weight: 700; }
.fiscal-admin-detail-grid strong { display: block; margin-top: 4px; color: #1e293b; overflow-wrap: anywhere; }
.fiscal-admin-details-grid { display: grid; gap: 12px; }
.fiscal-admin-details-grid details { border: 1px solid #dbe3ef; border-radius: 12px; background: #fbfdff; overflow: hidden; }
.fiscal-admin-details-grid summary { cursor: pointer; padding: 14px 16px; color: #173b64; font-weight: 800; }
.fiscal-admin-details-grid details > .table-responsive,
.fiscal-admin-details-grid details > .alert { margin: 0 16px 16px; }
.fiscal-pending-page .settings-panel,
.fiscal-reports-page .settings-panel { margin-top: 1.25rem; }
.fiscal-pending-page .form-card,
.fiscal-reports-page .form-card { width: 100%; max-width: none; }
.fiscal-pending-page .fiscal-status-summary { border-left: 4px solid #dcae19; }
.fiscal-reports-page .cashier-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) {
    .fiscal-admin-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .fiscal-admin-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .fiscal-reports-page .cashier-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
    .fiscal-admin-header { align-items: stretch; flex-direction: column; }
    .fiscal-admin-header .btn-secondary { align-self: flex-start; }
    .fiscal-admin-summary,
    .fiscal-admin-detail-grid,
    .fiscal-reports-page .cashier-card-grid { grid-template-columns: 1fr; }
    .fiscal-admin-section { padding: 16px; }
}

.fiscal-settings-page-shell .main-area { flex: 1 1 auto; width: auto; max-width: none; min-width: 0; }
.fiscal-settings-page { width: 100%; max-width: none; }
.fiscal-settings-content { margin-top: 1rem; }

/* premium-modern-header-v1 */
.premium-topbar {
    gap: 24px;
}
.premium-topbar-brand {
    display: grid;
    gap: 2px;
    min-width: 0;
}
.premium-topbar-platform {
    color: #0f172a;
    font-size: clamp(1.35rem, 2vw, 1.8rem);
    font-weight: 850;
    letter-spacing: -0.035em;
    line-height: 1;
}
.premium-topbar-company {
    color: #64748b;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .1em;
    line-height: 1.2;
    text-transform: uppercase;
}
.premium-topbar-account {
    margin-left: auto;
    gap: 4px;
}
.premium-topbar-account > strong {
    color: #1e293b;
    font-size: .86rem;
}
.premium-page-header {
    align-items: start;
    border-bottom: 1px solid rgba(148, 163, 184, .22);
    display: grid;
    gap: 18px 24px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 4px 0 24px;
}
.premium-page-header-copy {
    min-width: 0;
}
.premium-page-header h1 {
    color: #172554;
    font-size: clamp(1.75rem, 2.7vw, 2.4rem);
    font-weight: 850;
    letter-spacing: -.04em;
    line-height: 1.05;
    margin: 6px 0 8px;
}
.premium-page-header p {
    color: #64748b;
    font-size: .95rem;
    line-height: 1.6;
    margin: 0;
    max-width: 62ch;
}
.premium-page-header-badge {
    align-items: center;
    background: #ecfdf5;
    border: 1px solid #bbf7d0;
    border-radius: 999px;
    color: #166534;
    display: inline-flex;
    font-size: .76rem;
    font-weight: 800;
    gap: 8px;
    letter-spacing: .04em;
    padding: 8px 12px;
    white-space: nowrap;
}
.premium-page-header-badge::before {
    background: #16a34a;
    border-radius: 50%;
    box-shadow: 0 0 0 3px rgba(22, 163, 74, .12);
    content: '';
    height: 7px;
    width: 7px;
}
.premium-page-header-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    grid-column: 1 / -1;
}
.fiscal-master-page .premium-page-header {
    margin-bottom: 22px;
}
@media (max-width: 768px) {
    .premium-topbar {
        align-items: stretch;
        flex-wrap: wrap;
    }
    .premium-topbar-brand {
        flex: 1 1 100%;
    }
    .premium-topbar-account {
        margin-left: 0;
    }
    .premium-topbar .btn-logout {
        margin-left: auto;
    }
    .premium-page-header {
        grid-template-columns: 1fr;
    }
    .premium-page-header-badge {
        justify-self: start;
    }
}
/* Categories full-width layout */
.categories-fullwidth-page .main-area {
    flex: 1 1 auto;
    width: auto;
    max-width: none;
    min-width: 0;
}
.categories-fullwidth-page .categories-page {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}
.categories-fullwidth-page .category-form {
    width: 100%;
    max-width: none;
}
.categories-fullwidth-page .category-form .form-grid {
    grid-template-columns: minmax(0, 1.8fr) minmax(180px, 0.7fr);
    gap: 18px 20px;
}
@media (max-width: 760px) {
    .categories-fullwidth-page .main-area {
        width: auto;
        max-width: none;
    }
    .categories-fullwidth-page .category-form .form-grid {
        grid-template-columns: 1fr;
    }
}

/* Suppliers full-width layout */
.suppliers-fullwidth-page .main-area {
    flex: 1 1 auto;
    width: auto;
    max-width: none;
    min-width: 0;
}
.suppliers-fullwidth-page .suppliers-page {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}
.suppliers-fullwidth-page .supplier-form {
    width: 100%;
    max-width: none;
}
.suppliers-fullwidth-page .supplier-form .form-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px 18px;
}
@media (max-width: 1100px) {
    .suppliers-fullwidth-page .supplier-form .form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 768px) {
    .suppliers-fullwidth-page .main-area {
        width: auto;
        max-width: none;
    }
    .suppliers-fullwidth-page .supplier-form .form-grid {
        grid-template-columns: 1fr;
    }
}

/* Users full-width layout */
.users-fullwidth-page .main-area {
    flex: 1 1 auto;
    width: auto;
    max-width: none;
    min-width: 0;
}
.users-fullwidth-page .users-page {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}
.users-fullwidth-page .users-form-card {
    width: 100%;
    max-width: none;
}
.users-fullwidth-page .users-form-card .form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 20px;
}
.users-fullwidth-page .users-page .search-panel {
    width: 100%;
}
@media (max-width: 768px) {
    .users-fullwidth-page .main-area {
        width: auto;
        max-width: none;
    }
    .users-fullwidth-page .users-form-card .form-grid {
        grid-template-columns: 1fr;
    }
}

/* Purchases full-width layout */
.purchases-fullwidth-page .main-area {
    flex: 1 1 auto;
    width: auto;
    max-width: none;
    min-width: 0;
}
.purchases-fullwidth-page .purchases-page {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}
.purchases-fullwidth-page .purchase-form {
    width: 100%;
    max-width: none;
}
.purchases-fullwidth-page .purchase-layout,
.purchases-fullwidth-page .purchase-detail-grid,
.purchases-fullwidth-page .purchase-sections-grid {
    width: 100%;
    max-width: none;
}
@media (max-width: 768px) {
    .purchases-fullwidth-page .main-area {
        width: auto;
        max-width: none;
    }
}

/* Financial full-width layout */
.financial-fullwidth-page .main-area {
    flex: 1 1 auto;
    width: auto;
    max-width: none;
    min-width: 0;
}
.financial-fullwidth-page .financial-page,
.financial-fullwidth-page .reports-page {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}
.financial-fullwidth-page .financial-movement-form,
.financial-fullwidth-page .financial-detail-actions,
.financial-fullwidth-page .financial-cancel-form {
    max-width: none;
}
.financial-fullwidth-page .financial-table-wrap,
.financial-fullwidth-page .reports-page .table-responsive {
    width: 100%;
    max-width: none;
}
@media (max-width: 768px) {
    .financial-fullwidth-page .main-area {
        width: auto;
        max-width: none;
    }
}

/* Clients full-width layout */
.clients-fullwidth-page .main-area {
    flex: 1 1 auto;
    width: auto;
    max-width: none;
    min-width: 0;
}
.clients-fullwidth-page .clients-page {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}
.clients-fullwidth-page .client-form {
    width: 100%;
    max-width: none;
}
.clients-fullwidth-page .client-form .form-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px 18px;
}
@media (max-width: 1100px) {
    .clients-fullwidth-page .client-form .form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 768px) {
    .clients-fullwidth-page .main-area {
        width: auto;
        max-width: none;
    }
    .clients-fullwidth-page .client-form .form-grid {
        grid-template-columns: 1fr;
    }
}

/* Commercial full-width layout */
.commercial-fullwidth-page .main-area {
    flex: 1 1 auto;
    width: auto;
    max-width: none;
    min-width: 0;
}

.commercial-fullwidth-page .page-panel {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

.commercial-fullwidth-page .commercial-document-form,
.commercial-fullwidth-page .commercial-items,
.commercial-fullwidth-page .table-responsive {
    width: 100%;
    max-width: none;
    min-width: 0;
}

.commercial-fullwidth-page .data-table {
    width: 100%;
    min-width: 0;
}

.commercial-fullwidth-page .commercial-document-form .form-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px 18px;
}

@media (max-width: 1100px) {
    .commercial-fullwidth-page .commercial-document-form .form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .commercial-fullwidth-page .main-area {
        width: auto;
        max-width: none;
    }

    .commercial-fullwidth-page .commercial-document-form .form-grid {
        grid-template-columns: 1fr;
    }

    .commercial-fullwidth-page .table-responsive {
        overflow-x: auto;
    }
}

/* Cashier full-width layout */
.cashier-fullwidth-page .main-area {
    flex: 1 1 auto;
    width: auto;
    max-width: none;
    min-width: 0;
}

.cashier-fullwidth-page .page-panel {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

.cashier-fullwidth-page .cash-form,
.cashier-fullwidth-page .cash-history-wrap,
.cashier-fullwidth-page .cash-history-list,
.cashier-fullwidth-page .cash-table {
    width: 100%;
    max-width: none;
    min-width: 0;
}

.cashier-fullwidth-page .cash-history-wrap {
    overflow-x: auto;
}

.cashier-fullwidth-page .cash-history-table,
.cashier-fullwidth-page .cashier-responsive-table {
    width: 100%;
}

@media (max-width: 760px) {
    .cashier-fullwidth-page .main-area {
        width: auto;
        max-width: none;
    }
}

/* Audit full-width layout */
.audit-fullwidth-page .main-area {
    flex: 1 1 auto;
    width: auto;
    max-width: none;
    min-width: 0;
}

.audit-fullwidth-page .audit-master-page,
.audit-fullwidth-page .page-panel {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

.audit-fullwidth-page .audit-kpi-grid,
.audit-fullwidth-page .audit-filter-card,
.audit-fullwidth-page .audit-table-wrap {
    width: 100%;
    max-width: none;
    min-width: 0;
}

@media (max-width: 768px) {
    .audit-fullwidth-page .main-area {
        width: auto;
        max-width: none;
    }
}

/* Products full-width layout */
.products-fullwidth-page .main-area {
    flex: 1 1 auto;
    width: auto;
    max-width: none;
    min-width: 0;
}
.products-fullwidth-page .products-page {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}
@media (max-width: 760px) {
    .products-fullwidth-page .main-area {
        width: auto;
        max-width: none;
    }
}
/* products-fullwidth-v1 */

/* Products form full-width v1 */
.products-fullwidth-page .product-form-page {
    width: 100%;
    max-width: none;
}
.products-fullwidth-page .product-form {
    width: 100%;
    max-width: none;
}
.products-fullwidth-page .product-form .form-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px 20px;
}
.products-fullwidth-page .product-form-section {
    min-width: 0;
}
@media (max-width: 1120px) {
    .products-fullwidth-page .product-form .form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 680px) {
    .products-fullwidth-page .product-form .form-grid {
        grid-template-columns: 1fr;
    }
}
 /* Products form full-width v1 */
/* Sidebar premium grouped navigation */
.sidebar {
    overflow-x: hidden;
    scrollbar-width: thin;
    scrollbar-color: rgba(148, 163, 184, 0.45) transparent;
}

.sidebar::-webkit-scrollbar {
    width: 6px;
}

.sidebar::-webkit-scrollbar-track {
    background: transparent;
}

.sidebar::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.45);
}

.sidebar-nav {
    gap: 0;
}

.sidebar-group {
    display: grid;
    gap: 4px;
}

.sidebar-group + .sidebar-group {
    margin-top: 14px;
}

.sidebar-nav .section-label {
    display: block;
    margin: 8px 12px 6px;
    color: #94a3b8;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.11em;
    line-height: 1.2;
}

.sidebar-link {
    min-height: 42px;
    padding: 10px 14px;
    border: 1px solid transparent;
    border-radius: 10px;
    color: #cbd5e1;
    font-size: 0.94rem;
    font-weight: 550;
}

.sidebar-link:hover:not(.active) {
    background: rgba(148, 163, 184, 0.10);
    color: #f8fafc;
}

.sidebar-link.active:not(.sidebar-link-feature) {
    border-left: 3px solid #38bdf8;
    background: #1e293b;
    color: #ffffff;
    padding-left: 11px;
    box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.08);
}

.sidebar-link-feature {
    min-height: 44px;
    padding: 10px 14px;
    border-color: rgba(94, 234, 212, 0.24);
}

.sidebar-link-feature.active {
    border-color: rgba(94, 234, 212, 0.42);
    border-left: 3px solid #5eead4;
    background: linear-gradient(135deg, rgba(20, 184, 166, 0.30), rgba(37, 99, 235, 0.24));
    color: #ffffff;
    padding-left: 12px;
}

@media (max-width: 768px) {
    .sidebar-nav .section-label {
        margin-top: 7px;
    }

    .sidebar-group + .sidebar-group {
        margin-top: 12px;
    }
}
/* sticky global header */
.main-area > .topbar.premium-topbar {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: #f4f7fb;
    box-shadow: 0 1px 0 rgba(148, 163, 184, .18), 0 6px 16px rgba(15, 23, 42, .04);
}

@media (max-width: 768px) {
    .main-area > .topbar.premium-topbar {
        top: 68px;
    }
}

/* sticky fix: preserve viewport scroll context for the global header */
html,
body,
.app-shell {
    overflow-x: clip;
}
/* HS Metais login — premium industrial refinement */
html:has(body.login-page), body.login-page { min-height: 100%; }
body.login-page { margin: 0; min-height: 100svh; overflow-x: hidden; background: #eef2f6; color: #142033; }
body.login-page .login-shell { min-height: 100svh; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(420px, .82fr); }
body.login-page .login-landing { position: relative; isolation: isolate; min-height: 100svh; overflow: hidden; display: flex; align-items: center; padding: clamp(48px, 7vw, 96px) clamp(28px, 7vw, 112px) 38px; background: radial-gradient(circle at 76% 19%, rgba(56, 130, 181, .22), transparent 22rem), linear-gradient(135deg, #071421 0%, #0d1d2c 55%, #142b3d 100%); color: #f8fafc; }
body.login-page .login-landing::before { content: ""; position: absolute; inset: 0; z-index: -2; opacity: .22; background-image: linear-gradient(120deg, transparent 0 48%, rgba(144, 189, 215, .22) 48.2%, transparent 48.5%), linear-gradient(30deg, transparent 0 61%, rgba(144, 189, 215, .11) 61.2%, transparent 61.5%); background-size: 520px 520px, 360px 360px; }
body.login-page .login-landing::after { content: ""; position: absolute; width: min(52vw, 720px); height: min(52vw, 720px); right: -20%; bottom: -28%; z-index: -1; border: 1px solid rgba(135, 190, 222, .16); border-radius: 50%; box-shadow: 0 0 0 34px rgba(135, 190, 222, .035), 0 0 0 68px rgba(135, 190, 222, .025); }
body.login-page .industrial-lines { position: absolute; inset: 0; z-index: -1; opacity: .15; background: repeating-linear-gradient(90deg, transparent 0 78px, rgba(174, 207, 224, .12) 79px, transparent 80px); mask-image: linear-gradient(to bottom, transparent, #000 20%, #000 80%, transparent); }
body.login-page .industrial-orb { position: absolute; z-index: -1; border: 1px solid rgba(114, 184, 222, .22); border-radius: 50%; }
body.login-page .industrial-orb-one { width: 190px; height: 190px; top: 12%; right: 13%; box-shadow: inset 0 0 0 16px rgba(114, 184, 222, .035); }
body.login-page .industrial-orb-two { width: 92px; height: 92px; right: 38%; bottom: 13%; opacity: .6; }
body.login-page .login-landing-content { position: relative; z-index: 1; width: min(100%, 700px); }
body.login-page .landing-kicker, body.login-page .login-kicker { color: #8dbbd3; font-size: .72rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
body.login-page .landing-kicker { display: flex; align-items: center; gap: 12px; margin: 0 0 30px; }
body.login-page .landing-mark { display: inline-grid; width: 34px; height: 34px; place-items: center; border: 1px solid rgba(158, 208, 232, .42); border-radius: 9px; color: #e4f4fb; font-size: .67rem; letter-spacing: .08em; }
body.login-page .login-landing h1 { margin: 0; color: #fff; font-size: clamp(2.8rem, 6vw, 5.7rem); font-weight: 800; letter-spacing: .08em; line-height: .98; }
body.login-page .landing-slogan { max-width: 620px; margin: 26px 0 0; color: #e5f0f5; font-size: clamp(1.3rem, 2.35vw, 2rem); font-weight: 500; line-height: 1.25; }
body.login-page .landing-description { max-width: 590px; margin: 16px 0 0; color: #afc2ce; font-size: 1rem; line-height: 1.7; }
body.login-page .landing-features { display: grid; gap: 18px; max-width: 620px; margin: 40px 0 0; }
body.login-page .landing-feature { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 14px; align-items: start; padding: 0 0 16px; border-bottom: 1px solid rgba(165, 202, 220, .16); }
body.login-page .feature-index { padding-top: 2px; color: #72b7d8; font-size: .72rem; font-weight: 800; letter-spacing: .08em; }
body.login-page .landing-feature h2 { margin: 0; color: #f7fbfd; font-size: .97rem; font-weight: 700; }
body.login-page .landing-feature p { margin: 5px 0 0; color: #9eb5c2; font-size: .88rem; line-height: 1.5; }
body.login-page .landing-signature { margin: 42px 0 0; color: #8098a7; font-size: .78rem; letter-spacing: .02em; }
body.login-page .landing-signature strong { color: #b4c8d3; font-weight: 600; }
body.login-page .login-panel { display: grid; place-items: center; min-width: 0; padding: clamp(28px, 5vw, 80px); background: linear-gradient(145deg, #f4f7fa 0%, #e9eef3 100%); }
body.login-page .login-panel .login-card { width: min(100%, 520px); margin: 0; padding: clamp(30px, 4vw, 48px); border: 1px solid #dbe3ea; border-radius: 26px; background: rgba(255, 255, 255, .98); box-shadow: 0 24px 60px rgba(20, 38, 55, .14), 0 3px 10px rgba(20, 38, 55, .05); }
body.login-page .login-card-header { margin-bottom: 32px; }
body.login-page .login-kicker { margin: 0 0 13px; color: #397da3; }
body.login-page .login-card h2 { margin: 0; color: #172536; font-size: clamp(1.8rem, 3vw, 2.35rem); line-height: 1.1; }
body.login-page .login-subtitle { margin: 10px 0 0; color: #627281; font-size: 1rem; }
body.login-page .login-card .form-group { margin-bottom: 22px; }
body.login-page .login-card label { display: block; margin-bottom: 8px; color: #2e3e4e; font-size: .86rem; font-weight: 700; }
body.login-page .login-card input { min-height: 54px; border: 1px solid #ccd7e0; border-radius: 11px; background: #fbfcfd; color: #172536; font-size: .98rem; }
body.login-page .login-card input::placeholder { color: #9baab5; }
body.login-page .login-card input:focus { border-color: #397da3; box-shadow: 0 0 0 4px rgba(57, 125, 163, .15); }
body.login-page .login-card .password-toggle { color: #607585; border-radius: 8px; }
body.login-page .login-card .password-toggle:hover { color: #245f81; background: #edf4f8; }
body.login-page .login-card .btn-primary { min-height: 54px; margin-top: 5px; border-radius: 11px; background: #17658e; box-shadow: 0 9px 18px rgba(23, 101, 142, .2); font-size: .98rem; }
body.login-page .login-card .btn-primary:hover { background: #105678; box-shadow: 0 11px 22px rgba(23, 101, 142, .27); transform: translateY(-1px); }
body.login-page .login-card .btn-primary:focus-visible, body.login-page .login-card .password-toggle:focus-visible { outline: 3px solid rgba(47, 132, 174, .35); outline-offset: 2px; }
body.login-page .login-security-note { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 20px 0 0; color: #7a8994; font-size: .78rem; text-align: center; }
body.login-page .login-security-note span { color: #3b8aac; font-size: .6rem; }
body.login-page .login-card .alert { margin-bottom: 22px; border-radius: 10px; }
@media (max-width: 1060px) {
    body.login-page .login-shell { grid-template-columns: minmax(0, 1fr) minmax(380px, .78fr); }
    body.login-page .login-landing { padding-left: clamp(28px, 5vw, 64px); padding-right: clamp(28px, 5vw, 64px); }
    body.login-page .landing-feature p { font-size: .82rem; }
}
@media (max-width: 860px) {
    body.login-page .login-shell { display: block; }
    body.login-page .login-landing { min-height: auto; padding: 48px 28px 44px; }
    body.login-page .login-landing::after { width: 420px; height: 420px; right: -28%; bottom: -38%; }
    body.login-page .industrial-orb-one { top: 8%; right: 8%; opacity: .55; }
    body.login-page .login-landing-content { max-width: 680px; margin: 0 auto; }
    body.login-page .landing-features { margin-top: 30px; }
    body.login-page .landing-signature { margin-top: 30px; }
    body.login-page .login-panel { padding: 42px 28px 56px; }
}
@media (max-width: 520px) {
    body.login-page .login-landing { padding: 34px 20px 32px; }
    body.login-page .landing-kicker { margin-bottom: 24px; font-size: .64rem; }
    body.login-page .login-landing h1 { font-size: clamp(2.45rem, 13vw, 3.6rem); }
    body.login-page .landing-slogan { margin-top: 19px; font-size: 1.22rem; }
    body.login-page .landing-description { margin-top: 12px; font-size: .91rem; line-height: 1.55; }
    body.login-page .landing-features { gap: 14px; margin-top: 26px; }
    body.login-page .landing-feature { grid-template-columns: 30px minmax(0, 1fr); gap: 10px; padding-bottom: 13px; }
    body.login-page .landing-feature h2 { font-size: .89rem; }
    body.login-page .landing-feature p { font-size: .79rem; }
    body.login-page .landing-signature { margin-top: 24px; font-size: .7rem; }
    body.login-page .industrial-lines, body.login-page .industrial-orb-two { display: none; }
    body.login-page .login-panel { padding: 28px 16px 40px; }
    body.login-page .login-panel .login-card { padding: 28px 21px 30px; border-radius: 20px; }
}
@media (prefers-reduced-motion: reduce) {
    body.login-page .login-card .btn-primary { transition: none; }
}

/* HS Metais login V2 — immersive premium industrial composition */
body.login-page { background: radial-gradient(circle at 88% 20%, rgba(185, 102, 54, .13), transparent 24rem), radial-gradient(circle at 22% 82%, rgba(43, 105, 133, .16), transparent 30rem), #07131f; }
body.login-page .login-shell { position: relative; grid-template-columns: minmax(0, 1.5fr) minmax(390px, 1fr); overflow: hidden; background: linear-gradient(118deg, rgba(7, 19, 31, .98) 0%, rgba(12, 29, 43, .96) 54%, rgba(22, 35, 45, .94) 100%), radial-gradient(circle at 84% 48%, rgba(197, 111, 61, .2), transparent 28rem); }
body.login-page .login-shell::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .28; background: linear-gradient(124deg, transparent 0 52%, rgba(211, 138, 89, .22) 52.1%, transparent 52.35%), linear-gradient(124deg, transparent 0 73%, rgba(104, 153, 174, .16) 73.1%, transparent 73.3%), repeating-linear-gradient(90deg, transparent 0 94px, rgba(182, 207, 216, .035) 95px, transparent 96px); mix-blend-mode: screen; }
body.login-page .login-landing, body.login-page .login-panel { min-height: 100svh; background: transparent; }
body.login-page .login-landing { z-index: 1; padding-right: clamp(36px, 6vw, 110px); }
body.login-page .login-landing::before { opacity: .14; }
body.login-page .login-landing::after { border-color: rgba(203, 127, 76, .2); box-shadow: 0 0 0 34px rgba(203, 127, 76, .035), 0 0 0 68px rgba(104, 161, 184, .035); }
body.login-page .industrial-orb-one { border-color: rgba(211, 139, 86, .3); box-shadow: inset 0 0 0 16px rgba(211, 139, 86, .045), 0 0 70px rgba(198, 110, 61, .08); }
body.login-page .industrial-orb-two { border-color: rgba(117, 181, 204, .26); }
body.login-page .landing-mark { border-color: rgba(211, 139, 86, .55); color: #edc5a6; background: rgba(196, 105, 57, .08); }
body.login-page .landing-kicker { color: #c99a79; letter-spacing: .2em; }
body.login-page .login-landing h1 { display: none; }
body.login-page .landing-hero-title { margin: 0; color: #f6f8f8; font-size: clamp(3.3rem, 6.7vw, 6.8rem); font-weight: 800; letter-spacing: -.045em; line-height: .96; }
body.login-page .landing-hero-title span { color: #d48b5e; }
body.login-page .landing-description { max-width: 580px; margin-top: 24px; color: #b6c6cd; font-size: 1.02rem; line-height: 1.55; }
body.login-page .landing-features { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; max-width: 740px; margin-top: 40px; }
body.login-page .landing-feature { display: block; min-height: 142px; padding: 18px 16px; border: 1px solid rgba(166, 194, 202, .17); border-radius: 15px; background: linear-gradient(145deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .025)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05); }
body.login-page .landing-feature:nth-child(2) { border-color: rgba(203, 127, 76, .28); }
body.login-page .feature-index { display: block; margin-bottom: 25px; color: #d48b5e; }
body.login-page .landing-feature h2 { font-size: .88rem; line-height: 1.25; }
body.login-page .landing-feature p { margin-top: 8px; color: #9fb4bd; font-size: .78rem; line-height: 1.45; }
body.login-page .landing-signature { margin-top: 28px; color: #748d98; }
body.login-page .login-panel { position: relative; z-index: 1; justify-items: end; padding: clamp(28px, 5vw, 84px) clamp(28px, 6vw, 108px) clamp(28px, 5vw, 84px) 28px; }
body.login-page .login-panel .login-card { width: min(100%, 480px); padding: clamp(30px, 4vw, 46px); border: 1px solid rgba(218, 224, 222, .2); border-radius: 24px; background: linear-gradient(145deg, rgba(30, 46, 55, .91), rgba(11, 25, 36, .93)); box-shadow: 0 28px 70px rgba(0, 0, 0, .34), inset 0 1px 0 rgba(255, 255, 255, .08); backdrop-filter: blur(14px); }
body.login-page .login-card-header { margin-bottom: 30px; }
body.login-page .login-monogram { display: grid; width: 42px; height: 42px; margin-bottom: 22px; place-items: center; border: 1px solid rgba(211, 139, 86, .55); border-radius: 12px; color: #e2ad87; background: rgba(196, 105, 57, .1); font-size: .72rem; font-weight: 800; letter-spacing: .1em; }
body.login-page .login-kicker { color: #d49a75; }
body.login-page .login-card h2 { color: #f6f7f6; font-size: clamp(1.8rem, 3vw, 2.35rem); }
body.login-page .login-subtitle { color: #a9bac0; line-height: 1.5; }
body.login-page .login-card label { color: #d7e0e1; }
body.login-page .login-card input { border-color: rgba(183, 199, 202, .26); background: rgba(248, 250, 249, .97); }
body.login-page .login-card input:focus { border-color: #d38a5c; box-shadow: 0 0 0 4px rgba(211, 138, 92, .18); }
body.login-page .login-card .password-toggle { color: #607987; }
body.login-page .login-card .btn-primary { background: linear-gradient(110deg, #a95d36, #d08350); box-shadow: 0 12px 24px rgba(136, 66, 34, .27); }
body.login-page .login-card .btn-primary:hover { background: linear-gradient(110deg, #bc6c40, #dd925d); box-shadow: 0 15px 27px rgba(136, 66, 34, .36); }
body.login-page .login-security-note { color: #91a6ad; }
body.login-page .login-security-note span { color: #d48b5e; }
body.login-page .login-card-footer { margin: 26px 0 0; padding-top: 18px; border-top: 1px solid rgba(192, 208, 210, .13); color: #718890; font-size: .72rem; text-align: center; letter-spacing: .04em; }
body.login-page .login-card-footer span { padding: 0 5px; color: #c77d54; }
body.login-page .login-card .alert { color: #ffd7c6; background: rgba(142, 56, 41, .25); border-color: rgba(231, 135, 105, .35); }
@media (max-width: 1060px) { body.login-page .login-shell { grid-template-columns: minmax(0, 1.25fr) minmax(360px, .9fr); } body.login-page .landing-hero-title { font-size: clamp(3rem, 6vw, 5rem); } body.login-page .landing-feature { padding: 15px 12px; } }
@media (max-width: 860px) { body.login-page .login-shell { display: block; overflow: visible; } body.login-page .login-landing { min-height: auto; padding: 52px 28px 42px; } body.login-page .login-panel { min-height: auto; justify-items: center; padding: 14px 28px 58px; } body.login-page .login-panel .login-card { width: min(100%, 520px); } }
@media (max-width: 520px) { body.login-page .login-landing { padding: 34px 20px 30px; } body.login-page .landing-kicker { margin-bottom: 25px; font-size: .61rem; } body.login-page .landing-hero-title { font-size: clamp(2.75rem, 14vw, 4.1rem); } body.login-page .landing-description { margin-top: 18px; font-size: .91rem; } body.login-page .landing-features { grid-template-columns: 1fr; gap: 8px; margin-top: 27px; } body.login-page .landing-feature { min-height: 0; padding: 13px 14px; } body.login-page .feature-index { display: inline-block; margin: 0 8px 0 0; } body.login-page .landing-feature h2 { display: inline; font-size: .87rem; } body.login-page .landing-feature p { margin: 6px 0 0; font-size: .78rem; } body.login-page .landing-signature { margin-top: 24px; font-size: .69rem; } body.login-page .login-panel { padding: 10px 16px 40px; } body.login-page .login-panel .login-card { padding: 27px 21px 28px; border-radius: 20px; } }

/* NF-e produção — refinamento visual escopado à tela de emissão. */
.hs-nfe-production-page { width: 100%; max-width: 1180px; min-width: 0; margin: 0 auto; }
.hs-nfe-production-page *, .hs-nfe-production-page *::before, .hs-nfe-production-page *::after { box-sizing: border-box; }
.hs-nfe-production-page .hs-nfe-banner { position: relative; top: auto; display: flex; align-items: center; gap: 1rem; min-width: 0; padding: 1.25rem 1.5rem; border-radius: 14px; }
.hs-nfe-production-page .hs-nfe-banner-copy { min-width: 0; }
.hs-nfe-production-page .hs-nfe-banner h1 { margin: .25rem 0 .35rem; font-size: clamp(1.25rem, 2.4vw, 1.7rem); letter-spacing: -.02em; }
.hs-nfe-production-page .hs-nfe-banner p { margin: 0; color: #53677c; line-height: 1.45; }
.hs-nfe-production-page .hs-nfe-banner > strong { flex: 0 0 auto; padding: .55rem .75rem; border: 1px solid #b9d8c3; border-radius: 999px; background: #fff; color: #176b36; font-size: .72rem; letter-spacing: .06em; }
.hs-nfe-production-page .hs-nfe-heading { align-items: flex-end; gap: 1.25rem; margin: 1.5rem 0 1rem; }
.hs-nfe-production-page .hs-nfe-heading h2 { margin: .25rem 0 .35rem; color: #172554; font-size: clamp(1.45rem, 2.5vw, 2rem); }
.hs-nfe-production-page .hs-nfe-heading p { max-width: 650px; margin: 0; color: #64748b; line-height: 1.5; }
.hs-nfe-production-page .hs-nfe-heading .actions-row { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: .6rem; }
.hs-nfe-production-page .hs-nfe-heading .actions-row form { margin: 0; }
.hs-nfe-production-page .hs-nfe-operational-status { margin: 1rem 0; padding: 1.1rem 1.25rem; border: 1px solid #dbe3ef; border-radius: 14px; background: #fbfdff; box-shadow: 0 6px 18px rgba(15,23,42,.035); }
.hs-nfe-production-page .hs-nfe-status-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.hs-nfe-production-page .hs-nfe-status-heading h2 { margin: .2rem 0 0; color: #172554; font-size: 1.15rem; }
.hs-nfe-production-page .hs-nfe-status-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
.hs-nfe-production-page .hs-nfe-status-grid > div { display: grid; gap: .35rem; min-width: 0; padding: .85rem .95rem; border: 1px solid #e2e8f0; border-radius: 10px; background: #fff; }
.hs-nfe-production-page .hs-nfe-status-grid span, .hs-nfe-production-page .hs-nfe-summary-card span { color: #64748b; font-size: .76rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.hs-nfe-production-page .hs-nfe-status-grid strong { color: #1e293b; overflow-wrap: anywhere; }
.hs-nfe-production-page .hs-nfe-status-grid .is-ok { color: #176b36; }
.hs-nfe-production-page .hs-nfe-status-grid .is-warning { color: #9a6700; }
.hs-nfe-production-page .hs-nfe-form { display: grid; gap: 1rem; padding: 0; border: 0; background: transparent; }
.hs-nfe-production-page .hs-nfe-form-section, .hs-nfe-production-page .hs-nfe-confirm { min-width: 0; margin: 0; padding: 1.25rem; border: 1px solid #dbe3ef; border-radius: 14px; background: #fff; box-shadow: 0 6px 18px rgba(15,23,42,.035); }
.hs-nfe-production-page .hs-nfe-section-heading { display: flex; align-items: flex-start; gap: .8rem; margin-bottom: 1rem; }
.hs-nfe-production-page .hs-nfe-step-badge { display: grid; flex: 0 0 30px; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: #173b64; color: #fff; font-size: .82rem; font-weight: 800; }
.hs-nfe-production-page .hs-nfe-section-heading h2 { margin: 0; color: #172554; font-size: 1.08rem; }
.hs-nfe-production-page .hs-nfe-section-heading p { margin: .25rem 0 0; color: #64748b; line-height: 1.45; }
.hs-nfe-production-page .hs-nfe-form-section > label, .hs-nfe-production-page .hs-nfe-value-grid > label, .hs-nfe-production-page .hs-nfe-payment-grid > label { display: grid; gap: .45rem; min-width: 0; color: #334155; font-weight: 700; }
.hs-nfe-production-page .hs-nfe-field-label { display: block; }
.hs-nfe-production-page .hs-nfe-form-section select, .hs-nfe-production-page .hs-nfe-form-section input { width: 100%; min-width: 0; min-height: 46px; padding: .7rem .8rem; border: 1px solid #b8c5d3; border-radius: 10px; background: #fff; color: #1e293b; font: inherit; }
.hs-nfe-production-page .hs-nfe-form-section select:focus-visible, .hs-nfe-production-page .hs-nfe-form-section input:focus-visible, .hs-nfe-production-page .hs-nfe-confirm-check input:focus-visible { outline: 3px solid rgba(37,99,235,.22); outline-offset: 2px; border-color: #2563eb; }
.hs-nfe-production-page .hs-nfe-form-section small { color: #64748b; font-weight: 400; line-height: 1.45; }
.hs-nfe-production-page .hs-nfe-selection-info { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem 1rem; margin-top: .75rem; padding: .8rem .9rem; border: 1px solid #e2e8f0; border-radius: 10px; background: #f8fafc; color: #475569; line-height: 1.4; }
.hs-nfe-production-page .hs-nfe-selection-info strong { min-width: 0; color: #1e3a8a; overflow-wrap: anywhere; }
.hs-nfe-production-page .hs-nfe-value-grid, .hs-nfe-production-page .hs-nfe-payment-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.hs-nfe-production-page .hs-nfe-total { display: grid; gap: .15rem; margin: 1rem 0 0; padding: .85rem 1rem; border: 1px solid #d6e7f7; border-radius: 10px; background: #f1f8ff; }
.hs-nfe-production-page .hs-nfe-total small { color: #53677c; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.hs-nfe-production-page .hs-nfe-total strong { color: #123d68; font-size: 1.55rem; }
.hs-nfe-production-page .hs-nfe-total span { color: #53677c; font-size: .82rem; }
.hs-nfe-production-page .hs-nfe-summary-card { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; padding: 1rem; border: 1px solid #e2e8f0; border-radius: 11px; background: #f8fafc; }
.hs-nfe-production-page .hs-nfe-summary-card > div { min-width: 0; padding: .75rem; border: 1px solid #e2e8f0; border-radius: 9px; background: #fff; }
.hs-nfe-production-page .hs-nfe-summary-card strong { display: block; margin-top: .3rem; color: #1e293b; overflow-wrap: anywhere; }
.hs-nfe-production-page .hs-nfe-number-summary { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-top: .85rem; padding: .75rem .9rem; border: 1px solid #b9d8c3; border-radius: 10px; background: #effaf2; color: #176b36; }
.hs-nfe-production-page .hs-nfe-number-summary span { color: #3b7050; font-size: .85rem; }
.hs-nfe-production-page .hs-nfe-confirm-check { display: flex; align-items: flex-start; gap: .6rem; margin-top: .9rem; color: #334155; font-weight: 600; line-height: 1.45; cursor: pointer; }
.hs-nfe-production-page .hs-nfe-confirm-check input { flex: 0 0 auto; width: 18px; height: 18px; min-height: 18px; margin: .12rem 0 0; accent-color: #173b64; }
.hs-nfe-production-page .hs-nfe-actions { display: flex; justify-content: flex-end; gap: .75rem; flex-wrap: wrap; padding: .25rem 0 0; }
.hs-nfe-production-page .hs-nfe-actions .btn-primary, .hs-nfe-production-page .hs-nfe-actions .btn-secondary { min-height: 44px; }
.hs-nfe-production-page .hs-nfe-technical-details { margin-top: 1rem; border: 1px solid #dbe3ef; border-radius: 12px; background: #fff; }
.hs-nfe-production-page .hs-nfe-technical-details > summary { padding: .9rem 1rem; color: #173b64; font-weight: 800; cursor: pointer; }
.hs-nfe-production-page .hs-nfe-readiness-details > p, .hs-nfe-production-page .hs-nfe-readiness-details > .table-responsive { margin-left: 1rem; margin-right: 1rem; }
@media (max-width: 900px) {
    .hs-nfe-production-page .hs-nfe-status-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hs-nfe-production-page .hs-nfe-summary-card { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
    .hs-nfe-production-page .hs-nfe-banner, .hs-nfe-production-page .hs-nfe-heading, .hs-nfe-production-page .hs-nfe-status-heading { align-items: stretch; flex-direction: column; }
    .hs-nfe-production-page .hs-nfe-banner > strong { align-self: flex-start; }
    .hs-nfe-production-page .hs-nfe-heading .actions-row { justify-content: flex-start; }
    .hs-nfe-production-page .hs-nfe-value-grid, .hs-nfe-production-page .hs-nfe-payment-grid { grid-template-columns: 1fr; }
    .hs-nfe-production-page .hs-nfe-selection-info { grid-template-columns: 1fr; }
    .hs-nfe-production-page .hs-nfe-actions { justify-content: stretch; }
    .hs-nfe-production-page .hs-nfe-actions > * { flex: 1 1 220px; }
}
@media (max-width: 430px) {
    .hs-nfe-production-page .hs-nfe-banner, .hs-nfe-production-page .hs-nfe-form-section, .hs-nfe-production-page .hs-nfe-confirm, .hs-nfe-production-page .hs-nfe-operational-status { padding: 1rem; }
    .hs-nfe-production-page .hs-nfe-status-grid, .hs-nfe-production-page .hs-nfe-summary-card { grid-template-columns: 1fr; }
    .hs-nfe-production-page .hs-nfe-number-summary { align-items: flex-start; flex-direction: column; }
    .hs-nfe-production-page .hs-nfe-heading .actions-row { align-items: stretch; flex-direction: column; }
    .hs-nfe-production-page .hs-nfe-heading .actions-row > *, .hs-nfe-production-page .hs-nfe-heading .actions-row form, .hs-nfe-production-page .hs-nfe-heading .actions-row form button { width: 100%; }
}

/* HS workspace fiscal pages */
.hs-workspace-page{max-width:1280px;margin:0 auto;padding:24px}
.hs-workspace-hero,.hs-workspace-card{background:#fff;border:1px solid #e7ebf3;border-radius:18px;box-shadow:0 10px 28px rgba(24,39,75,.06)}
.hs-workspace-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:28px;margin-bottom:18px}
.hs-workspace-hero h1{margin:6px 0;font-size:clamp(1.5rem,3vw,2.1rem);color:#15233b}
.hs-workspace-hero p,.hs-workspace-note{color:#65728a;margin:6px 0}
.hs-workspace-nav,.hs-workspace-actions,.hs-workspace-inline-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.hs-workspace-card{padding:24px;margin-bottom:18px}
.hs-workspace-card-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}
.hs-workspace-card h2{margin:4px 0;color:#182842}
.hs-workspace-status,.hs-workspace-count{background:#eef3ff;color:#2457b8;border-radius:999px;padding:7px 12px;font-size:.75rem;font-weight:700}
.hs-workspace-form fieldset{border:0;padding:0;margin:0 0 20px}
.hs-workspace-form legend{font-weight:800;color:#253652;margin-bottom:12px}
.hs-workspace-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.hs-workspace-grid label{display:flex;flex-direction:column;gap:6px;color:#34445e;font-weight:600;font-size:.9rem}
.hs-workspace-grid input,.hs-workspace-grid textarea,.hs-workspace-grid select,.hs-workspace-evidence{border:1px solid #d9e0ec;border-radius:10px;padding:11px 12px;background:#fbfcfe;color:#1f2d44;font:inherit}
.hs-workspace-wide{grid-column:1/-1}
.hs-workspace-advanced{border-top:1px solid #edf0f5;padding-top:14px;margin-top:10px}
.hs-workspace-advanced summary{cursor:pointer;font-weight:800;color:#2b3d5a;margin-bottom:14px}
.hs-workspace-table-wrap{overflow-x:auto}
.hs-workspace-table{width:100%;border-collapse:collapse;min-width:820px}
.hs-workspace-table th,.hs-workspace-table td{text-align:left;padding:13px 12px;border-bottom:1px solid #edf0f5;vertical-align:middle}
.hs-workspace-table th{color:#65728a;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
.hs-workspace-table td{color:#263650}
.hs-workspace-table form{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}
.hs-workspace-badge{display:inline-block;border-radius:999px;padding:5px 9px;font-size:.7rem;font-weight:800}
.hs-status-draft{background:#fff4d9;color:#926b00}.hs-status-approved{background:#e6f8ee;color:#197044}.hs-status-inactive{background:#eef0f4;color:#687487}
.hs-workspace-empty{text-align:center;padding:38px 20px;color:#68758a}.hs-workspace-empty strong{display:block;color:#253652;font-size:1.1rem;margin-bottom:8px}
@media(max-width:760px){.hs-workspace-page{padding:12px}.hs-workspace-hero{display:block;padding:20px}.hs-workspace-nav{margin-top:16px}.hs-workspace-card{padding:16px}.hs-workspace-grid{grid-template-columns:1fr}.hs-workspace-wide{grid-column:auto}.hs-workspace-table{min-width:0}.hs-workspace-table thead{display:none}.hs-workspace-table,.hs-workspace-table tbody,.hs-workspace-table tr,.hs-workspace-table td{display:block;width:100%}.hs-workspace-table tr{border:1px solid #e7ebf3;border-radius:12px;padding:10px;margin-bottom:12px}.hs-workspace-table td{border:0;display:flex;justify-content:space-between;gap:12px;padding:7px 4px;text-align:right}.hs-workspace-table td:before{content:attr(data-label);font-weight:700;color:#65728a;text-align:left}.hs-workspace-table td[data-label="Ações"]{display:block;text-align:left}.hs-workspace-inline-actions{justify-content:flex-start}.hs-workspace-evidence{max-width:180px}}
.sidebar-nav .sidebar-dashboard { margin-bottom: 10px; }
.sidebar-nav .sidebar-dashboard .sidebar-link-icon { width: 20px; margin-right: 9px; text-align: center; }
.accordion-group { margin: 0; }
.accordion-group + .accordion-group { margin-top: 6px; }
.sidebar-group-toggle { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 44px; padding: 0 12px; border: 1px solid transparent; border-radius: 10px; background: transparent; color: rgba(239,246,255,.68); cursor: pointer; font: inherit; font-size: .72rem; font-weight: 800; letter-spacing: .09em; text-align: left; transition: background-color .18s ease, border-color .18s ease, color .18s ease; }
.sidebar-group-toggle:hover, .sidebar-group-toggle:focus-visible { background: rgba(67,139,255,.09); border-color: rgba(112,164,255,.18); color: #f5f9ff; outline: none; }
.sidebar-group-toggle:focus-visible { box-shadow: 0 0 0 3px rgba(77,145,255,.24); }
.sidebar-group-title { display: inline-flex; align-items: center; gap: 10px; min-width: 0; }
.sidebar-group-icon { display: inline-grid; place-items: center; width: 20px; height: 20px; color: #83b6ff; font-size: .88rem; line-height: 1; }
.sidebar-group-chevron { display: inline-block; color: rgba(191,211,239,.62); font-size: 1rem; line-height: 1; transform: rotate(0deg); transition: transform .18s ease, color .18s ease; }
.accordion-group.is-open .sidebar-group-chevron, .accordion-group.is-active-group .sidebar-group-chevron { transform: rotate(90deg); color: #8cbcff; }
.accordion-group.is-open .sidebar-group-toggle, .accordion-group.is-active-group .sidebar-group-toggle { background: rgba(39,93,170,.16); border-color: rgba(93,151,239,.18); color: #f5f9ff; }
.sidebar-submenu { display: grid; grid-template-rows: 1fr; margin: 2px 0 4px 10px; padding-left: 10px; border-left: 1px solid rgba(116,159,221,.2); overflow: hidden; opacity: 1; transition: grid-template-rows .19s ease, opacity .16s ease; }
.sidebar-submenu[hidden] { display: grid; grid-template-rows: 0fr; opacity: 0; margin-top: 0; margin-bottom: 0; }
.sidebar-submenu::before { content: ''; min-height: 0; }
.sidebar-submenu > .sidebar-link { min-height: 40px; margin: 1px 0; padding: 9px 10px 9px 14px; border-radius: 8px; color: rgba(230,240,255,.69); font-size: .86rem; }
.sidebar-submenu > .sidebar-link:hover:not(.active) { background: rgba(63,126,221,.11); color: #f3f7ff; }
.sidebar-submenu > .sidebar-link.active { border-left: 2px solid #63a2ff; border-radius: 0 8px 8px 0; background: rgba(65,131,228,.18); color: #fff; box-shadow: inset 0 0 0 1px rgba(93,151,239,.08); }
.sidebar-submenu > .sidebar-link-feature { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
@media (prefers-reduced-motion: reduce) { .sidebar-group-toggle, .sidebar-group-chevron, .sidebar-submenu { transition: none; } }

/* Compact accordion: keep the navigation in natural vertical flow. */
.sidebar-nav { display: flex; flex: 0 0 auto; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 0; }
.sidebar-nav .sidebar-dashboard { flex: 0 0 auto; min-height: 42px; }
.sidebar-nav .sidebar-group { flex: 0 0 auto; min-height: 0; }
.sidebar-nav .sidebar-group + .sidebar-group { margin-top: 6px; }
.sidebar-nav .sidebar-group-toggle { min-height: 48px; font-size: 14px; font-weight: 700; letter-spacing: 0; }
.sidebar-nav .sidebar-group-icon { width: 20px; height: 20px; font-size: 17px; }
.sidebar-nav .sidebar-submenu > .sidebar-link { font-size: 13.5px; }
.sidebar-nav .sidebar-submenu[hidden] { display: none; }
.sidebar-footer { margin-top: 0; }

/* Lucide icons for the compact sidebar navigation. */
.sidebar-lucide-icon,
.sidebar-group-chevron-icon { display: block; width: 18px; height: 18px; flex: 0 0 18px; }
.sidebar-link-icon { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; flex: 0 0 20px; }
.sidebar-group-icon { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; flex: 0 0 20px; }
.sidebar-group-chevron { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; flex: 0 0 18px; }
