:root {
    --shaolin-ink: #17211b;
    --shaolin-ink-2: #223027;
    --shaolin-sidebar: #111813;
    --shaolin-sidebar-border: #26332a;
    --shaolin-accent: #2f6f52;
    --shaolin-accent-strong: #245c43;
    --shaolin-accent-soft: #e8f1ec;
    --shaolin-gold: #b98a42;
    --shaolin-bg: #f3f5f3;
    --shaolin-surface: #ffffff;
    --shaolin-surface-soft: #f8faf8;
    --shaolin-border: #dfe5e1;
    --shaolin-border-strong: #cfd8d2;
    --shaolin-text: #1d2821;
    --shaolin-muted: #718078;
    --shaolin-danger: #a54040;
    --shaolin-warning: #9a6c22;
    --shaolin-success: #2f6f52;
    --sidebar-expanded: 272px;
    --sidebar-collapsed: 82px;
    --shaolin-radius: 10px;
    --shaolin-shadow: 0 8px 24px rgba(18, 32, 23, .06);
}

* { box-sizing: border-box; }

html, body { min-height: 100%; }

body {
    margin: 0;
    background: var(--shaolin-bg);
    color: var(--shaolin-text);
    font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: .94rem;
    -webkit-font-smoothing: antialiased;
}

a { color: var(--shaolin-accent); }
a:hover { color: var(--shaolin-accent-strong); }

.app-shell { min-height: 100vh; }

.sidebar {
    background: var(--shaolin-sidebar);
    color: #fff;
    border-right: 1px solid var(--shaolin-sidebar-border);
}

.sidebar-brand-wrap {
    padding-bottom: 1.1rem;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.sidebar .brand {
    min-width: 0;
    min-height: 40px;
    display: flex;
    align-items: center;
    gap: .72rem;
    color: #fff;
    text-decoration: none;
}

.brand-mark {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.22);
    background: #18221b;
    color: #f3efe5;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.brand-copy { min-width: 0; line-height: 1.05; }
.brand-name { display: block; font-size: .9rem; font-weight: 800; letter-spacing: .075em; }
.brand-subtitle { display: block; margin-top: .28rem; color: rgba(255,255,255,.52); font-size: .64rem; font-weight: 600; letter-spacing: .14em; }

.sidebar-section-label {
    margin: .35rem .72rem .55rem;
    color: rgba(255,255,255,.38);
    font-size: .66rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.sidebar .nav-link {
    min-height: 42px;
    display: flex;
    align-items: center;
    gap: .68rem;
    margin: .12rem 0;
    padding: .68rem .76rem;
    border: 1px solid transparent;
    border-radius: 8px;
    color: rgba(255,255,255,.66);
    font-weight: 600;
    white-space: nowrap;
    transition: background .16s ease, color .16s ease, border-color .16s ease;
}

.sidebar .nav-link:hover {
    color: #fff;
    background: rgba(255,255,255,.045);
}

.sidebar .nav-link.active {
    color: #fff;
    background: #1b2920;
    border-color: #2d4235;
}

.sidebar .nav-link.active::before {
    content: "";
    width: 3px;
    height: 18px;
    margin-left: -.77rem;
    background: #76a58b;
}

.sidebar .nav-link i {
    width: 20px;
    flex: 0 0 20px;
    text-align: center;
    font-size: 1rem;
}

.sidebar-toggle {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 8px;
    background: transparent;
    color: rgba(255,255,255,.68);
}
.sidebar-toggle:hover { background: rgba(255,255,255,.05); color: #fff; }
.sidebar-collapsed-only { display: none; }

.sidebar-user {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(255,255,255,.08);
}
.user-avatar {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.12);
    background: #1c2720;
    color: rgba(255,255,255,.82);
    font-size: .8rem;
    font-weight: 800;
}
.sidebar-user .user-name { color: #fff; font-size: .84rem; font-weight: 700; }
.sidebar-user .user-email { max-width: 160px; overflow: hidden; text-overflow: ellipsis; color: rgba(255,255,255,.43); font-size: .7rem; }

.mobile-topbar {
    min-height: 62px;
    background: var(--shaolin-sidebar);
    color: #fff;
    border-bottom: 1px solid var(--shaolin-sidebar-border);
}

.main-content { padding: 20px; }

.desktop-topbar {
    min-height: 62px;
    margin-bottom: 1.5rem;
    padding: .8rem 1rem;
    background: var(--shaolin-surface);
    border: 1px solid var(--shaolin-border);
    border-radius: var(--shaolin-radius);
    box-shadow: 0 2px 8px rgba(18, 32, 23, .035);
}

.topbar-kicker {
    margin-bottom: .1rem;
    color: var(--shaolin-muted);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.topbar-title { color: var(--shaolin-ink); font-weight: 750; }
.topbar-status { display: inline-flex; align-items: center; gap: .42rem; color: var(--shaolin-muted); font-size: .76rem; }
.topbar-status-dot { width: 7px; height: 7px; border-radius: 50%; background: #4b8b65; box-shadow: 0 0 0 3px #e9f2ed; }

h1, h2, h3, h4, h5, h6 { color: var(--shaolin-ink); letter-spacing: -.018em; }
.h3 { font-size: 1.55rem; }
.text-muted { color: var(--shaolin-muted) !important; }

.card {
    background: var(--shaolin-surface);
    border-color: var(--shaolin-border) !important;
    border-radius: var(--shaolin-radius);
    box-shadow: var(--shaolin-shadow);
}
.card.border-0 { border: 1px solid var(--shaolin-border) !important; }
.card.shadow-sm { box-shadow: var(--shaolin-shadow) !important; }
.card-header {
    background: var(--shaolin-surface) !important;
    border-bottom: 1px solid var(--shaolin-border) !important;
}

.stat-card {
    border: 1px solid var(--shaolin-border) !important;
    box-shadow: 0 5px 16px rgba(18, 32, 23, .045);
}
.stat-card .card-body { min-height: 92px; }
.stat-card .text-muted.small {
    margin-bottom: .22rem;
    color: var(--shaolin-muted) !important;
    font-size: .69rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.stat-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #cfddd4;
    border-radius: 8px;
    background: var(--shaolin-accent-soft);
    color: var(--shaolin-accent);
    font-size: 1.12rem;
}

.table { --bs-table-bg: transparent; color: var(--shaolin-text); }
.table > :not(caption) > * > * { padding: .82rem .95rem; border-bottom-color: #e7ebe8; }
.table thead th {
    background: var(--shaolin-surface-soft);
    color: #68766e;
    border-bottom: 1px solid var(--shaolin-border);
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    white-space: nowrap;
}
.table tbody tr { transition: background .14s ease; }
.table tbody tr:hover { background: #fafcfb; }
.table tbody td { vertical-align: middle; }
.table tfoot td { border-top: 1px solid var(--shaolin-border-strong); }

.btn {
    border-radius: 7px;
    font-weight: 650;
    box-shadow: none !important;
}
.btn-sm { border-radius: 6px; }
.btn-primary {
    --bs-btn-bg: var(--shaolin-accent);
    --bs-btn-border-color: var(--shaolin-accent);
    --bs-btn-hover-bg: var(--shaolin-accent-strong);
    --bs-btn-hover-border-color: var(--shaolin-accent-strong);
    --bs-btn-active-bg: #1f503a;
    --bs-btn-active-border-color: #1f503a;
}
.btn-outline-primary {
    --bs-btn-color: var(--shaolin-accent);
    --bs-btn-border-color: #aac2b4;
    --bs-btn-hover-bg: var(--shaolin-accent);
    --bs-btn-hover-border-color: var(--shaolin-accent);
}
.btn-outline-dark { --bs-btn-color: var(--shaolin-ink); --bs-btn-border-color: #bcc7c0; }
.btn-outline-secondary { --bs-btn-color: #637168; --bs-btn-border-color: #cbd4ce; }

.form-label {
    margin-bottom: .42rem;
    color: #4e5d54;
    font-size: .78rem;
    font-weight: 700;
}
.form-control, .form-select {
    min-height: 42px;
    border: 1px solid var(--shaolin-border-strong);
    border-radius: 7px;
    background-color: #fff;
    color: var(--shaolin-text);
    box-shadow: none;
}
.form-control:focus, .form-select:focus {
    border-color: #7ea18c;
    box-shadow: 0 0 0 .2rem rgba(47,111,82,.10);
}
.form-control::placeholder { color: #a3ada7; }
.form-text { color: #89958e; }

.badge { border-radius: 5px; font-weight: 700; letter-spacing: .01em; }
.bg-success, .text-bg-success { background-color: #397756 !important; }
.bg-danger, .text-bg-danger { background-color: #a64d4d !important; }
.bg-warning, .text-bg-warning { background-color: #b8893f !important; color: #fff !important; }
.bg-primary, .text-bg-primary { background-color: var(--shaolin-accent) !important; }
.bg-secondary, .text-bg-secondary { background-color: #6d7972 !important; }

.alert { border-radius: 8px; border-width: 1px; box-shadow: none; }
.alert-success { background: #edf5f0; border-color: #cfe2d6; color: #2b6548; }
.alert-danger { background: #f9eeee; border-color: #eccfcf; color: #8c3939; }
.alert-warning { background: #fbf6eb; border-color: #ead8b5; color: #7c5b22; }

code {
    padding: .18rem .36rem;
    border: 1px solid #e1e7e3;
    border-radius: 4px;
    background: #f4f7f5;
    color: #44544a;
}

.file-preview { max-width: 100%; border: 1px solid var(--shaolin-border); border-radius: 8px; box-shadow: var(--shaolin-shadow); }

.accordion { --bs-accordion-border-color: transparent; --bs-accordion-bg: transparent; }
.group-card { overflow: hidden; border: 1px solid var(--shaolin-border) !important; border-radius: var(--shaolin-radius) !important; box-shadow: var(--shaolin-shadow); }
.group-header { background: var(--shaolin-ink); color: #fff; }
.group-header h2 { color: #fff; }
.group-mini-stat { height: 100%; padding: .72rem .8rem; border: 1px solid rgba(255,255,255,.13); border-radius: 7px; background: rgba(255,255,255,.055); }
.group-mini-stat .label { margin-bottom: .14rem; color: rgba(255,255,255,.54); font-size: .64rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.group-mini-stat .value { color: #fff; font-size: .88rem; font-weight: 750; }
.movement-table th, .movement-table td { white-space: nowrap; }
.transaction-number { width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--shaolin-border); border-radius: 6px; background: var(--shaolin-surface-soft); color: #5f6e65; font-weight: 750; }
.money-positive { color: #2f7652 !important; }
.money-negative { color: #a54444 !important; }
.money-zero { color: #7a867f !important; }
.print-only { display: none; }

.login-page {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 28px;
    background: #edf1ee;
}
.login-shell {
    width: 100%;
    max-width: 940px;
    min-height: 560px;
    display: grid;
    grid-template-columns: minmax(300px, .85fr) minmax(420px, 1.15fr);
    overflow: hidden;
    border: 1px solid #d9e0db;
    background: #fff;
    box-shadow: 0 24px 60px rgba(18, 32, 23, .12);
}
.login-brand-panel {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 42px;
    background: var(--shaolin-sidebar);
    color: #fff;
}
.login-brand-panel h1 { max-width: 320px; color: #fff; font-size: 2rem; line-height: 1.15; }
.login-brand-panel p { color: rgba(255,255,255,.54); }
.login-brand-lockup { display: flex; align-items: center; gap: .8rem; }
.login-brand-lockup .brand-mark { width: 44px; height: 44px; flex-basis: 44px; }
.login-brand-lockup .brand-name { font-size: .94rem; }
.login-brand-lockup .brand-subtitle { font-size: .62rem; }
.login-meta { color: rgba(255,255,255,.36); font-size: .72rem; letter-spacing: .02em; }
.login-form-panel { display: flex; align-items: center; padding: 48px clamp(34px, 6vw, 72px); }
.login-form-wrap { width: 100%; max-width: 410px; margin: 0 auto; }
.login-eyebrow { margin-bottom: .55rem; color: var(--shaolin-accent); font-size: .69rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.login-title { margin-bottom: .55rem; font-size: 1.7rem; font-weight: 780; }
.login-subtitle { margin-bottom: 2rem; color: var(--shaolin-muted); }
.login-form-panel .form-control { min-height: 48px; }
.login-form-panel .btn { min-height: 48px; }
.login-security { margin-top: 1.25rem; color: #8b9790; font-size: .72rem; text-align: center; }

@media (min-width: 992px) {
    .sidebar {
        position: fixed;
        inset: 0 auto 0 0;
        z-index: 1030;
        width: var(--sidebar-expanded);
        padding: 20px 18px;
        transition: width .18s ease, padding .18s ease;
    }
    .main-content {
        margin-left: var(--sidebar-expanded);
        padding: 24px 28px 32px;
        transition: margin-left .18s ease;
    }
    html.sidebar-collapsed .sidebar { width: var(--sidebar-collapsed); padding-left: 13px; padding-right: 13px; }
    html.sidebar-collapsed .main-content { margin-left: var(--sidebar-collapsed); }
    html.sidebar-collapsed .brand-copy,
    html.sidebar-collapsed .nav-text,
    html.sidebar-collapsed .sidebar-section-label,
    html.sidebar-collapsed .user-details,
    html.sidebar-collapsed .logout-text,
    html.sidebar-collapsed .sidebar-expanded-only { display: none !important; }
    html.sidebar-collapsed .sidebar-collapsed-only { display: inline-flex; }
    html.sidebar-collapsed .brand { justify-content: center; }
    html.sidebar-collapsed .sidebar .nav-link { justify-content: center; padding-left: .55rem; padding-right: .55rem; }
    html.sidebar-collapsed .sidebar .nav-link.active::before { display: none; }
    html.sidebar-collapsed .sidebar-user { text-align: center; }
    html.sidebar-collapsed .sidebar-toggle i { transform: rotate(180deg); }
}

@media (max-width: 991.98px) {
    .main-content { padding: 18px 14px 28px; }
    .offcanvas.sidebar { width: min(86vw, 300px); }
    .offcanvas.sidebar .offcanvas-header { border-bottom: 1px solid rgba(255,255,255,.08); }
    .offcanvas.sidebar .nav-link.active::before { display: none; }
    .login-shell { max-width: 560px; min-height: auto; grid-template-columns: 1fr; }
    .login-brand-panel { padding: 28px 30px; }
    .login-brand-panel .login-brand-message, .login-meta { display: none; }
    .login-form-panel { padding: 38px 30px 42px; }
}

@media (max-width: 575.98px) {
    .login-page { padding: 0; background: #fff; align-items: stretch; }
    .login-shell { border: 0; box-shadow: none; }
    .login-brand-panel { padding: 22px 20px; }
    .login-form-panel { padding: 34px 20px 40px; }
    .h3 { font-size: 1.38rem; }
    .card-body.p-4 { padding: 1.15rem !important; }
    .table > :not(caption) > * > * { padding: .74rem .78rem; }
}

@media print {
    .sidebar, .mobile-topbar, .desktop-topbar, .no-print { display: none !important; }
    .main-content { margin: 0 !important; padding: 0 !important; }
    body { background: #fff; color: #000; }
    .print-only { display: block !important; }
    .card, .group-card { box-shadow: none !important; border: 1px solid #bbb !important; }
    .accordion-collapse { display: block !important; }
    .group-header { background: #fff !important; color: #000 !important; border-bottom: 1px solid #bbb; }
    .group-header h2, .group-mini-stat .value { color: #000 !important; }
    .group-mini-stat { border-color: #ccc !important; background: #fff !important; }
    .group-mini-stat .label, .group-header .text-white-50 { color: #555 !important; }
}

/* Movimento por grupos */
.movement-table { font-size: .88rem; }
.movement-table thead th { position: sticky; top: 0; z-index: 2; }
.money-positive, .money-negative, .money-zero { font-weight: 750; }
.accordion-button:not(.collapsed) { box-shadow: none; }

.min-w-0 { min-width: 0; }

/* Conferência financeira */
.conferencia-kpis > div { display:flex; flex-direction:column; gap:.2rem; }
.conferencia-kpis span { color:var(--shaolin-muted); font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.conferencia-kpis strong { color:var(--shaolin-ink); font-size:1rem; font-variant-numeric:tabular-nums; }
.caixa-card .table td,.caixa-card .table th { white-space:nowrap; }
.caixa-card .table td:nth-child(3) { white-space:normal; min-width:170px; }
.badge { letter-spacing:.01em; }

/* Workspace individual por grupo */
.group-workspace .workspace-tabs { gap:.25rem; border-bottom-color:#dfe5e1; }
.group-workspace .workspace-tabs .nav-link { color:#536158; font-weight:700; border-radius:.55rem .55rem 0 0; }
.group-workspace .workspace-tabs .nav-link.active { color:#16231a; background:#fff; border-color:#dfe5e1 #dfe5e1 #fff; }
.group-workspace .card-header { background:#fbfcfb; }
.group-workspace .movement-table td { vertical-align:middle; }
.group-workspace .movement-table td:nth-child(3) { min-width:190px; white-space:normal; }

/* =========================================================
   SHAOLIN Mesa Operacional V3
   ========================================================= */
.workspace-shell-v3 {
    --v3-green: #245f43;
    --v3-green-soft: #eaf4ee;
    --v3-yellow: #9b6b19;
    --v3-yellow-soft: #fff6df;
    --v3-red: #a43d43;
    --v3-red-soft: #fbecee;
    --v3-ink: #172019;
    --v3-muted: #6d7b72;
    --v3-line: #e3eae5;
}

.v3-surface {
    background: #fff;
    border: 1px solid var(--v3-line, #e3eae5);
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(24, 42, 31, .06);
}

.status-tone--healthy {
    --status-accent: #2e7652;
    --status-bg: #eaf4ee;
    --status-text: #245f43;
}
.status-tone--attention {
    --status-accent: #bd8625;
    --status-bg: #fff6df;
    --status-text: #805b19;
}
.status-tone--danger {
    --status-accent: #b84b52;
    --status-bg: #fbecee;
    --status-text: #91383e;
}

.v3-page-heading {
    font-weight: 780;
    letter-spacing: -.035em;
    color: var(--v3-ink, #172019);
}
.v3-page-subtitle {
    color: var(--v3-muted, #6d7b72);
    max-width: 760px;
}

.v3-primary-action {
    min-height: 46px;
    border-radius: 11px;
    padding-inline: 1.15rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
}

.v3-kpi-card {
    height: 100%;
    padding: 1.05rem 1.15rem;
    background: #fff;
    border: 1px solid var(--v3-line, #e3eae5);
    border-radius: 14px;
}
.v3-kpi-card .v3-kpi-label {
    color: var(--v3-muted, #6d7b72);
    font-size: .77rem;
    font-weight: 750;
    letter-spacing: .02em;
}
.v3-kpi-card .v3-kpi-value {
    display: block;
    margin-top: .35rem;
    font-size: clamp(1.45rem, 2vw, 2rem);
    line-height: 1;
    font-weight: 800;
    letter-spacing: -.04em;
    color: var(--v3-ink, #172019);
}
.v3-kpi-card.is-attention { border-color: #efd99d; background: #fffdf7; }
.v3-kpi-card.is-danger { border-color: #efc8cb; background: #fffafa; }

.v3-search-box {
    min-height: 52px;
    border-radius: 13px;
    padding-left: 2.75rem;
    font-size: 1rem;
}
.v3-search-wrap { position: relative; }
.v3-search-wrap > i {
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    color: #839087;
    pointer-events: none;
}

.v3-section-title {
    font-size: 1rem;
    font-weight: 800;
    color: var(--v3-ink, #172019);
    letter-spacing: -.015em;
}
.v3-section-subtitle {
    color: var(--v3-muted, #6d7b72);
    font-size: .88rem;
}

.v3-collapsible-filter {
    border: 1px solid var(--v3-line, #e3eae5);
    border-radius: 13px;
    background: #fff;
}
.v3-collapsible-filter summary {
    cursor: pointer;
    list-style: none;
    padding: .9rem 1rem;
    font-weight: 750;
    color: #45534a;
}
.v3-collapsible-filter summary::-webkit-details-marker { display: none; }
.v3-collapsible-filter summary::after {
    content: '\F282';
    font-family: 'bootstrap-icons';
    float: right;
    transition: transform .18s ease;
}
.v3-collapsible-filter[open] summary::after { transform: rotate(180deg); }
.v3-collapsible-filter .v3-filter-body { border-top: 1px solid var(--v3-line, #e3eae5); padding: 1rem; }

.v3-empty-state {
    padding: 2.5rem 1.25rem;
    text-align: center;
    color: var(--v3-muted, #6d7b72);
}
.v3-empty-state i {
    display: block;
    font-size: 2rem;
    margin-bottom: .6rem;
    color: #9ba79f;
}

@media (max-width: 767.98px) {
    .v3-primary-action { width: 100%; }
    .v3-kpi-card { padding: .9rem; }
    .v3-page-heading { font-size: 1.55rem; }
}

.group-grid-v3 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}
.group-card-v3 {
    position: relative;
    overflow: hidden;
    min-width: 0;
    padding: 1.15rem;
    background: #fff;
    border: 1px solid var(--v3-line, #e3eae5);
    border-top: 4px solid var(--status-accent, #2e7652);
    border-radius: 16px;
    box-shadow: 0 10px 28px rgba(25, 42, 31, .065);
    transition: transform .16s ease, box-shadow .16s ease;
}
.group-card-v3:hover { transform: translateY(-2px); box-shadow: 0 14px 34px rgba(25, 42, 31, .10); }
.group-card-v3__top { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; }
.group-card-v3__status {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .3rem .55rem;
    border-radius: 999px;
    background: var(--status-bg, #eaf4ee);
    color: var(--status-text, #245f43);
    font-size: .72rem;
    font-weight: 800;
}
.group-card-v3__name { margin: .55rem 0 0; font-size: 1.2rem; font-weight: 820; letter-spacing: -.025em; color: var(--v3-ink, #172019); }
.group-card-v3__icon { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; flex: 0 0 auto; background: #f3f7f4; color: #53675a; }
.group-card-v3__metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .45rem; margin: 1rem 0; }
.group-card-v3__metrics > div { min-width: 0; padding: .55rem .35rem; background: #f7f9f7; border-radius: 10px; text-align: center; }
.group-card-v3__metrics span { display: block; min-height: 2.1em; color: #7b8880; font-size: .64rem; line-height: 1.05; font-weight: 750; }
.group-card-v3__metrics strong { display: block; margin-top: .2rem; font-size: 1.05rem; color: #263229; }
.group-card-v3__meta { min-height: 1.4rem; margin-bottom: .8rem; color: #78857d; font-size: .76rem; }
.group-card-v3__action { min-height: 42px; border-radius: 10px; display: flex; align-items: center; justify-content: center; }
.v3-recent-table thead th { white-space: nowrap; font-size: .72rem; color: #758178; background: #f8faf8; }

@media (max-width: 1199.98px) { .group-grid-v3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767.98px) {
    .group-grid-v3 { grid-template-columns: 1fr; }
    .group-card-v3__metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.group-hero-v3 {
    padding: 1.4rem;
    border-radius: 18px;
    background: linear-gradient(135deg, #16241b 0%, #244b36 100%);
    color: #fff;
    box-shadow: 0 14px 34px rgba(20, 38, 27, .18);
}
.group-back-link { color: rgba(255,255,255,.72); text-decoration: none; font-size: .82rem; font-weight: 700; }
.group-back-link:hover { color: #fff; }
.group-hero-v3 .v3-page-heading { color: #fff; }
.group-hero-v3__subtitle { color: rgba(255,255,255,.72); }
.group-hero-v3__actions { display: flex; flex-wrap: wrap; gap: .55rem; }
.group-hero-v3__actions .btn-light { color: #173021; font-weight: 800; }

.group-kpis-v3 .value-money { font-size: clamp(1.15rem, 1.5vw, 1.65rem); }

.attention-queue-v3 { overflow: hidden; }
.attention-queue-v3__header { padding: 1rem 1.15rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem; border-bottom: 1px solid var(--v3-line, #e3eae5); }
.attention-count-v3 { min-width: 34px; height: 34px; padding: 0 .55rem; border-radius: 999px; display: inline-grid; place-items: center; font-weight: 850; }
.attention-count-v3.has-items { background: #fff1cd; color: #805b19; }
.attention-count-v3.is-clear { background: #eaf4ee; color: #245f43; }
.attention-grid-v3 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; }
.attention-task-v3 { min-width: 0; padding: 1rem; border-right: 1px solid var(--v3-line, #e3eae5); }
.attention-task-v3:last-child { border-right: 0; }
.attention-task-v3__title { display: flex; align-items: center; gap: .4rem; color: var(--status-text); font-size: .78rem; font-weight: 850; margin-bottom: .65rem; }
.attention-task-v3__title span { margin-left: auto; min-width: 26px; height: 26px; padding: 0 .35rem; border-radius: 999px; display: grid; place-items: center; background: var(--status-bg); }
.attention-task-v3__empty { color: #8b958e; font-size: .78rem; padding: .35rem 0; }
.attention-item-v3 { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .45rem 0; border-top: 1px dashed #e7ece8; color: #48564d; font-size: .74rem; text-decoration: none; }
.attention-item-v3:hover { color: #1d5c3d; }
.attention-item-v3 span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.attention-item-v3 strong { flex: 0 0 auto; font-size: .72rem; color: var(--status-text); }
.attention-clear-v3 { display: flex; align-items: center; gap: .9rem; padding: 1.15rem; background: #f8fcf9; color: #2e6f4f; }
.attention-clear-v3 > i { font-size: 1.8rem; }
.attention-clear-v3 strong, .attention-clear-v3 span { display: block; }
.attention-clear-v3 span { color: #6d7d72; font-size: .8rem; margin-top: .15rem; }

.cashbox-card-v3 { height: 100%; padding: 1rem; border: 1px solid #e0e7e2; border-radius: 12px; background: #fbfcfb; }
.cashbox-card-v3__numbers { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: .5rem; margin-top: .9rem; }
.cashbox-card-v3__numbers > div { min-width: 0; }
.cashbox-card-v3__numbers span { display: block; color: #7b877f; font-size: .67rem; }
.cashbox-card-v3__numbers strong { display: block; margin-top: .15rem; font-size: .9rem; color: #26332b; overflow: hidden; text-overflow: ellipsis; }

.workspace-tabs-v3 { border-bottom: 0; gap: .4rem; }
.workspace-tabs-v3 .nav-link { border: 1px solid #dfe7e1; border-radius: 10px; background: #fff; color: #59685f; font-weight: 750; }
.workspace-tabs-v3 .nav-link.active { background: #203f2e; border-color: #203f2e; color: #fff; }
.workspace-tabs-v3 .nav-link.active .badge { color: #263229 !important; }

.movement-table-v3 thead th { position: sticky; top: 0; z-index: 2; white-space: nowrap; background: #f7f9f7; color: #738078; font-size: .7rem; text-transform: uppercase; letter-spacing: .025em; }
.movement-table-v3 td { font-size: .82rem; }
.movement-table-v3 tbody tr { transition: background .12s ease; }
.movement-table-v3 tbody tr:hover { background: #fbfdfb; }
.movement-table-v3 tr.movement-missing-proof { background: #fffaf0; }
.movement-description-v3 { max-width: 230px; }
.proof-missing-badge, .proof-ok-badge { display: inline-flex; align-items: center; gap: .25rem; border-radius: 999px; padding: .25rem .5rem; font-size: .68rem; font-weight: 800; white-space: nowrap; }
.proof-missing-badge { background: #fff0ca; color: #835c16; }
.proof-ok-badge { background: #e9f4ed; color: #286748; }

.proof-grid-v3 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.proof-card-v3 { display: flex; align-items: center; gap: .8rem; padding: 1rem; border: 1px solid #e1e8e3; border-radius: 13px; background: #fff; }
.proof-card-v3.is-pending { border-color: #ecd7a3; background: #fffdf7; }
.proof-card-v3__icon { width: 42px; height: 42px; flex: 0 0 auto; border-radius: 11px; display: grid; place-items: center; background: #f2f6f3; font-size: 1.2rem; color: #53655a; }

@media (max-width: 1199.98px) {
    .attention-grid-v3 { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .attention-task-v3:nth-child(2) { border-right: 0; }
    .attention-task-v3:nth-child(-n+2) { border-bottom: 1px solid var(--v3-line, #e3eae5); }
}
@media (max-width: 767.98px) {
    .group-hero-v3 { padding: 1rem; }
    .group-hero-v3__actions { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
    .group-hero-v3__actions > .dropdown { width: 100%; }
    .group-hero-v3__actions > .dropdown .btn { width: 100%; }
    .attention-grid-v3 { grid-template-columns: 1fr; }
    .attention-task-v3 { border-right: 0; border-bottom: 1px solid var(--v3-line, #e3eae5); }
    .attention-task-v3:last-child { border-bottom: 0; }
    .cashbox-card-v3__numbers { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .proof-grid-v3 { grid-template-columns: 1fr; }
    .workspace-tabs-v3 { overflow-x: auto; flex-wrap: nowrap; }
    .workspace-tabs-v3 .nav-link { white-space: nowrap; }
}

.upload-step-v3 { display: flex; align-items: center; gap: .75rem; }
.upload-step-v3 > span { width: 30px; height: 30px; border-radius: 999px; display: grid; place-items: center; flex: 0 0 auto; background: #244f38; color: #fff; font-weight: 850; }
.upload-step-v3 strong, .upload-step-v3 small { display: block; }
.upload-step-v3 small { color: #7b887f; margin-top: .1rem; }
.upload-dropzone-v3 { position: relative; min-height: 210px; border: 2px dashed #b8c9be; border-radius: 16px; background: #f9fcfa; display: flex; align-items: center; justify-content: center; padding: 1.2rem; cursor: pointer; transition: border-color .15s ease, background .15s ease, transform .15s ease; }
.upload-dropzone-v3:hover, .upload-dropzone-v3.is-dragging { border-color: #3c7656; background: #f0f8f3; transform: translateY(-1px); }
.upload-dropzone-v3 > input[type=file] { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.upload-dropzone-v3__idle { text-align: center; color: #67756c; pointer-events: none; }
.upload-dropzone-v3__idle strong, .upload-dropzone-v3__idle span { display: block; }
.upload-dropzone-v3__idle strong { color: #28362d; margin-top: .7rem; font-size: 1rem; }
.upload-dropzone-v3__idle > span:last-child { margin-top: .2rem; font-size: .82rem; }
.upload-dropzone-v3__icon { width: 56px; height: 56px; margin: 0 auto; border-radius: 16px; display: grid !important; place-items: center; background: #e7f2eb; color: #2d684a; font-size: 1.65rem; }
.upload-preview-v3 { width: min(620px, 100%); display: flex; align-items: center; gap: 1rem; pointer-events: none; }
.upload-preview-v3__visual { width: 84px; height: 84px; flex: 0 0 auto; overflow: hidden; border-radius: 13px; background: #edf3ef; display: grid; place-items: center; color: #51665a; font-size: 2rem; }
.upload-preview-v3__visual img { width: 100%; height: 100%; object-fit: cover; }
.link-choice-v3 .form-select { min-height: 52px; border-radius: 12px; }
.proof-form-actions-v3 { display: flex; justify-content: flex-end; gap: .6rem; padding: 1rem 1.25rem; border-top: 1px solid #e3e9e5; background: #fafcfb; }

.proof-viewer-v3 { overflow: hidden; }
.proof-viewer-v3__header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem 1.15rem; border-bottom: 1px solid #e3e9e5; }
.proof-viewer-v3__body { min-height: 420px; display: grid; place-items: center; padding: 1rem; background: #f5f7f6; }
.proof-image-v3 { display: block; max-height: 72vh; width: auto; margin: 0 auto; border-radius: 10px; box-shadow: 0 10px 30px rgba(22,35,27,.10); }
.pdf-preview-v3 { text-align: center; color: #66736a; }
.pdf-preview-v3 > i { display: block; font-size: 4rem; color: #a34545; }
.pdf-preview-v3 strong, .pdf-preview-v3 span { display: block; }
.pdf-preview-v3 span { margin: .35rem 0 1rem; font-size: .82rem; }
.proof-data-v3 { display: grid; grid-template-columns: 1fr 1fr; gap: .85rem; }
.proof-data-v3 > div { min-width: 0; padding: .75rem; border-radius: 10px; background: #f8faf8; }
.proof-data-v3 span, .proof-data-v3 strong { display: block; }
.proof-data-v3 span { color: #7b887f; font-size: .68rem; font-weight: 750; text-transform: uppercase; letter-spacing: .03em; }
.proof-data-v3 strong { margin-top: .2rem; color: #2c382f; font-size: .83rem; word-break: break-word; }
.proof-data-v3__wide { grid-column: 1 / -1; }

@media (max-width: 767.98px) {
    .upload-dropzone-v3 { min-height: 180px; }
    .upload-preview-v3 { align-items: flex-start; }
    .upload-preview-v3__visual { width: 64px; height: 64px; }
    .proof-form-actions-v3 { position: sticky; bottom: 0; z-index: 4; }
    .proof-form-actions-v3 .btn { flex: 1 1 0; }
    .proof-viewer-v3__header { align-items: flex-start; }
    .proof-viewer-v3__body { min-height: 280px; }
    .proof-data-v3 { grid-template-columns: 1fr; }
    .proof-data-v3__wide { grid-column: auto; }
}

/* Compatibilidade local Bootstrap 5.1: helpers text-bg-* usados pela interface V3. */
.text-bg-primary { color:#fff!important; background-color:#0d6efd!important; }
.text-bg-secondary { color:#fff!important; background-color:#6c757d!important; }
.text-bg-success { color:#fff!important; background-color:#198754!important; }
.text-bg-danger { color:#fff!important; background-color:#dc3545!important; }
.text-bg-warning { color:#000!important; background-color:#ffc107!important; }
.text-bg-light { color:#000!important; background-color:#f8f9fa!important; }


/* =========================================================
   SHAOLIN Mesa Operacional V4 — cards + movimentos separados
   ========================================================= */
.workspace-shell-v4 { --v4-soft: #f5f8f6; --v4-line: #e2e9e4; }
.v4-kpi-help { display:block; margin-top:.35rem; color:#8a968e; font-size:.7rem; font-weight:650; }
.v4-toolbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem; background:#fff; border:1px solid var(--v4-line); border-radius:16px; box-shadow:0 8px 26px rgba(24,42,31,.045); }
.v4-toolbar__search { flex:1 1 620px; display:grid; grid-template-columns:minmax(240px,1fr) auto auto; gap:.6rem; }
.v4-toolbar__button,.v4-toolbar__clear { min-height:52px; border-radius:12px; }
.v4-toolbar__hint { flex:0 1 360px; color:#7a877f; font-size:.78rem; line-height:1.4; }
.v4-toolbar__hint i { margin-right:.3rem; }
.v4-count-pill { display:inline-flex; align-items:center; min-height:30px; padding:.2rem .65rem; border:1px solid #dfe7e1; border-radius:999px; background:#fff; color:#66746b; font-size:.75rem; font-weight:800; }

.group-grid-v4 { grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.15rem; }
.group-card-v4 { padding:1.25rem; border-top:1px solid var(--v3-line,#e3eae5); box-shadow:0 12px 32px rgba(25,42,31,.07); }
.group-card-v4__accent { position:absolute; inset:0 auto 0 0; width:5px; background:var(--status-accent,#2e7652); }
.group-card-v4__name { margin-top:0; font-size:1.26rem; }
.group-card-v4__last { display:flex; align-items:center; gap:.35rem; margin-top:.45rem; color:#87928b; font-size:.72rem; }
.group-card-v4__attention { width:64px; height:64px; flex:0 0 64px; display:flex; flex-direction:column; align-items:center; justify-content:center; border-radius:16px; background:#f5f7f5; color:#77837b; }
.group-card-v4__attention.has-attention { background:var(--status-bg,#fff6df); color:var(--status-text,#805b19); }
.group-card-v4__attention.is-clear { background:#edf6f0; color:#2b704f; }
.group-card-v4__attention strong { font-size:1.35rem; line-height:1; }
.group-card-v4__attention span { margin-top:.2rem; font-size:.58rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.group-card-v4__stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.5rem; margin:1.1rem 0; }
.group-card-v4__stats > div { position:relative; min-width:0; padding:.75rem .55rem .68rem; border:1px solid #edf1ee; border-radius:12px; background:#fafcfb; }
.group-card-v4__stats i { display:block; margin-bottom:.45rem; color:#829087; font-size:.82rem; }
.group-card-v4__stats span { display:block; overflow:hidden; color:#849087; font-size:.61rem; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }
.group-card-v4__stats strong { display:block; margin-top:.12rem; color:#263229; font-size:1rem; }
.group-card-v4__footer { display:grid; grid-template-columns:1fr 44px; gap:.55rem; }
.group-card-v4__open,.group-card-v4__movements { min-height:44px; border-radius:11px; display:flex; align-items:center; justify-content:center; gap:.4rem; }
.group-card-v4__movements { padding:0; }

.movement-filter-v4 { overflow:hidden; }
.movement-filter-v4__header,.movement-panel-v4__header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.25rem; }
.movement-filter-v4__limit { color:#87938b; font-size:.72rem; }
.movement-panel-v4 { overflow:hidden; }
.movement-panel-v4__header { border-bottom:1px solid var(--v4-line); }
.movement-scroll-v4 { position:relative; max-height:clamp(430px,62vh,760px); overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; background:#fff; }
.movement-table-v4 { min-width:1180px; }
.movement-table-v4 thead th { position:sticky; top:0; z-index:5; background:#f5f8f6; box-shadow:inset 0 -1px 0 #dfe7e1; color:#6f7c74; font-size:.68rem; letter-spacing:.035em; text-transform:uppercase; white-space:nowrap; }
.movement-table-v4 tbody td { font-size:.79rem; }
.movement-table-v4 tbody tr:hover { background:#fbfdfc; }
.movement-group-link-v4 { color:#244f38; font-weight:800; text-decoration:none; white-space:nowrap; }
.movement-group-link-v4:hover { color:#173b29; text-decoration:underline; }
.movement-desc-v4 { min-width:190px; max-width:260px; }
.movement-desc-v4 strong,.movement-desc-v4 span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.movement-desc-v4 strong { color:#344139; font-size:.78rem; }
.movement-desc-v4 span { margin-top:.15rem; color:#8a958e; font-size:.69rem; }
.movement-origin-v4 { display:inline-flex; padding:.22rem .45rem; border-radius:7px; background:#f0f4f1; color:#68766d; font-size:.65rem; font-weight:800; }

@media (max-width:1199.98px) {
  .group-grid-v4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .v4-toolbar { align-items:stretch; flex-direction:column; }
  .v4-toolbar__hint { flex-basis:auto; }
}
@media (max-width:767.98px) {
  .group-grid-v4 { grid-template-columns:1fr; }
  .group-card-v4__stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .v4-toolbar__search { grid-template-columns:1fr auto; }
  .v4-toolbar__button span { display:none; }
  .v4-toolbar__clear { grid-column:1 / -1; }
  .movement-filter-v4__header,.movement-panel-v4__header { align-items:flex-start; }
  .movement-scroll-v4 { max-height:58vh; }
}

.movement-scroll-group-v4 { max-height: 58vh; overflow: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.movement-scroll-group-v4 .movement-table-v3 thead th { position: sticky; top: 0; z-index: 4; background: #f5f8f6; box-shadow: inset 0 -1px 0 #dfe7e1; }

/* =========================================================
   SHAOLIN Mesa Operacional V5 — cards compactos Enviado/Recebido
   ========================================================= */
.group-grid-v4 { grid-template-columns:repeat(4,minmax(0,1fr)); gap:.85rem; }
.group-card-v5 {
  position:relative;
  min-width:0;
  padding:0;
  overflow:visible;
  border:1px solid #e3e9e5;
  border-top:1px solid #e3e9e5;
  border-radius:15px;
  background:#fff;
  box-shadow:0 7px 20px rgba(27,45,34,.055);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.group-card-v5:hover { transform:translateY(-2px); border-color:#cfdad2; box-shadow:0 12px 28px rgba(27,45,34,.085); }
.group-card-v5::before { content:""; position:absolute; inset:0 auto 0 0; width:4px; border-radius:15px 0 0 15px; background:var(--status-accent,#2e7652); }
.group-card-v5.is-archived { opacity:.78; filter:saturate(.72); }
.group-card-v5__main { display:block; padding:1rem 1rem .9rem 1.1rem; color:inherit; text-decoration:none; }
.group-card-v5__main:hover { color:inherit; }
.group-card-v5__head { display:flex; align-items:flex-start; justify-content:space-between; gap:.65rem; padding-right:1.8rem; }
.group-card-v5__name { margin:0; color:#253229; font-size:1rem; font-weight:850; line-height:1.2; }
.group-card-v5__status { display:inline-flex; align-items:center; gap:.35rem; margin-top:.35rem; color:#7b8880; font-size:.64rem; font-weight:750; }
.group-card-v5__status > span { width:7px; height:7px; border-radius:999px; background:var(--status-accent,#2e7652); box-shadow:0 0 0 3px var(--status-bg,#edf6f0); }
.group-card-v5__open-icon { margin-top:.1rem; color:#9aa59e; font-size:.88rem; }
.group-card-v5__values { display:grid; grid-template-columns:1fr 1px 1fr; align-items:stretch; gap:.75rem; margin-top:.95rem; }
.group-card-v5__divider { width:1px; background:#edf1ee; }
.group-card-v5__value { min-width:0; }
.group-card-v5__value span { display:block; color:#8b968f; font-size:.62rem; font-weight:800; letter-spacing:.045em; text-transform:uppercase; }
.group-card-v5__value strong { display:block; overflow:hidden; margin-top:.24rem; color:#26352b; font-size:.92rem; font-weight:850; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }
.group-card-v5__value strong.is-muted { color:#a2aaa5; font-weight:700; }
.group-card-v5__value strong.is-waiting { color:#9a7127; font-size:.82rem; }
.group-card-v5__menu { position:absolute; top:.65rem; right:.55rem; z-index:6; }
.group-card-v5__menu > .btn { width:30px; height:30px; padding:0; display:grid; place-items:center; border:0; border-radius:8px; color:#7d8981; background:transparent; }
.group-card-v5__menu > .btn:hover,.group-card-v5__menu > .btn:focus { color:#27342c; background:#f1f5f2; }
.group-card-v5__menu .dropdown-menu { min-width:190px; border-color:#e1e7e3; border-radius:12px; }
.group-card-v5__menu form { margin:0; }
.v5-rename-modal { border:0; border-radius:18px; box-shadow:0 24px 65px rgba(17,29,22,.22); }
.v5-rename-modal .form-control { min-height:52px; border-radius:12px; }

@media (max-width:1399.98px) { .group-grid-v4 { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:991.98px) { .group-grid-v4 { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:575.98px) { .group-grid-v4 { grid-template-columns:1fr; } .group-card-v5__main { padding:.95rem 1rem; } }

/* =========================================================
   SHAOLIN Mesa Operacional V5.1 — botões compactos e espaço preservado
   ========================================================= */
.main-content .btn:not(.btn-close) {
  min-height: 34px;
  padding: .4rem .72rem;
  border-radius: 8px;
  font-size: .82rem;
  line-height: 1.15;
}
.main-content .btn-sm:not(.btn-close) {
  min-height: 29px;
  padding: .28rem .55rem;
  border-radius: 7px;
  font-size: .74rem;
}
.main-content .btn i { font-size: .92em; }
.main-content .btn .bi + span,
.main-content .btn i + span { margin-left: .08rem; }

.v3-primary-action {
  min-height: 36px;
  padding: .4rem .75rem;
  border-radius: 9px;
  gap: .32rem;
}
.v4-toolbar__button,.v4-toolbar__clear {
  min-height: 38px;
  border-radius: 9px;
}
.group-card-v4__open,.group-card-v4__movements {
  min-height: 36px;
  border-radius: 9px;
}
.group-hero-v3__actions { gap: .4rem; }
.proof-form-actions-v3 {
  gap: .45rem;
  padding: .75rem 1rem;
}
.v5-rename-modal .modal-footer { gap: .4rem; }

@media (max-width: 767.98px) {
  .main-content .btn:not(.btn-close) { min-height: 34px; }
  .v3-primary-action { min-height: 36px; }
  .group-hero-v3__actions { gap: .4rem; }
}


/* =========================================================
   SHAOLIN Mesa Operacional V5.2 — cards premium compactos
   ========================================================= */
.group-grid-v4 {
  gap: .9rem;
}
.group-card-v52 {
  isolation: isolate;
  overflow: visible;
  border: 1px solid rgba(49, 70, 57, .10);
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0%, rgba(58, 122, 86, .055), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(250,252,250,.98));
  box-shadow: 0 8px 24px rgba(25, 42, 31, .055), inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter: blur(8px);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.group-card-v52::before {
  display: none;
}
.group-card-v52:hover {
  transform: translateY(-3px);
  border-color: rgba(46, 118, 82, .20);
  box-shadow: 0 16px 34px rgba(25, 42, 31, .09), inset 0 1px 0 rgba(255,255,255,.95);
}
.group-card-v52 .group-card-v5__main {
  padding: 1rem 1rem .82rem;
}
.group-card-v52 .group-card-v5__head {
  align-items: center;
  padding-right: 1.85rem;
}
.group-card-v52 .group-card-v5__name {
  color: #1d2b22;
  font-size: .98rem;
  font-weight: 850;
  letter-spacing: -.018em;
}
.group-card-v52 .group-card-v5__status {
  gap: .32rem;
  margin-top: .28rem;
  color: #7f8b83;
  font-size: .61rem;
  font-weight: 760;
}
.group-card-v52 .group-card-v5__status > span {
  width: 6px;
  height: 6px;
  box-shadow: 0 0 0 3px rgba(46, 118, 82, .08);
}
.group-card-v52 .group-card-v5__open-icon {
  opacity: .35;
  transform: translate(-2px, 1px);
  transition: opacity .18s ease, transform .18s ease;
}
.group-card-v52:hover .group-card-v5__open-icon {
  opacity: .8;
  transform: translate(0, -1px);
}
.group-card-v52 .group-card-v5__values {
  grid-template-columns: 1fr 1fr;
  gap: .55rem;
  margin-top: .85rem;
}
.group-card-v52 .group-card-v5__divider {
  display: none;
}
.group-card-v52__value-panel {
  min-height: 66px;
  padding: .68rem .72rem;
  border: 1px solid rgba(45, 69, 54, .07);
  border-radius: 12px;
  background: rgba(245, 248, 246, .78);
}
.group-card-v52__value-panel:last-child {
  background: var(--status-bg, #f2f7f4);
}
.group-card-v52 .group-card-v5__value span {
  color: #8b968f;
  font-size: .57rem;
  font-weight: 820;
  letter-spacing: .065em;
}
.group-card-v52 .group-card-v5__value strong {
  margin-top: .3rem;
  color: #213027;
  font-size: .9rem;
  font-weight: 870;
  letter-spacing: -.015em;
}
.group-card-v52 .group-card-v5__value strong.is-waiting {
  color: #92691e;
  font-size: .78rem;
  font-weight: 820;
}
.group-card-v52__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .6rem;
  margin-top: .72rem;
  padding-top: .62rem;
  border-top: 1px solid rgba(45, 69, 54, .07);
  color: #94a099;
  font-size: .58rem;
  line-height: 1;
}
.group-card-v52__meta span {
  display: inline-flex;
  align-items: center;
  gap: .28rem;
}
.group-card-v52__meta strong {
  color: #758179;
  font-size: .6rem;
  font-weight: 760;
}
.group-card-v52 .group-card-v5__menu {
  top: .72rem;
  right: .62rem;
}
.group-card-v52 .group-card-v5__menu > .btn {
  width: 26px;
  height: 26px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: #9ba69f;
  opacity: .55;
}
.group-card-v52:hover .group-card-v5__menu > .btn,
.group-card-v52 .group-card-v5__menu > .btn:focus,
.group-card-v52 .group-card-v5__menu.show > .btn {
  opacity: 1;
  color: #314238;
  background: rgba(255,255,255,.92);
  border-color: rgba(45,69,54,.08);
  box-shadow: 0 4px 12px rgba(25,42,31,.06);
}
.group-card-v52 .group-card-v5__menu .dropdown-menu {
  padding: .4rem;
  border: 1px solid #e3e9e5;
  border-radius: 13px;
  box-shadow: 0 16px 40px rgba(20, 35, 26, .14) !important;
}
.group-card-v52 .group-card-v5__menu .dropdown-item {
  border-radius: 9px;
  font-size: .77rem;
}
.group-card-v52.is-archived {
  opacity: .70;
  filter: saturate(.55);
}
@media (max-width: 575.98px) {
  .group-card-v52 .group-card-v5__main { padding: .9rem; }
  .group-card-v52__value-panel { min-height: 62px; padding: .62rem .65rem; }
}


/* =========================================================
   SHAOLIN Mesa Operacional V5.3 — conteúdo dos cards sem cortes
   ========================================================= */
.group-card-v53 .group-card-v5__head {
  align-items: flex-start;
}
.group-card-v53 .group-card-v5__head > .min-w-0 {
  min-width: 0;
  max-width: calc(100% - 1.2rem);
}
.group-card-v53 .group-card-v5__name {
  max-width: 100%;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  overflow-wrap: anywhere;
  word-break: normal;
  font-size: .94rem;
  line-height: 1.22;
}
.group-card-v53 .group-card-v5__status {
  white-space: normal;
  line-height: 1.2;
}
.group-card-v53 .group-card-v5__values {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: stretch;
  gap: .5rem;
}
.group-card-v53 .group-card-v52__value-panel {
  min-width: 0;
  min-height: 60px;
  padding: .6rem .64rem;
}
.group-card-v53 .group-card-v5__value span {
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  line-height: 1.15;
}
.group-card-v53 .group-card-v5__value strong,
.group-card-v53 .group-card-v5__value strong.is-waiting,
.group-card-v53 .group-card-v5__value strong.is-muted {
  display: block;
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  font-size: clamp(.76rem, 1.05vw, .88rem);
  line-height: 1.22;
}
.group-card-v53 .group-card-v5__value strong.is-waiting {
  font-size: .76rem;
}
.group-card-v53 .group-card-v52__meta {
  align-items: flex-start;
  line-height: 1.25;
}
.group-card-v53 .group-card-v52__meta span,
.group-card-v53 .group-card-v52__meta strong {
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}
@media (max-width: 420px) {
  .group-card-v53 .group-card-v5__values {
    grid-template-columns: minmax(0, 1fr);
  }
  .group-card-v53 .group-card-v52__value-panel {
    min-height: 0;
  }
  .group-card-v53 .group-card-v52__meta {
    flex-direction: column;
    gap: .25rem;
  }
}

/* V5.4 — cotação em lote na mesa individual do grupo */
.bulk-quote-toolbar-v54 {
    position: sticky;
    top: 0;
    z-index: 8;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .9rem;
    margin-bottom: .65rem;
    padding: .65rem .75rem;
    border: 1px solid rgba(31, 46, 37, .13);
    border-radius: 12px;
    background: rgba(248, 250, 248, .98);
    box-shadow: 0 8px 22px rgba(20, 35, 26, .08);
    backdrop-filter: blur(8px);
}
.bulk-quote-toolbar-v54__selection {
    display: flex;
    align-items: baseline;
    gap: .4rem;
    color: #536057;
    font-size: .84rem;
    white-space: nowrap;
}
.bulk-quote-count-v54 {
    display: inline-flex;
    min-width: 1.7rem;
    height: 1.7rem;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #16231b;
    color: #fff;
    font-size: .78rem;
    font-weight: 700;
}
.bulk-quote-toolbar-v54__controls {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .5rem;
    flex-wrap: wrap;
}
.bulk-quote-label-v54 {
    margin: 0;
    color: #4c5b51;
    font-size: .78rem;
    font-weight: 700;
    white-space: nowrap;
}
.bulk-quote-input-v54 {
    width: 118px;
    min-width: 105px;
}
.movement-select-col-v54 {
    width: 42px;
    min-width: 42px;
    text-align: center;
}
.movement-table-selectable-v54 tbody tr.is-selected-v54 > td {
    background-color: rgba(34, 110, 65, .07);
}
.bulk-quote-current-v54 {
    display: inline-block;
    min-width: 4.5rem;
    font-variant-numeric: tabular-nums;
}
@media (max-width: 767.98px) {
    .bulk-quote-toolbar-v54 {
        align-items: stretch;
        flex-direction: column;
    }
    .bulk-quote-toolbar-v54__controls {
        justify-content: flex-start;
    }
    .bulk-quote-input-v54 {
        flex: 1 1 120px;
        width: auto;
    }
}
