:root {
    /* Cores Institucionais Principais */
    --isv-primary: #0076bd;
    --isv-primary-hover: #00609c;
    --isv-primary-active: #004d7d;
    --isv-primary-light: #e6f3fa;
    --isv-primary-dark: #064a73;
    
    --isv-secondary: #0b2239;
    --isv-secondary-hover: #14324f;
    --isv-secondary-dark: #081a2c;
    
    --isv-accent: #ffbd00;
    --isv-accent-hover: #e5aa00;
    --isv-accent-light: #fff8df;
    --isv-accent-text: #172033;
    
    /* Cores Semânticas de Estado (WCAG AA) */
    --isv-success: #16a34a;
    --isv-success-hover: #15803d;
    --isv-success-bg: #f0fdf4;
    --isv-success-border: #bbf7d0;
    --isv-success-text: #14532d;
    
    --isv-warning: #d97706;
    --isv-warning-hover: #b45309;
    --isv-warning-bg: #fffbeb;
    --isv-warning-border: #fde68a;
    --isv-warning-text: #78350f;
    
    --isv-danger: #dc2626;
    --isv-danger-hover: #b91c1c;
    --isv-danger-bg: #fef2f2;
    --isv-danger-border: #fecaca;
    --isv-danger-text: #7f1d1d;
    
    --isv-info: #0284c7;
    --isv-info-hover: #0369a1;
    --isv-info-bg: #f0f9ff;
    --isv-info-border: #bae6fd;
    --isv-info-text: #0c4a6e;
    
    /* Tipografia e Textos */
    --isv-text-primary: #0f172a;
    --isv-text-secondary: #334155;
    --isv-text-muted: #64748b;
    --isv-text-light: #94a3b8;
    --isv-text-inverse: #ffffff;
    
    /* Superfícies e Fundos */
    --isv-bg-app: #f4f7fb;
    --isv-bg-surface: #ffffff;
    --isv-bg-card: #ffffff;
    --isv-bg-panel: #ffffff;
    --isv-bg-table-header: #f8fafc;
    --isv-bg-table-hover: #f1f5f9;
    --isv-bg-table-stripe: #f8fafc;
    --isv-bg-modal: #ffffff;
    
    /* Bordas e Divisores */
    --isv-border: #e2e8f0;
    --isv-border-light: #f1f5f9;
    --isv-border-dark: #cbd5e1;
    --isv-border-focus: #0284c7;
    
    /* Sombras Elevadas */
    --isv-shadow-xs: 0 1px 2px rgba(11, 34, 57, 0.04);
    --isv-shadow-sm: 0 2px 6px rgba(11, 34, 57, 0.06);
    --isv-shadow-md: 0 8px 24px rgba(11, 34, 57, 0.08);
    --isv-shadow-lg: 0 16px 36px rgba(11, 34, 57, 0.12);
    
    /* Raios de Arredondamento */
    --isv-radius-xs: 4px;
    --isv-radius-sm: 6px;
    --isv-radius-md: 8px;
    --isv-radius-lg: 12px;
    --isv-radius-xl: 16px;
    --isv-radius-pill: 9999px;
    
    /* Controles e Interação */
    --isv-control-height: 42px;
    --isv-control-height-sm: 34px;
    --isv-control-height-lg: 50px;
    --isv-focus-ring: 0 0 0 3px rgba(2, 132, 199, 0.35);

    /* Aliases de Compatibilidade Legada */
    --isv-ink: var(--isv-text-primary);
    --isv-surface: var(--isv-bg-surface);
    --isv-bg: var(--isv-bg-app);
}

/* Bloco 2.1 — seleção explícita e responsiva de organizações */
.organization-search{max-width:34rem;width:100%}.organization-search .form-label{font-size:.82rem;font-weight:700;margin-bottom:.35rem}.organization-card-grid{display:flex;flex-direction:column;gap:.5rem}.organization-card{background:#fff;border:1px solid #dbe5ef;border-radius:12px;box-shadow:0 2px 8px rgba(15,23,42,.04);display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:1rem;min-width:0;padding:.75rem 1.15rem;transition:background-color .15s ease,border-color .15s ease}.organization-card:hover{border-color:#cbd5e1;background-color:#f8fafc}.organization-card.is-inactive{background:#fdfdfd;border-style:dashed}.organization-card-main{align-items:center;display:flex;gap:.85rem;min-width:0;flex:1 1 auto}.organization-card-title{min-width:0}.organization-card-title h3{font-size:.98rem;font-weight:700;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.organization-card-title p{color:#64748b;font-size:.8rem;margin:.1rem 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.organization-card-logo{align-items:center;background:#eef6fb;border:1px solid #d4e4ee;border-radius:10px;color:#0f766e;display:flex;flex-shrink:0;font-size:1.1rem;font-weight:800;height:42px;justify-content:center;overflow:hidden;width:42px}.organization-card-logo img{height:100%;object-fit:contain;padding:.2rem;width:100%}.organization-card-side{display:flex;align-items:center;gap:1.25rem;flex-shrink:0}.organization-card-actions{display:flex;align-items:center;gap:.4rem}.organization-inactive-note{font-size:.76rem;margin:0}.organization-empty-state{align-items:center;border:1px dashed #cbd5e1;border-radius:14px;display:flex;flex-direction:column;padding:2.5rem;text-align:center}.organization-empty-state>i{color:#0f766e;font-size:2rem;margin-bottom:.75rem}.organization-summary-list{display:grid;gap:.65rem;margin:0}.organization-summary-list div{border-bottom:1px solid #edf2f7;padding-bottom:.65rem}.organization-summary-list dt{color:#64748b;font-size:.77rem}.organization-summary-list dd{font-weight:650;margin:.15rem 0 0;overflow-wrap:anywhere}
@media (max-width: 767.98px){.organization-card{flex-direction:column;align-items:stretch;gap:.75rem;padding:.85rem}.organization-card-side{flex-direction:column;align-items:stretch;gap:.6rem}.organization-card-side .status-pill{align-self:flex-start}.organization-card-actions{flex-direction:column;width:100%}.organization-card-actions .btn{width:100%}.organization-search .input-group{display:grid;grid-template-columns:1fr}.organization-search .input-group>*{border-radius:.5rem!important;margin-bottom:.4rem;width:100%}.organization-list-panel{overflow:hidden}.organization-delete-form{grid-template-columns:1fr!important}}

body {
    background:
        radial-gradient(circle at 15% 10%, rgba(255, 189, 0, .14), transparent 24rem),
        radial-gradient(circle at 90% 0%, rgba(0, 118, 189, .10), transparent 28rem),
        var(--isv-bg-app);
    color: var(--isv-text-primary);
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.isv-notification-link { position: relative; min-width: 2.15rem; }
.isv-notification-badge { position: absolute; top: -.48rem; right: -.48rem; min-width: 1.25rem; height: 1.25rem; padding: 0 .25rem; border-radius: 999px; display: grid; place-items: center; background: var(--isv-accent); color: var(--isv-accent-text); font-size: .68rem; font-weight: 800; border: 2px solid var(--isv-primary-dark); }
.sidebar-count { margin-left: auto; min-width: 1.35rem; height: 1.35rem; padding: 0 .3rem; border-radius: 999px; display: inline-grid; place-items: center; background: var(--isv-accent); color: var(--isv-accent-text); font-size: .7rem; font-weight: 800; }
.notification-center { display: grid; gap: .85rem; }
.notification-item { display: grid; grid-template-columns: 3rem minmax(0,1fr); gap: 1rem; padding: 1.15rem; background: #fff; border: 1px solid var(--isv-border); border-radius: var(--isv-radius-lg); box-shadow: var(--isv-shadow-xs); }
.notification-item.is-unread { border-left: 5px solid var(--isv-primary); background: var(--isv-primary-light); }
.notification-icon { width: 2.8rem; height: 2.8rem; display: grid; place-items: center; border-radius: 50%; background: var(--isv-info-bg); color: var(--isv-info); font-size: 1.2rem; }
.notification-copy h2 { margin: .2rem 0 .45rem; font-size: 1.05rem; color: var(--isv-primary-dark); }
.notification-copy p { margin: 0 0 .85rem; color: var(--isv-text-secondary); line-height: 1.55; }
.notification-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem; color: var(--isv-text-muted); font-size: .78rem; text-transform: capitalize; }
.notification-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; }
.notification-actions form { margin: 0; }

.bg-isv {
    background: linear-gradient(90deg, var(--isv-primary-dark), #08233a);
}

.isv-topbar {
    min-height: 64px;
    padding-top: .45rem;
    padding-bottom: .45rem;
    position: sticky;
    top: 0;
    z-index: 1020;
}

.isv-topbar .navbar-brand {
    font-size: 1.37rem;
    font-weight: 800 !important;
    letter-spacing: -.015em;
}

.isv-topbar .container-fluid {
    max-width: 1360px;
}

.sidebar-toggle {
    align-items: center;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.25);
    border-radius: var(--isv-radius-sm);
    display: none;
    flex-direction: column;
    gap: 4px;
    height: 38px;
    justify-content: center;
    padding: 0;
    width: 40px;
}
.sidebar-toggle span { background: #fff; border-radius: 2px; display: block; height: 2px; width: 18px; }

.card {
    border-radius: var(--isv-radius-md);
    border: 1px solid var(--isv-border);
    box-shadow: var(--isv-shadow-xs);
    background: var(--isv-bg-card);
}

.btn {
    border-radius: var(--isv-radius-md);
    font-weight: 600;
    transition: all 0.15s ease-in-out;
}

.btn-primary {
    --bs-btn-bg: var(--isv-primary);
    --bs-btn-border-color: var(--isv-primary);
    --bs-btn-hover-bg: var(--isv-primary-hover);
    --bs-btn-hover-border-color: var(--isv-primary-hover);
    --bs-btn-active-bg: var(--isv-primary-active);
    --bs-btn-active-border-color: var(--isv-primary-active);
    color: #ffffff !important;
}

.btn-warning {
    --bs-btn-bg: var(--isv-accent);
    --bs-btn-border-color: var(--isv-accent);
    --bs-btn-hover-bg: var(--isv-accent-hover);
    --bs-btn-hover-border-color: var(--isv-accent-hover);
    --bs-btn-color: var(--isv-accent-text);
    color: var(--isv-accent-text) !important;
    font-weight: 750;
}
.btn-warning:hover, .btn-warning:focus, .btn-warning:active {
    color: var(--isv-accent-text) !important;
}

.btn-success {
    --bs-btn-bg: var(--isv-success);
    --bs-btn-border-color: var(--isv-success);
    --bs-btn-hover-bg: var(--isv-success-hover);
    --bs-btn-hover-border-color: var(--isv-success-hover);
    color: #ffffff !important;
}

.btn-danger {
    --bs-btn-bg: var(--isv-danger);
    --bs-btn-border-color: var(--isv-danger);
    --bs-btn-hover-bg: var(--isv-danger-hover);
    --bs-btn-hover-border-color: var(--isv-danger-hover);
    color: #ffffff !important;
}

.btn-info {
    --bs-btn-bg: var(--isv-info);
    --bs-btn-border-color: var(--isv-info);
    --bs-btn-hover-bg: var(--isv-info-hover);
    --bs-btn-hover-border-color: var(--isv-info-hover);
    color: #ffffff !important;
}

.page-shell {
    width: 100%;
    max-width: 1360px;
    margin: 0 auto;
    flex: 1 0 auto;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

.app-frame {
    display: grid;
    grid-template-columns: 248px minmax(0, 1fr);
    flex: 1 0 auto;
    width: 100%;
}

.public-frame {
    flex: 1 0 auto;
    width: 100%;
}

.admin-sidebar {
    background: linear-gradient(175deg, #063f63 0%, var(--isv-primary-dark) 48%, var(--isv-primary) 100%);
    border-right: 1px solid rgba(6, 74, 115, .35);
    box-shadow: 8px 0 24px rgba(6, 74, 115, .10);
    position: sticky;
    top: 64px;
    height: calc(100vh - 64px);
    max-height: calc(100vh - 64px);
    overflow-y: auto;
    align-self: start;
    padding: 1.25rem 0.85rem;
    z-index: 20;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, .25) transparent;
}

.admin-sidebar::-webkit-scrollbar {
    width: 5px;
}

.admin-sidebar::-webkit-scrollbar-track {
    background: transparent;
}

.admin-sidebar::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, .25);
    border-radius: 4px;
}

.admin-sidebar::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, .4);
}

.sidebar-section-title {
    color: rgba(255, 255, 255, .75);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    margin: .35rem .65rem .65rem;
    text-transform: uppercase;
}

.admin-sidebar a {
    border-radius: var(--isv-radius-md);
    color: rgba(255, 255, 255, .92);
    display: flex;
    align-items: center;
    gap: .65rem;
    font-weight: 650;
    font-size: .91rem;
    margin-bottom: .2rem;
    padding: .65rem .75rem;
    text-decoration: none;
    transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.admin-sidebar a:hover {
    background: rgba(255, 255, 255, .14);
    color: #fff;
}

.admin-sidebar a:focus-visible {
    box-shadow: 0 0 0 3px rgba(255, 189, 0, .65);
    color: #fff;
    outline: 0;
}

.admin-sidebar a.active {
    background: rgba(255, 255, 255, .22);
    box-shadow: inset 4px 0 0 var(--isv-accent);
    color: #fff;
    font-weight: 800;
}

.sidebar-group {
    margin: .35rem 0;
}

.sidebar-group-toggle {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: var(--isv-radius-md);
    color: #fff;
    display: flex;
    font-size: .76rem;
    font-weight: 850;
    justify-content: space-between;
    letter-spacing: .06em;
    padding: .62rem .75rem;
    text-align: left;
    text-transform: uppercase;
    width: 100%;
    cursor: pointer;
    transition: background 0.15s ease;
}

.sidebar-group-toggle > span:first-child {
    align-items: center;
    display: flex;
    gap: .55rem;
}

.sidebar-group-toggle:hover {
    background: rgba(255, 255, 255, .12);
}

.sidebar-group-toggle:focus-visible {
    box-shadow: 0 0 0 3px rgba(255, 255, 255, .4);
    outline: 0;
}

.sidebar-group-icon {
    color: #a3e2ff;
    font-size: .95rem;
    width: 1.15rem;
    text-align: center;
}

.sidebar-group-chevron {
    font-size: 1rem;
    line-height: 1;
    transition: transform .2s ease;
}

.sidebar-group.is-open .sidebar-group-chevron {
    transform: rotate(180deg);
}

.sidebar-group.is-open {
    background: rgba(0, 0, 0, .07);
    border-radius: var(--isv-radius-md);
    padding-bottom: .25rem;
}

.sidebar-group-content {
    border-left: 1.5px solid rgba(255, 255, 255, .25);
    margin: .15rem 0 .25rem .95rem;
    padding-left: .45rem;
}

.sidebar-group-content[hidden] {
    display: none !important;
}

.sidebar-link-icon {
    color: #bce7ff;
    flex: 0 0 1.15rem;
    font-size: .92rem;
    text-align: center;
    width: 1.15rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.admin-sidebar .sidebar-group-content a {
    font-size: .86rem;
    margin: .12rem 0;
    padding: .55rem .7rem;
    font-weight: 600;
}

.admin-sidebar .sidebar-group-content a.active {
    box-shadow: inset 3.5px 0 0 var(--isv-accent);
    background: rgba(255, 255, 255, .20);
    font-weight: 750;
}

.admin-sidebar a.active .sidebar-link-icon,
.admin-sidebar a:hover .sidebar-link-icon {
    color: #fff;
}

.isv-footer {
    flex-shrink: 0;
    border-top: 1px solid var(--isv-border);
    color: var(--isv-text-muted);
    font-size: .875rem;
    padding: 1rem 0;
    background: rgba(255, 255, 255, .85);
}

.isv-footer-credits {
    align-items: center;
    display: inline-flex;
    flex-wrap: wrap;
    gap: .35rem;
}

.isv-footer-credits strong {
    color: var(--isv-secondary);
}

.isv-footer-credits a {
    color: var(--isv-primary-dark);
    font-weight: 800;
    text-decoration: none;
}

.isv-footer-credits a:hover,
.isv-footer-credits a:focus-visible {
    color: var(--isv-primary);
    text-decoration: underline;
}

.admin-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    background: linear-gradient(135deg, var(--isv-primary-dark) 0%, var(--isv-primary) 100%);
    color: #fff;
    border-radius: var(--isv-radius-lg);
    padding: 1.4rem 1.6rem;
    box-shadow: var(--isv-shadow-md);
}

.admin-hero p {
    color: rgba(255, 255, 255, .78);
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .08em;
    margin-bottom: .35rem;
}

.admin-hero h1 {
    font-size: 1.68rem;
    font-weight: 850;
    letter-spacing: -.02em;
    line-height: 1.18;
    margin: 0 0 .25rem;
    color: #ffffff;
}

.admin-hero span {
    color: rgba(255, 255, 255, .88);
    font-size: .95rem;
    line-height: 1.45;
}

.org-hero-content {
    align-items: center;
    display: flex;
    gap: 1rem;
}

.org-hero-logo {
    background: #fff;
    border-radius: 8px;
    height: 72px;
    object-fit: contain;
    padding: .35rem;
    width: 72px;
}

.org-dashboard-hero { align-items: center; border-radius: 12px; box-shadow: 0 16px 36px rgba(6,74,115,.18); color: #fff; display: flex; justify-content: space-between; min-height: 165px; padding: 1.7rem; }
.org-dashboard-eyebrow { color: rgba(255,255,255,.72); display: block; font-size: .72rem; font-weight: 800; letter-spacing: .1em; margin-bottom: .35rem; text-transform: uppercase; }
.org-dashboard-hero h1 { font-size: 1.7rem; margin: 0 0 .25rem; }
.org-dashboard-hero p { color: rgba(255,255,255,.82); margin: 0; }
.org-dashboard-role { background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.22); border-radius: 9px; min-width: 155px; padding: .75rem 1rem; }
.org-dashboard-role span { color: rgba(255,255,255,.7); display: block; font-size: .68rem; font-weight: 750; text-transform: uppercase; }
.org-dashboard-role strong { display: block; font-size: 1rem; margin-top: .2rem; }
.dashboard-metrics { display: grid; gap: 1rem; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 1.25rem 0; }
.dashboard-metrics article { background: #fff; border: 1px solid #dbe5ef; border-radius: 10px; box-shadow: 0 10px 25px rgba(11,34,57,.05); min-height: 112px; padding: 1rem 1.1rem; }
.dashboard-metrics article > span { color: var(--isv-muted); display: block; font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.dashboard-metrics article strong { color: var(--isv-primary-dark); display: block; font-size: 1.65rem; line-height: 1.2; margin-top: .35rem; }
.dashboard-metrics article small { color: var(--isv-muted); display: block; margin-top: .15rem; }
.dashboard-metrics .metric-attention { border-top: 4px solid var(--isv-accent); }
.dashboard-metrics .metric-success { border-top: 4px solid #198754; }
.dashboard-focus-grid { display: grid; gap: 1rem; grid-template-columns: minmax(0,1.5fr) minmax(280px,.75fr); }
.dashboard-focus-card,.dashboard-roadmap { background: #fff; border: 1px solid #dbe5ef; border-radius: 10px; box-shadow: 0 12px 30px rgba(11,34,57,.06); padding: 1.35rem; }
.dashboard-card-kicker { color: var(--isv-primary); display: block; font-size: .7rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.dashboard-focus-card h2,.dashboard-roadmap h2 { color: var(--isv-primary-dark); font-size: 1.25rem; margin: .35rem 0 .5rem; }
.dashboard-focus-card p { color: var(--isv-muted); margin-bottom: 1rem; }
.dashboard-roadmap > div { border-top: 1px solid #e3ebf3; display: flex; flex-direction: column; gap: .15rem; padding: .7rem 0; }
.dashboard-roadmap > div strong { color: #17324a; font-size: .88rem; }
.dashboard-roadmap > div span { color: var(--isv-muted); font-size: .78rem; }
@media (max-width: 1100px) { .dashboard-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 720px) { .org-dashboard-hero { align-items: flex-start; flex-direction: column; gap: 1rem; } .org-dashboard-role { width: 100%; } .dashboard-focus-grid { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .dashboard-metrics { grid-template-columns: 1fr; } }

.hero-action {
    color: var(--isv-primary-dark);
    font-weight: 700;
}

.organization-create-disclosure:not([open]) {
    display: none !important;
}

.hero-system-toolbar {
    align-items: center;
    gap: 0.25rem !important;
}

.hero-system-toolbar .hero-action {
    border-radius: 5px;
    font-size: 0.74rem;
    font-weight: 600;
    line-height: 1.2;
    padding: 0.2rem 0.5rem;
    transition: all 0.15s ease-in-out;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}

.hero-system-toolbar .btn-light.hero-action {
    background-color: #ffffff;
    border: 1px solid #cbd5e1;
    color: #0f172a !important;
}

.hero-system-toolbar .btn-light.hero-action:hover {
    background-color: #f1f5f9;
    border-color: #94a3b8;
    color: #0284c7 !important;
}

.hero-system-toolbar .btn-outline-light.hero-action {
    background-color: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.35);
    color: #ffffff !important;
}

.hero-system-toolbar .btn-outline-light.hero-action:hover {
    background-color: #ffffff !important;
    border-color: #ffffff !important;
    color: #0f172a !important;
}

.hero-action-primary {
    box-shadow: 0 10px 18px rgba(255, 189, 0, .22);
    min-width: 230px;
}

.metric-card {
    background: #fff;
    border: 1px solid #dbe5ef;
    border-radius: 8px;
    padding: 1rem 1.15rem;
}

.metric-card span {
    color: var(--isv-muted);
    display: block;
    font-size: .8rem;
    text-transform: uppercase;
}

.metric-card strong {
    color: var(--isv-primary-dark);
    display: block;
    font-size: 1.8rem;
}

.data-panel {
    background: #fff;
    border: 1px solid #dbe5ef;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 12px 30px rgba(11, 34, 57, .06);
}

.decision-note {
    min-width: 190px;
    width: min(280px, 100%);
}

.decision-summary { display: flex; flex-direction: column; gap: .2rem; min-width: 190px; }
.decision-summary strong { color: var(--isv-primary-dark); font-size: .82rem; }
.decision-summary span { color: var(--isv-muted); font-size: .72rem; }
.decision-summary p { background: #f7f9fc; border-left: 3px solid #b9c9d9; border-radius: 4px; color: #40576b; font-size: .78rem; margin: .25rem 0 0; padding: .45rem .55rem; }
.volunteer-decision { background: #f7f9fc; border: 1px solid #dbe5ef; border-radius: 7px; margin-top: .55rem; max-width: 360px; padding: .65rem .75rem; }
.volunteer-decision strong { color: var(--isv-primary-dark); display: block; font-size: .8rem; }
.volunteer-decision p { color: #40576b; font-size: .78rem; margin: .3rem 0; }
.volunteer-decision span { color: var(--isv-muted); display: block; font-size: .7rem; line-height: 1.35; }
.evidence-upload-panel { background: #fff; border: 1px solid #dbe5ef; border-radius: 10px; box-shadow: 0 12px 30px rgba(11,34,57,.06); display: grid; gap: 1.5rem; grid-template-columns: minmax(230px,.45fr) minmax(0,1.55fr); padding: 1.3rem; }
.evidence-upload-panel h2 { color: var(--isv-primary-dark); font-size: 1.2rem; margin: .3rem 0; }
.evidence-upload-panel > div p { color: var(--isv-muted); font-size: .82rem; margin: 0; }
.term-acceptance { background: #f5f9fc; border: 1px solid #cbdbe8; border-radius: 8px; padding: .75rem .9rem .75rem 2.25rem; }
.term-acceptance a { font-weight: 800; }
.protected-term { background: #fff; border: 1px solid #dbe5ef; border-radius: 12px; box-shadow: 0 18px 45px rgba(11,34,57,.1); margin: 0 auto; max-width: 920px; overflow: hidden; user-select: none; -webkit-user-select: none; }
.protected-term header { background: linear-gradient(135deg,var(--isv-primary-dark),var(--isv-primary)); color: #fff; padding: 1.6rem; }
.protected-term header > span { color: rgba(255,255,255,.72); font-size: .7rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.protected-term header h1 { font-size: 1.55rem; margin: .35rem 0; }
.protected-term header p { color: rgba(255,255,255,.78); margin: 0; }
.protected-term-body { padding: 1.5rem; }
.protected-term-body section { border-bottom: 1px solid #e3ebf3; padding: .9rem 0; }
.protected-term-body h2 { color: var(--isv-primary-dark); font-size: 1rem; }
.protected-term-body p { color: #40576b; line-height: 1.65; margin: 0; }
.protected-term footer { background: #f5f8fb; border-top: 1px solid #dbe5ef; padding: 1.25rem 1.5rem; }
.protected-term footer code { color: #51697d; display: block; font-size: .68rem; margin: .35rem 0; overflow-wrap: anywhere; }
.protected-term footer p { color: var(--isv-muted); font-size: .78rem; }
@media print { .protected-term { display: none !important; } body::before { content: "Documento protegido. Impressão não autorizada."; display: block; padding: 2rem; } }
@media (max-width: 900px) { .evidence-upload-panel { grid-template-columns: 1fr; } }
.status-aprovada + .volunteer-decision { border-left: 4px solid #198754; }
.status-rejeitada + .volunteer-decision { border-left: 4px solid var(--isv-danger); }

.attendance-select {
    min-width: 125px;
    width: auto;
}

.time-field {
    width: 88px;
}

.duration-total {
    font-size: 1.35rem !important;
}

.profile-label {
    color: var(--isv-muted);
    display: block;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .05em;
    margin-bottom: .25rem;
    text-transform: uppercase;
}

.profile-review p {
    margin-bottom: 0;
    overflow-wrap: anywhere;
}

.profile-choice-group {
    background: #f8fafc;
    border: 1px solid #dbe5ef;
    border-radius: 10px;
    padding: 1rem;
}
.profile-choice-group.is-invalid-group { border-color: #dc3545; box-shadow: 0 0 0 .2rem rgba(220,53,69,.12); }
.profile-choice-grid { display: grid; gap: .6rem; grid-template-columns: repeat(4,minmax(0,1fr)); }
.profile-choice {
    align-items: center;
    background: #fff;
    border: 1px solid #d5e0ea;
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    gap: .55rem;
    min-height: 48px;
    padding: .65rem .75rem;
    transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.profile-choice:hover { border-color: var(--isv-primary); }
.profile-choice:has(input:checked) { background: #eaf6fc; border-color: var(--isv-primary); box-shadow: inset 3px 0 0 var(--isv-primary); }
.profile-choice input { flex: 0 0 auto; margin: 0; }
.profile-choice span { color: #24435d; font-size: .86rem; font-weight: 650; }
.profile-wizard-head { align-items: center; display: flex; justify-content: space-between; margin-bottom: .65rem; }
.completion-request-banner { background: #fff8df; border: 1px solid #efcf68; border-left: 5px solid var(--isv-accent); border-radius: 9px; margin-bottom: 1rem; padding: 1rem 1.15rem; }
.completion-request-banner span { color: #765a00; display: block; font-size: .7rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.completion-request-banner strong { color: #493800; display: block; font-size: .95rem; margin: .3rem 0; }
.completion-request-banner small { color: #806923; display: block; }
.profile-wizard-head > div:first-child span { color: var(--isv-primary); display: block; font-size: .7rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.profile-wizard-head strong { color: var(--isv-primary-dark); display: block; font-size: 1.35rem; margin-top: .15rem; }
.profile-wizard-count { align-items: baseline; color: var(--isv-muted); display: flex; font-size: .82rem; gap: .35rem; }
.profile-wizard-count b { color: var(--isv-primary-dark); font-size: 1.35rem; }
.profile-wizard-progress { background: #e2eaf2; border-radius: 999px; height: 7px; overflow: hidden; }
.profile-wizard-progress span { background: linear-gradient(90deg,var(--isv-primary),#26a9df); border-radius: inherit; display: block; height: 100%; transition: width .25s ease; }
.profile-wizard-nav { display: grid; gap: .65rem; grid-template-columns: repeat(4,1fr); margin-top: 1rem; }
.profile-wizard-nav button { align-items: center; background: #f7f9fc; border: 1px solid #dbe5ef; border-radius: 9px; color: #687e92; display: flex; font-size: .77rem; font-weight: 700; gap: .55rem; min-height: 52px; padding: .55rem .65rem; text-align: left; }
.profile-wizard-nav button b { align-items: center; background: #e3ebf3; border-radius: 50%; color: #597086; display: flex; flex: 0 0 28px; height: 28px; justify-content: center; }
.profile-wizard-nav button.active { background: #eaf6fc; border-color: var(--isv-primary); color: var(--isv-primary-dark); }
.profile-wizard-nav button.active b { background: var(--isv-primary); color: #fff; }
.profile-wizard-nav button.completed b { background: #198754; color: #fff; }
.profile-wizard-step { animation: profileStepIn .22s ease; background: #fff; border: 1px solid #e0e8f0; border-radius: 10px; margin-top: .35rem; min-height: 370px; padding: 1.25rem; }
.profile-wizard-step h2 { color: var(--isv-primary-dark); font-weight: 750; margin-top: 0 !important; }
.profile-wizard-step .form-label,
.profile-wizard-step legend.form-label {
    color: #082f4b;
    font-weight: 800 !important;
    letter-spacing: -.01em;
}
.profile-wizard-step .profile-choice span {
    font-weight: 650;
}
.profile-wizard-step .form-control, .profile-wizard-step .form-select { border-color: #c9d6e2; min-height: 44px; }
.profile-wizard-step textarea.form-control { min-height: 132px; resize: vertical; }
.profile-wizard-step div:has(> input:required) > .form-label::after,
.profile-wizard-step div:has(> select:required) > .form-label::after,
.profile-wizard-step div:has(> textarea:required) > .form-label::after,
.profile-wizard-step fieldset:has(input:required) > legend::after,
.profile-wizard-step fieldset[data-required-group] > legend::after,
.profile-wizard-step fieldset[data-conditional-required].is-required-group > legend::after,
.profile-wizard-step .term-acceptance:has(input:required) > .form-check-label::after {
    color: #dc3545;
    content: " *";
    font-weight: 850;
}
.profile-wizard-actions { align-items: center; background: #f7f9fc; border: 1px solid #dbe5ef; border-radius: 10px; display: flex; gap: .75rem; justify-content: flex-end; padding: .85rem 1rem; position: sticky; bottom: .75rem; z-index: 4; }
.profile-wizard-actions span { color: var(--isv-muted); font-size: .78rem; margin-right: auto; }
.profile-wizard-actions .btn { font-weight: 750; min-width: 125px; padding: .65rem 1rem; }
@keyframes profileStepIn { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 1000px) { .profile-choice-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 760px) {
    .profile-wizard-nav { grid-template-columns: repeat(2,1fr); }
    .profile-wizard-actions { align-items: stretch; flex-wrap: wrap; }
    .profile-wizard-actions span { flex-basis: 100%; }
}
@media (max-width: 560px) {
    .profile-choice-grid { grid-template-columns: 1fr; }
    .profile-wizard-nav button span { display: none; }
    .profile-wizard-nav { grid-template-columns: repeat(4,1fr); }
    .profile-wizard-nav button { justify-content: center; min-height: 44px; padding: .4rem; }
    .profile-wizard-actions .btn { flex: 1 1 120px; }
}

/* Dossiê corporativo do voluntário */
.volunteer-dossier { color: var(--isv-ink); --dossier-radius: 18px; margin: 0 auto; max-width: 1440px; }
.dossier-hero {
    background: linear-gradient(125deg, #073d60 0%, #075d8d 58%, #087db9 100%);
    border-radius: var(--dossier-radius);
    box-shadow: 0 18px 42px rgba(6, 56, 88, .2);
    color: #fff;
    display: grid;
    gap: 1.5rem;
    grid-template-columns: minmax(0, 1fr) 230px;
    min-height: 220px;
    padding: 2rem;
    position: relative;
}
.dossier-back {
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 10px;
    color: #fff;
    font-size: .84rem;
    font-weight: 750;
    padding: .55rem .8rem;
    position: absolute;
    right: 1.5rem;
    text-decoration: none;
    top: 1.25rem;
}
.dossier-back:hover { background: #fff; color: var(--isv-primary-dark); }
.dossier-identity { align-items: center; display: flex; gap: 1.35rem; padding-top: 1rem; }
.dossier-avatar {
    background: #fff;
    border: 4px solid rgba(255,255,255,.8);
    border-radius: 18px;
    box-shadow: 0 12px 26px rgba(0,0,0,.2);
    flex: 0 0 112px;
    height: 112px;
    object-fit: cover;
    width: 112px;
}
.dossier-initials { align-items: center; color: var(--isv-primary-dark); display: flex; font-size: 2.15rem; font-weight: 850; justify-content: center; }
.dossier-eyebrow { color: rgba(255,255,255,.7); display: block; font-size: .72rem; font-weight: 800; letter-spacing: .12em; margin-bottom: .35rem; text-transform: uppercase; }
.dossier-title h1 { font-size: 2rem; margin: 0 0 .35rem; }
.dossier-title p { color: rgba(255,255,255,.8); margin: 0; }
.dossier-title p span { padding: 0 .35rem; }
.dossier-tags { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .9rem; }
.dossier-tags span { background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.22); border-radius: 999px; color: #fff; font-size: .75rem; font-weight: 700; padding: .3rem .65rem; }
.dossier-status { align-self: end; backdrop-filter: blur(8px); background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.24); border-radius: 15px; box-shadow: inset 0 1px 0 rgba(255,255,255,.12); padding: 1rem; }
.dossier-status span { color: rgba(255,255,255,.75); display: block; font-size: .75rem; font-weight: 750; text-transform: uppercase; }
.dossier-status strong { display: block; font-size: 1.7rem; margin: .15rem 0 .5rem; }
.dossier-status .progress { background: rgba(255,255,255,.2); height: 6px; }
.dossier-status .progress-bar { background: #ffbd00; }
.dossier-status.is-complete .progress-bar { background: #35d08a; }
.dossier-alert {
    align-items: center;
    background: #fff8df;
    border: 1px solid #f2d475;
    border-left: 5px solid #d99d00;
    border-radius: 14px;
    display: flex;
    justify-content: space-between;
    margin-top: 1rem;
    padding: 1rem 1.15rem;
}
.manager-completion-box { align-items: center; background: #e8f2f8; border: 1px solid #a9c8da; border-left: 6px solid #0073c3; border-radius: 16px; box-shadow: 0 8px 22px rgba(10,58,91,.08); display: grid; gap: 1.5rem; grid-template-columns: minmax(260px,.72fr) minmax(360px,1.28fr); margin-top: 1.15rem; padding: 1.25rem 1.4rem; }
.manager-completion-box > div > span { color: var(--isv-primary); display: block; font-size: .68rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.manager-completion-box h2 { color: var(--isv-primary-dark); font-size: 1.12rem; font-weight: 800; margin: .25rem 0; }
.manager-completion-box p { color: #36546a; font-size: .86rem; line-height: 1.5; margin: 0; }
.manager-completion-box form { align-items: flex-end; display: flex; gap: .65rem; }
.manager-completion-box textarea { background: #fff; border: 1px solid #9ebed1; border-radius: 11px; box-shadow: inset 0 1px 3px rgba(15,53,78,.05); min-height: 76px; }
.manager-completion-box .btn { border-radius: 10px; flex: 0 0 auto; font-weight: 750; padding: .65rem 1rem; }
@media (max-width: 850px) { .manager-completion-box { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .manager-completion-box form { align-items: stretch; flex-direction: column; } }
.dossier-alert strong { display: block; font-size: .9rem; }
.dossier-alert span { color: #735b18; font-size: .85rem; }
.dossier-alert details { position: relative; }
.dossier-alert summary { color: #664d03; cursor: pointer; font-size: .8rem; font-weight: 800; }
.pending-tags { background: #fff; border: 1px solid #ead58c; border-radius: 8px; box-shadow: 0 12px 28px rgba(65,50,8,.13); display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .65rem; max-width: 520px; padding: .75rem; position: absolute; right: 0; width: max-content; z-index: 5; }
.pending-tags span { background: #fff5cf; border-radius: 999px; color: #664d03; padding: .3rem .55rem; }
.executive-strip { background: #dbe8f0; border: 1px solid #b7cedd; border-radius: 17px; display: grid; gap: 1px; grid-template-columns: repeat(4,1fr); margin: 1.25rem 0; overflow: hidden; }
.executive-strip > div { background: #fff; min-height: 106px; padding: 1.2rem 1.3rem; position: relative; transition: background .18s ease; }
.executive-strip > div::before { background: linear-gradient(180deg,var(--isv-primary),#26a9df); border-radius: 999px; content: ""; height: 34px; left: 0; position: absolute; top: 1rem; width: 4px; }
.executive-strip > div:hover { background: #f5fafc; }
.executive-strip span { color: var(--isv-muted); display: block; font-size: .7rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.executive-strip strong { color: var(--isv-primary-dark); display: block; font-size: 1.08rem; font-weight: 800; margin-top: .35rem; }
.executive-strip small { color: var(--isv-muted); display: block; margin-top: .15rem; }
.dossier-content { background: #dfeaf1; border: 1px solid #a9c1d1; border-radius: var(--dossier-radius); box-shadow: 0 18px 44px rgba(11,34,57,.13); overflow: hidden; }
.dossier-tabs { background: linear-gradient(120deg,#063f63,#0879b5); border-bottom: 0; display: flex; gap: .3rem; overflow-x: auto; padding: .8rem 1rem; }
.dossier-tabs button { background: transparent; border: 1px solid transparent; border-radius: 9px; color: rgba(255,255,255,.78); font-size: .86rem; font-weight: 760; padding: .72rem 1rem; transition: background .18s ease,border-color .18s ease,color .18s ease; white-space: nowrap; }
.dossier-tabs button:hover { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.18); color: #fff; }
.dossier-tabs button.active { background: #fff; border-color: #fff; box-shadow: 0 5px 14px rgba(0,28,46,.2); color: #064a73; }
.dossier-tabs button.active::before { background: #ffc100; border-radius: 50%; content: ""; display: inline-block; height: 8px; margin-right: .5rem; vertical-align: .04em; width: 8px; }
.dossier-panels { background: #e7eff4; padding: 1.6rem; }
.dossier-section-heading { align-items: center; background: linear-gradient(135deg,#d3e6f1,#e4f0f6); border: 1px solid #afcadb; border-radius: 14px; display: flex; justify-content: space-between; margin-bottom: 1.25rem; padding: 1.15rem 1.3rem; position: relative; }
.dossier-section-heading::before { background: #0073c3; border-radius: 999px; bottom: .85rem; content: ""; left: 0; position: absolute; top: .85rem; width: 5px; }
.dossier-section-heading span { color: #0067a8; font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.dossier-section-heading h2 { color: #073d60; font-size: 1.42rem; font-weight: 840; margin: .15rem 0 0; }
.dossier-section-heading small { color: #38586f; font-size: .8rem; }
.dossier-field-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2,minmax(0,1fr)); }
.dossier-field { background: #fff; border: 1px solid #b5cad8; border-radius: 14px; box-shadow: 0 5px 14px rgba(11,47,71,.07); min-height: 114px; padding: 1.2rem 1.3rem; position: relative; }
.dossier-field::after { background: #0073c3; border-radius: 0 0 999px 999px; content: ""; height: 5px; left: 1.3rem; position: absolute; top: 0; width: 62px; }
.dossier-field:hover { border-color: #7eacc6; box-shadow: 0 8px 20px rgba(11,67,102,.1); }
.dossier-field > span { color: #365b73; display: block; font-size: .74rem; font-weight: 900; letter-spacing: .055em; margin-bottom: .65rem; text-transform: uppercase; }
.dossier-field p { color: #102f44; font-size: .94rem; line-height: 1.62; margin: 0; max-width: 72ch; overflow-wrap: anywhere; }
.dossier-empty { background: #f8fafc; border: 1px dashed #b9c9d9; border-radius: 14px; grid-column: 1 / -1; padding: 2rem; text-align: center; }
.dossier-empty p { color: var(--isv-muted); margin: .35rem 0 0; }

@media (max-width: 900px) {
    .dossier-hero { grid-template-columns: 1fr; padding-top: 4.5rem; }
    .dossier-status { align-self: auto; }
    .executive-strip { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 600px) {
    .volunteer-dossier { --dossier-radius: 15px; }
    .dossier-identity { align-items: flex-start; flex-direction: column; }
    .dossier-avatar { height: 86px; width: 86px; flex-basis: 86px; }
    .dossier-title h1 { font-size: 1.55rem; }
    .dossier-alert { align-items: flex-start; flex-direction: column; gap: .8rem; }
    .pending-tags { left: 0; right: auto; width: min(85vw,520px); }
    .executive-strip, .dossier-field-grid { grid-template-columns: 1fr; }
    .dossier-section-heading { align-items: flex-start; flex-direction: column; gap: .35rem; }
    .dossier-panels { padding: 1rem; }
    .dossier-tabs { gap: .35rem; padding: .65rem; }
    .dossier-tabs button { padding: .65rem .8rem; }
}

.user-grid-panel {
    border-color: #cbd8e6;
}

.user-grid-table {
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
    width: 100%;
}

.user-grid-table th:nth-child(1) { width: 14%; }
.user-grid-table th:nth-child(2) { width: 11%; }
.user-grid-table th:nth-child(3) { width: 20%; }
.user-grid-table th:nth-child(4) { width: 7%; }
.user-grid-table th:nth-child(5) { width: 16%; }
.user-grid-table th:nth-child(6) { width: 14%; }
.user-grid-table th:nth-child(7) { width: 18%; }

.permissions-table {
    table-layout: fixed;
    width: 100%;
}

.permissions-table th:nth-child(1) { width: 22%; }
.permissions-table th:nth-child(2) { width: 20%; }
.permissions-table th:nth-child(3) { width: 22%; }
.permissions-table th:nth-child(4) { width: 12%; }
.permissions-table th:nth-child(5) { width: 24%; }

.user-table thead th {
    background: linear-gradient(135deg, var(--isv-primary-dark), var(--isv-primary));
    border-bottom: 1px solid #075f92;
    border-right: 1px solid rgba(255, 255, 255, .18);
    color: #fff;
    font-size: .78rem;
    letter-spacing: .03em;
    text-transform: uppercase;
    padding: .75rem .9rem;
    vertical-align: middle;
}

.user-table thead th:last-child {
    border-right: 0;
}

.user-table td {
    border-bottom: 1px solid #dbe5ef;
    border-right: 1px solid #e2e8f0;
    padding: 1rem .9rem;
    vertical-align: middle;
    overflow-wrap: anywhere;
    word-break: normal;
}

.user-table td:last-child {
    border-right: 0;
}

.user-table tbody tr:last-child td {
    border-bottom: 0;
}

.user-table tbody tr:nth-child(even) td {
    background: #fbfdff;
}

.user-table tbody tr:hover td {
    background: #f3f9fd;
}

.user-name {
    font-weight: 700;
}

.user-email {
    color: var(--isv-muted);
    font-size: .9rem;
}

.admin-badge {
    background: var(--isv-primary-dark);
    margin-top: .4rem;
}

.profile-chips {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}

.profile-chips span {
    background: #e8f3fb;
    border: 1px solid #c8e0f0;
    border-radius: 999px;
    color: var(--isv-primary-dark);
    font-size: .82rem;
    padding: .25rem .55rem;
}

.profile-static {
    background: #e8f3fb;
    border: 1px solid #c8e0f0;
    border-radius: 8px;
    color: var(--isv-primary-dark);
    display: inline-block;
    font-size: .86rem;
    font-weight: 700;
    padding: .38rem .58rem;
}

.profile-select {
    max-width: 100%;
    min-width: 0;
    width: 100%;
}

.status-pill {
    border-radius: var(--isv-radius-pill);
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    font-size: .78rem;
    font-weight: 750;
    padding: .28rem .7rem;
    white-space: nowrap;
    line-height: 1.2;
    border: 1px solid transparent;
}

.status-ativo,
.status-ativa,
.status-aberta,
.status-aprovada,
.status-qualificada,
.status-concluida,
.status-utilizado {
    background: var(--isv-success-bg);
    color: var(--isv-success-text);
    border-color: var(--isv-success-border);
}

.status-pendente,
.status-nova,
.status-em_analise,
.status-pausada {
    background: var(--isv-warning-bg);
    color: var(--isv-warning-text);
    border-color: var(--isv-warning-border);
}

.status-bloqueado,
.status-suspenso,
.status-suspensa,
.status-cancelada,
.status-rejeitada,
.status-recusada,
.status-adesao_recusada {
    background: var(--isv-danger-bg);
    color: var(--isv-danger-text);
    border-color: var(--isv-danger-border);
}

.status-revogado,
.status-expirado,
.status-planejada,
.status-rascunho,
.status-inativa {
    background: #f1f5f9;
    color: #475569;
    border-color: #cbd5e1;
}

.status-realizada,
.status-finalizada,
.status-encerrada,
.status-contato_iniciado {
    background: var(--isv-info-bg);
    color: var(--isv-info-text);
    border-color: var(--isv-info-border);
}

.action-table {
    table-layout: fixed;
    width: 100%;
}

.action-table th:first-child {
    width: 30%;
}

.action-table td {
    overflow-wrap: anywhere;
}

.campaign-table {
    table-layout: fixed;
    width: 100%;
}

.campaign-table th:first-child {
    width: 38%;
}

.campaign-table td {
    overflow-wrap: anywhere;
}

.empty-state {
    align-items: center;
    background: #f8fafc;
    border: 1.5px dashed var(--isv-border-dark);
    border-radius: var(--isv-radius-lg);
    color: var(--isv-text-muted);
    display: flex;
    flex-direction: column;
    gap: .4rem;
    justify-content: center;
    padding: 2.75rem 1.5rem;
    text-align: center;
}

.empty-state strong {
    color: var(--isv-text-primary);
    font-size: 1.1rem;
    font-weight: 800;
}

.empty-state p {
    color: var(--isv-text-muted);
    font-size: .92rem;
    margin: .25rem 0 1rem;
    max-width: 48ch;
    line-height: 1.5;
}

.empty-state .btn {
    font-weight: 750;
    border-radius: var(--isv-radius-md);
    padding: .55rem 1.25rem;
}

.operation-card {
    background: #fff;
    border: 1px solid #dbe5ef;
    border-radius: 8px;
    box-shadow: 0 10px 28px rgba(11, 34, 57, .06);
    height: 100%;
    padding: 1.15rem;
}

.operation-card strong {
    color: var(--isv-primary-dark);
    display: block;
    margin-bottom: .35rem;
}

.operation-card p {
    color: var(--isv-muted);
    min-height: 48px;
}

@media (max-width: 960px) {
    .app-frame {
        display: block;
    }

    .sidebar-toggle { display: flex; }
    .isv-topbar .container-fluid { gap: .65rem; }
    .admin-sidebar { bottom: 0; display: block; left: 0; min-height: 0; overflow-y: auto; padding: 1rem; position: fixed; top: 64px; transform: translateX(-105%); transition: transform .22s ease; width: 260px; }
    .app-frame.sidebar-open .admin-sidebar { transform: translateX(0); }
    .app-frame.sidebar-open::after { background: rgba(5,24,39,.46); bottom: 0; content: ""; left: 0; position: fixed; right: 0; top: 64px; z-index: 15; }
}

.record-link {
    color: var(--isv-primary-dark);
    font-weight: 800;
    text-decoration: none;
}

.record-link:hover {
    color: var(--isv-primary);
    text-decoration: underline;
}

.pager-controls {
    align-items: center;
    display: flex;
    gap: .75rem;
    justify-content: flex-end;
}

.pager-controls span {
    color: var(--isv-muted);
    font-size: .875rem;
    min-width: 92px;
    text-align: center;
}

.auth-page {
    min-height: calc(100vh - 70px);
    display: flex;
    align-items: center;
    justify-content: center;
}

.auth-card {
    width: 100%;
    max-width: 430px;
}

.dashboard-title {
    border-left: 5px solid var(--isv-accent);
    padding-left: 1rem;
}

.stat-card {
    border-top: 4px solid var(--isv-primary);
}
.admin-stat-label { color: #284c66; font-size: .88rem; font-weight: 800; letter-spacing: .025em; text-transform: uppercase; }

.action-list .list-group-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.15rem;
}

.action-list .list-group-item::after {
    content: ">";
    color: var(--isv-primary);
    font-weight: 700;
}

.admin-platform-intro {
    background: linear-gradient(135deg, #ffffff 0%, #f5faff 100%);
    border: 1px solid #d8e5ef;
    border-radius: 14px;
    box-shadow: 0 18px 44px rgba(7, 61, 96, .09);
    display: grid;
    gap: 1.5rem;
    grid-template-columns: minmax(0, 1.55fr) minmax(280px, .65fr);
    overflow: hidden;
    padding: 2rem;
    position: relative;
}
.admin-platform-intro::before { background: linear-gradient(90deg, var(--isv-primary-dark), var(--isv-primary), #24a9df); content: ""; height: 5px; inset: 0 0 auto; position: absolute; }
.admin-platform-main h2 { color: var(--isv-primary-dark); font-size: clamp(1.65rem, 2.5vw, 2.35rem); font-weight: 780; letter-spacing: -.035em; line-height: 1.12; margin: .6rem 0 .85rem; max-width: 720px; }
.admin-platform-main > p { color: #415f76; font-size: 1.08rem; font-weight: 500; line-height: 1.75; margin: 0; max-width: 820px; }
.admin-platform-pillars { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1.35rem; }
.admin-platform-pillars span { background: #edf7fc; border: 1px solid #cfe7f3; border-radius: 999px; color: #084e74; font-size: .88rem; font-weight: 800; padding: .55rem .85rem; }
.admin-platform-purpose { background: linear-gradient(145deg, #073d60, #087db9); border-radius: 12px; box-shadow: 0 15px 32px rgba(5, 67, 105, .2); color: #fff; padding: 1.5rem; }
.admin-platform-purpose > span { color: rgba(255,255,255,.68); display: block; font-size: .68rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.admin-platform-purpose strong { display: block; font-size: 1.35rem; line-height: 1.4; margin: .7rem 0; }
.admin-platform-purpose p { color: rgba(255,255,255,.84); font-size: .96rem; font-weight: 500; line-height: 1.65; margin: 0; }
.admin-platform-cycle { border-top: 1px solid #dce8f1; display: grid; gap: .75rem; grid-column: 1 / -1; grid-template-columns: repeat(4, minmax(0,1fr)); padding-top: 1.35rem; }
.admin-platform-cycle article { align-items: center; background: #fff; border: 1px solid #dce7f0; border-radius: 10px; display: flex; gap: .9rem; min-height: 96px; padding: 1rem; }
.admin-platform-cycle b { align-items: center; background: #e9f5fb; border-radius: 50%; color: var(--isv-primary); display: flex; flex: 0 0 42px; font-size: .82rem; height: 42px; justify-content: center; }
.admin-platform-cycle strong { color: #123c59; display: block; font-size: 1rem; font-weight: 800; }
.admin-platform-cycle span { color: #587187; display: block; font-size: .82rem; font-weight: 550; line-height: 1.4; margin-top: .2rem; }
.impact-metrics { display: grid; gap: 1rem; grid-template-columns: repeat(4,minmax(0,1fr)); }
.impact-metrics article { background: #fff; border: 1px solid #dbe5ef; border-top: 4px solid var(--isv-primary); border-radius: 10px; padding: 1rem 1.1rem; }
.impact-metrics span { color: var(--isv-muted); display: block; font-size: .75rem; font-weight: 800; text-transform: uppercase; }
.impact-metrics strong { color: var(--isv-primary-dark); display: block; font-size: 1.7rem; margin-top: .25rem; }
.impact-entry-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2,minmax(0,1fr)); }
.impact-entry-grid textarea { min-height: 105px; resize: vertical; }
.impact-results-list article { border-bottom: 1px solid #e1e9f0; padding: 1.3rem 1.5rem; }
.impact-results-list article:last-child { border-bottom: 0; }
.impact-results-list article > div > span { color: var(--isv-primary); font-size: .73rem; font-weight: 800; text-transform: uppercase; }
.impact-results-list h3 { color: var(--isv-primary-dark); font-size: 1.1rem; margin: .3rem 0 .65rem; }
.impact-results-list article > p { color: #455f74; line-height: 1.65; }
.impact-results-list aside { background: #f4f8fb; border-left: 4px solid var(--isv-primary); padding: .8rem 1rem; }
.impact-results-list aside p { margin: .25rem 0 0; }
@media (max-width: 950px) { .impact-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); } .impact-entry-grid { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .impact-metrics { grid-template-columns: 1fr; } }
.indicator-filters { align-items: end; background: #fff; border: 1px solid #dbe5ef; border-radius: 11px; display: flex; flex-wrap: wrap; gap: .8rem; padding: 1rem; }
.indicator-filters > div { flex: 1 1 260px; }
.indicator-kpis { display: grid; gap: 1rem; grid-template-columns: repeat(3,minmax(0,1fr)); }
.indicator-kpis article { background: #fff; border: 1px solid #dbe5ef; border-left: 4px solid var(--isv-primary); border-radius: 10px; box-shadow: 0 10px 24px rgba(7,61,96,.05); min-height: 112px; padding: 1rem 1.1rem; }
.indicator-kpis span { color: #597188; display: block; font-size: .74rem; font-weight: 800; text-transform: uppercase; }
.indicator-kpis strong { color: var(--isv-primary-dark); display: block; font-size: 1.65rem; margin: .3rem 0 .1rem; }
.indicator-kpis small { color: var(--isv-muted); }
.indicator-grid { display: grid; gap: 1rem; grid-template-columns: minmax(0,1.65fr) minmax(280px,.6fr); }
.indicator-panel-head { border-bottom: 1px solid #e1e9f0; padding: 1.25rem 1.4rem 1rem; }
.indicator-panel-head h2 { color: var(--isv-primary-dark); font-size: 1.25rem; margin: .3rem 0 0; }
.indicator-bars { padding: .5rem 1.4rem 1.3rem; }
.indicator-bars article { border-bottom: 1px solid #e7edf2; padding: 1rem 0; }
.indicator-bars article:last-child { border-bottom: 0; }
.indicator-bar-label { align-items: end; display: flex; justify-content: space-between; gap: 1rem; }
.indicator-bar-label strong { color: #163f5b; display: block; font-size: .92rem; }
.indicator-bar-label span { color: var(--isv-muted); display: block; font-size: .72rem; }
.indicator-bar-label b { color: var(--isv-primary-dark); font-size: 1rem; }
.indicator-bar-track { background: #e8f0f5; border-radius: 999px; height: 9px; margin: .55rem 0; overflow: hidden; }
.indicator-bar-track span { background: linear-gradient(90deg,var(--isv-primary),#28a9df); border-radius: inherit; display: block; height: 100%; }
.indicator-bars footer { color: #657d91; display: flex; flex-wrap: wrap; font-size: .72rem; gap: .9rem; }
.indicator-evidence { padding-bottom: 1rem; }
.evidence-gauge { align-items: center; background: conic-gradient(var(--isv-primary) calc(var(--gauge)*1%),#e4edf3 0); border-radius: 50%; display: flex; height: 170px; justify-content: center; margin: 1.3rem auto; width: 170px; }
.evidence-gauge::before { background: #fff; border-radius: 50%; content: ""; height: 126px; position: absolute; width: 126px; }
.evidence-gauge div { position: relative; text-align: center; z-index: 1; }
.evidence-gauge strong { color: var(--isv-primary-dark); display: block; font-size: 1.7rem; }
.evidence-gauge span { color: var(--isv-muted); font-size: .75rem; }
.indicator-evidence dl { margin: 0 1.3rem; }
.indicator-evidence dl div { border-top: 1px solid #e5edf3; display: flex; justify-content: space-between; padding: .65rem 0; }
.indicator-evidence dt { color: #526b80; font-size: .83rem; }
.indicator-evidence dd { color: var(--isv-primary-dark); font-weight: 800; margin: 0; }
@media (max-width: 980px) { .indicator-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); } .indicator-grid { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .indicator-kpis { grid-template-columns: 1fr; } .indicator-filters .btn { flex: 1; } }
.report-filter-panel { align-items: end; background:#fff; border:1px solid #dbe5ef; border-radius:11px; display:flex; flex-wrap:wrap; gap:.8rem; padding:1rem; }
.report-filter-panel>div { flex:1 1 190px; }
.report-preview { background:#fff; border:1px solid #d9e5ed; border-radius:12px; box-shadow:0 15px 35px rgba(7,61,96,.08); overflow:hidden; }
.report-preview>header { align-items:center; background:linear-gradient(135deg,var(--report-secondary),var(--report-primary)); color:#fff; display:flex; justify-content:space-between; padding:1.4rem 1.5rem; }
.report-preview>header>div:first-child { align-items:center; display:flex; gap:1rem; }
.report-preview>header img { background:#fff; border-radius:8px; height:66px; object-fit:contain; padding:.35rem; width:82px; }
.report-preview>header span { color:rgba(255,255,255,.7); font-size:.7rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.report-preview>header h2 { font-size:1.4rem; margin:.25rem 0; }.report-preview>header p{color:rgba(255,255,255,.8);margin:0}.report-actions{display:flex;gap:.5rem}
.report-summary-grid{display:grid;gap:1px;grid-template-columns:repeat(6,1fr);background:#dfe8ef}.report-summary-grid article{background:#fff;padding:1rem}.report-summary-grid span{color:#647c90;display:block;font-size:.7rem;font-weight:800;text-transform:uppercase}.report-summary-grid strong{color:var(--report-secondary);display:block;font-size:1.35rem;margin-top:.3rem}.report-table-wrap{padding:1.2rem}.report-table-wrap td small{color:var(--isv-muted);display:block;font-size:.7rem;margin-top:.15rem}
@media(max-width:1000px){.report-summary-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.report-preview>header{align-items:flex-start;flex-direction:column;gap:1rem}.report-actions{width:100%}.report-actions .btn{flex:1}.report-summary-grid{grid-template-columns:repeat(2,1fr)}}
.user-lifecycle-metrics{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.user-lifecycle-metrics article{background:#fff;border:1px solid #dbe5ef;border-top:4px solid var(--isv-primary);border-radius:10px;padding:1rem 1.1rem}.user-lifecycle-metrics span{color:var(--isv-muted);display:block;font-size:.74rem;font-weight:800;text-transform:uppercase}.user-lifecycle-metrics strong{color:var(--isv-primary-dark);display:block;font-size:1.65rem;margin-top:.25rem}.user-lifecycle-list{display:grid;gap:1rem}.user-lifecycle-card{background:#fff;border:1px solid #d9e4ec;border-radius:12px;box-shadow:0 12px 30px rgba(7,61,96,.06);overflow:hidden}.user-lifecycle-card>header{align-items:center;background:#f7fafc;border-bottom:1px solid #dde7ee;display:flex;justify-content:space-between;padding:1rem 1.25rem}.user-lifecycle-card>header>div:first-child>span{color:var(--isv-primary);font-size:.7rem;font-weight:800;text-transform:uppercase}.user-lifecycle-card h2{color:var(--isv-primary-dark);font-size:1.2rem;margin:.2rem 0}.user-lifecycle-card>header p{color:var(--isv-muted);margin:0}.user-lifecycle-card>header>div:last-child{text-align:right}.user-lifecycle-card>header small{color:var(--isv-muted);display:block;margin-top:.35rem}.user-lifecycle-body{padding:1.25rem}.user-lifecycle-body h3{color:#173e59;font-size:.92rem;font-weight:800;margin:0 0 .75rem}.user-lifecycle-body .form-label{font-size:.76rem;font-weight:750}.user-lifecycle-actions{border-top:1px solid #e1e9ef;display:grid;gap:1.2rem;margin-top:1.2rem;padding-top:1.2rem}.user-lifecycle-actions textarea{min-height:58px;resize:vertical}.user-delete-zone{background:#fff8f8;border:1px solid #f0cccc;border-radius:8px;padding:.8rem 1rem}.user-delete-zone summary{color:#a32f39;cursor:pointer;font-size:.85rem;font-weight:800}.user-delete-zone p{color:#7b6366;font-size:.78rem;margin:.65rem 0}.status-bloqueado,.status-suspenso{background:#fbe8ea;color:#a52632}@media(max-width:650px){.user-lifecycle-metrics{grid-template-columns:1fr}.user-lifecycle-card>header{align-items:flex-start;flex-direction:column;gap:.75rem}.user-lifecycle-card>header>div:last-child{text-align:left}}

.user-table{background:#fff;border:1px solid #c7dae5;border-radius:12px;box-shadow:0 12px 30px rgba(7,61,96,.06);overflow:hidden}.user-table-head,.user-table-row{align-items:stretch;display:grid;grid-template-columns:minmax(220px,1.3fr) minmax(160px,1fr) minmax(190px,1.2fr) minmax(140px,.8fr) minmax(215px,1.3fr)}.user-table-head{background:#075a89;border-bottom:2px solid #054366;color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.035em;text-transform:uppercase}.user-table-head>span{align-items:center;border-right:1px solid rgba(255,255,255,.2);display:flex;padding:.85rem 1.15rem;text-align:left}.user-table-head>span:last-child{border-right:none}.user-table-head>span:nth-child(4),.user-table-head>span:nth-child(5){justify-content:center;text-align:center}.user-table-item{border-bottom:1px solid #d9e4ec}.user-table-item:last-child{border-bottom:none}.user-table-row{min-height:64px}.user-table-row>div{align-items:center;border-right:1px solid #d9e4ec;display:flex;min-width:0;padding:.85rem 1.15rem;text-align:left}.user-table-row>div:last-child{border-right:none}.user-table-row>div:nth-child(1),.user-table-row>div:nth-child(3){flex-direction:column;align-items:flex-start;justify-content:center}.user-table-row>div:nth-child(4),.user-table-row>div:nth-child(5){align-items:center;justify-content:center;text-align:center}.user-identity strong{color:var(--isv-primary-dark);display:block;font-size:1rem}.user-identity small{color:var(--isv-muted);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-row-actions{align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap;gap:.45rem;justify-content:center;text-align:center;width:100%}.user-row-actions .btn{font-weight:700;white-space:nowrap}.user-row-actions .btn.active{background:var(--isv-primary);border-color:var(--isv-primary);color:#fff}.root-lock-compact{color:var(--isv-muted);font-size:.8rem;font-weight:700}.user-action-panel{background:#f7fafc;border-top:1px solid #dfe8ef;padding:1rem 1.15rem}.user-action-panel[hidden]{display:none!important}.user-action-panel h3{color:#173e59;font-size:.92rem;font-weight:800;margin:0 0 .75rem}.user-action-panel .form-label{font-size:.76rem;font-weight:750}.user-action-panel textarea{min-height:58px;resize:vertical}.user-delete-panel{background:#fff8f8}.user-delete-panel h3{color:#a32f39}.user-delete-panel p{color:#7b6366;font-size:.8rem}.isv-pagination{align-items:center;color:var(--isv-muted);display:flex;justify-content:space-between;margin-top:1rem}.isv-pagination>div{align-items:center;display:flex;gap:.75rem}.isv-pagination strong{color:var(--isv-primary-dark);font-size:.85rem}.status-bloqueado,.status-suspenso{background:#fbe8ea;color:#a52632}@media(max-width:1050px){.user-table{overflow-x:auto}.user-table-head,.user-table-row{min-width:1050px}}@media(max-width:650px){.user-lifecycle-metrics{grid-template-columns:1fr}.isv-pagination{align-items:flex-start;flex-direction:column;gap:.75rem}}

.admin-governance-grid{display:grid;gap:1.25rem;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)}.admin-governance-card,.admin-governance-list{background:#fff;border:1px solid #d9e4ec;border-radius:12px;box-shadow:0 12px 30px rgba(7,61,96,.06);overflow:hidden}.admin-governance-card{padding:1.4rem}.admin-governance-card header{border-bottom:1px solid #e1e9ef;margin-bottom:1.2rem;padding-bottom:1rem}.admin-governance-card header>span,.admin-governance-list header span{color:var(--isv-primary);font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.admin-governance-card h2,.admin-governance-list h2{color:var(--isv-primary-dark);font-size:1.25rem;font-weight:800;margin:.25rem 0}.admin-governance-card header p{color:var(--isv-muted);margin:0}.governance-rules{display:grid;gap:.8rem;list-style:none;margin:0;padding:0}.governance-rules li{background:#f3f8fc;border-left:4px solid var(--isv-primary);border-radius:6px;color:#284c66;font-weight:700;padding:.75rem .85rem}.admin-governance-list>header{align-items:center;background:#f7fafc;border-bottom:1px solid #dfe8ef;display:flex;justify-content:space-between;padding:1rem 1.2rem}.admin-governance-list>header strong{color:var(--isv-primary-dark);font-size:1.5rem}.admin-governance-list>article{align-items:center;display:grid;gap:1rem;grid-template-columns:minmax(220px,1fr) 190px minmax(280px,.8fr);padding:1rem 1.2rem}.admin-governance-list>article+article{border-top:1px solid #e1e9ef}.admin-governance-list article>div:first-child strong,.admin-governance-list article>div:first-child small{display:block}.admin-governance-list article small{color:var(--isv-muted);margin-top:.25rem}.admin-governance-list article>div:nth-child(2) small{display:block}.admin-revoke summary{color:#a32f39;cursor:pointer;font-size:.82rem;font-weight:800;text-align:right}.admin-revoke form{display:grid;gap:.5rem;margin-top:.75rem}.admin-invite-warning{background:#fff8df;border:1px solid #f2d06c;border-left:5px solid var(--isv-accent);border-radius:8px;padding:1rem}.admin-invite-warning strong{color:#5f4800}.admin-invite-warning p{color:#715d19;margin:.35rem 0 0}.admin-responsibility{align-items:flex-start;background:#f3f8fc;border:1px solid #d8e7f1;border-radius:8px;display:flex;gap:.65rem;padding:1rem}.auth-card-wide{max-width:560px}.required-mark{color:#d7193f}.status-pendente{background:#fff3d5;color:#8a5a00}@media(max-width:900px){.admin-governance-grid{grid-template-columns:1fr}.admin-governance-list>article{grid-template-columns:1fr}.admin-revoke summary{text-align:left}}
@media (max-width: 1050px) { .admin-platform-cycle { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 780px) { .admin-platform-intro { grid-template-columns: 1fr; padding: 1.4rem; } .admin-platform-purpose { grid-column: 1; } }
@media (max-width: 520px) { .admin-platform-cycle { grid-template-columns: 1fr; } }

.security-modal[hidden]{display:none}.security-modal{align-items:center;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:2000}.security-modal-backdrop{background:rgba(3,35,57,.76);inset:0;position:absolute}.security-modal-card{background:#fff;border-radius:14px;box-shadow:0 24px 70px rgba(0,31,52,.28);max-width:560px;padding:1.75rem;position:relative;width:100%;z-index:1}.security-modal-card h2{color:var(--isv-primary-dark);font-size:1.5rem;font-weight:800;margin:.35rem 0 1rem}.security-modal-card p{color:#38566b}.security-modal-card .btn{margin-top:.35rem}.security-modal-eyebrow{color:var(--isv-primary);font-size:.72rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.security-modal-open{overflow:hidden}

.user-filter-panel{background:#fff;border:1px solid #d9e4ec;border-radius:12px;box-shadow:0 12px 30px rgba(7,61,96,.06);padding:1rem 1.15rem}.user-filter-grid{display:grid;gap:.85rem;grid-template-columns:1.5fr repeat(3,minmax(150px,1fr))}.user-filter-panel .form-label{color:#38566b;font-size:.75rem;font-weight:800}.user-filter-actions{align-items:center;display:flex;gap:.6rem;margin-top:.85rem}.user-filter-actions span{color:var(--isv-muted);font-size:.82rem;margin-left:auto}.user-table-head a{color:#fff;text-decoration:none}.user-table-head a:hover{text-decoration:underline}.user-empty-state{align-items:center;color:var(--isv-muted);display:flex;flex-direction:column;gap:.3rem;padding:2.5rem 1rem;text-align:center}.user-empty-state strong{color:var(--isv-primary-dark)}@media(max-width:900px){.user-filter-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.user-filter-grid{grid-template-columns:1fr}.user-filter-actions{align-items:stretch;flex-direction:column}.user-filter-actions span{margin:0;text-align:center}}

.user-tools-accordion{background:#fff;border:1px solid #b9cfdd;border-radius:14px;box-shadow:0 10px 26px rgba(7,61,96,.08);overflow:hidden}.user-tools-toggle{align-items:center;background:linear-gradient(110deg,#e6f1f7,#f5f9fc);border:0;color:var(--isv-primary-dark);display:flex;justify-content:space-between;padding:.85rem 1rem;text-align:left;width:100%}.user-tools-toggle:hover{background:#dcecf5}.user-tools-toggle:focus-visible{box-shadow:inset 0 0 0 3px rgba(0,115,195,.3);outline:0}.user-tools-toggle>span:first-child{display:flex;flex-direction:column}.user-tools-toggle strong{font-size:.92rem}.user-tools-toggle small{color:#506c80;font-size:.76rem;margin-top:.12rem}.user-tools-toggle-label{align-items:center;background:#fff;border:1px solid #8fb6cc;border-radius:9px;color:#075a89;display:flex;font-size:.8rem;font-weight:800;gap:.45rem;padding:.48rem .72rem;white-space:nowrap}.user-tools-toggle-label::after{content:'▾';font-size:.9rem;transition:transform .18s ease}.user-tools-accordion.is-open .user-tools-toggle-label::after{transform:rotate(180deg)}.user-tools-accordion.has-active-filters .user-tools-toggle{border-left:5px solid var(--isv-accent)}.user-tools-content{background:#edf4f8;border-top:1px solid #c7dae5;padding:1rem}.user-tools-content[hidden]{display:none!important}.user-tools-content .user-lifecycle-metrics{margin-bottom:1rem}.user-tools-content .user-filter-panel{box-shadow:none}.user-table-item:nth-of-type(odd){background:#fff}.user-table-item:nth-of-type(even){background:#eef5f9}.user-table-item:nth-of-type(even) .user-table-row{box-shadow:inset 4px 0 0 #c6dce8}.user-table-item:hover{background:#e3f0f7}.user-table-row{transition:background .15s ease}.user-table-item:hover .user-table-row{background:rgba(255,255,255,.22)}

@media(max-width:600px){.user-tools-toggle{align-items:flex-start;gap:.75rem}.user-tools-toggle-label{font-size:.75rem}.user-tools-content{padding:.75rem}.user-tools-content .user-lifecycle-metrics{gap:.65rem}.user-tools-content .user-lifecycle-metrics article{padding:.75rem .9rem}}

/* V5.3.1: vínculo visual forte entre a linha apontada e suas ações */
.user-table-item:nth-of-type(even){background:#e8f2f7}.user-table-item:nth-of-type(even) .user-table-row{box-shadow:inset 4px 0 0 #b4d5e6}.user-table-item{position:relative;transition:background .15s ease,box-shadow .15s ease}.user-table-item:hover{background:#cfe8f5;box-shadow:inset 7px 0 0 #0073c3,inset 0 1px 0 #8fc5df,inset 0 -1px 0 #8fc5df}.user-table-item:hover .user-table-row{background:transparent}.user-table-item:hover .user-identity strong{color:#003f66}

/* V5.4: sanfona institucional reutilizável */
.isv-disclosure{background:#fff;border:1px solid #b9cfdd;border-radius:14px;box-shadow:0 10px 26px rgba(7,61,96,.08);overflow:hidden}.isv-disclosure>summary{align-items:center;background:linear-gradient(110deg,#e6f1f7,#f5f9fc);color:var(--isv-primary-dark);cursor:pointer;display:flex;justify-content:space-between;list-style:none;padding:.85rem 1rem}.isv-disclosure>summary::-webkit-details-marker{display:none}.isv-disclosure>summary:hover{background:#dcecf5}.isv-disclosure>summary:focus-visible{box-shadow:inset 0 0 0 3px rgba(0,115,195,.3);outline:0}.isv-disclosure>summary>span{display:flex;flex-direction:column}.isv-disclosure>summary strong{font-size:.92rem}.isv-disclosure>summary small{color:#506c80;font-size:.76rem;margin-top:.12rem}.isv-disclosure>summary b{align-items:center;background:#fff;border:1px solid #8fb6cc;border-radius:9px;color:#075a89;display:flex;font-size:.8rem;gap:.45rem;padding:.48rem .72rem;white-space:nowrap}.isv-disclosure>summary b::after{content:'▾';font-size:.9rem;transition:transform .18s ease}.isv-disclosure[open]>summary b::after{transform:rotate(180deg)}.isv-disclosure[open]>summary b{font-size:0}.isv-disclosure[open]>summary b::before{content:'Ocultar';font-size:.8rem}.isv-disclosure-body{background:#edf4f8;border-top:1px solid #c7dae5;padding:1rem}.isv-disclosure-body>.row,.isv-disclosure-body>.impact-metrics{margin-bottom:0}.isv-disclosure-body>.data-panel,.isv-disclosure-body>.evidence-upload-panel{border:0;border-radius:0;box-shadow:none}.impact-entry-stack{display:grid;gap:1rem}.user-table tbody tr:nth-child(even),.report-table-wrap tbody tr:nth-child(even),.impact-entry-stack~.data-panel tbody tr:nth-child(even){background:#e8f2f7}.user-table tbody tr:hover,.report-table-wrap tbody tr:hover,.impact-entry-stack~.data-panel tbody tr:hover{background:#cfe8f5;box-shadow:inset 6px 0 0 #0073c3}.user-table tbody tr,.report-table-wrap tbody tr,.impact-entry-stack~.data-panel tbody tr{transition:background .15s ease,box-shadow .15s ease}

@media(max-width:600px){.isv-disclosure>summary{align-items:flex-start;gap:.75rem}.isv-disclosure>summary b{font-size:.74rem}.isv-disclosure[open]>summary b::before{font-size:.74rem}.isv-disclosure-body{padding:.75rem}}

/* V5.4.1: zebrado aplicado na camada efetiva das células Bootstrap */
.data-panel .table tbody tr:nth-child(even)>*,.report-table-wrap .table tbody tr:nth-child(even)>*{background-color:#dcecf5!important;--bs-table-bg:#dcecf5}.data-panel .table tbody tr:nth-child(odd)>*,.report-table-wrap .table tbody tr:nth-child(odd)>*{background-color:#fff!important;--bs-table-bg:#fff}.data-panel .table tbody tr:hover>*,.data-panel .table tbody tr:focus-within>*,.report-table-wrap .table tbody tr:hover>*,.report-table-wrap .table tbody tr:focus-within>*{background-color:#b9ddef!important;--bs-table-bg:#b9ddef;border-bottom-color:#7db9d7!important;border-top-color:#7db9d7!important}.data-panel .table tbody tr:hover>*:first-child,.data-panel .table tbody tr:focus-within>*:first-child,.report-table-wrap .table tbody tr:hover>*:first-child,.report-table-wrap .table tbody tr:focus-within>*:first-child{box-shadow:inset 7px 0 0 #0073c3}.data-panel .table tbody tr:hover .btn,.data-panel .table tbody tr:focus-within .btn,.report-table-wrap .table tbody tr:hover .btn,.report-table-wrap .table tbody tr:focus-within .btn{background-color:#fff;box-shadow:0 2px 7px rgba(0,74,115,.18)}

.table-actions {
    white-space: normal;
}

.user-table .btn,
.user-table .form-control,
.user-table .form-select {
    max-width: 100%;
    white-space: normal;
}

.user-table .btn {
    line-height: 1.25;
}

.user-profile-cell,
.user-sessions-cell,
.user-recovery-cell {
    min-width: 0;
}

@media (max-width: 1180px) {
    .user-grid-table {
        table-layout: auto;
    }

    .user-grid-table th,
    .user-grid-table td {
        min-width: 130px;
    }

    .user-grid-table .user-profile-cell,
    .user-grid-table .user-recovery-cell {
        min-width: 190px;
    }

    .permissions-table {
        table-layout: auto;
    }

    .permissions-table th,
    .permissions-table td {
        min-width: 150px;
    }
}

.user-table .form-label.small {
    font-weight: 700;
    margin-bottom: .3rem;
}

.root-lock {
    color: var(--isv-muted);
    font-size: .875rem;
}

.user-status-stack {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: .35rem;
    justify-content: center;
    min-width: 0;
    text-align: center;
    width: 100%;
}

.user-status-stack .status-pill {
    align-self: center;
    margin: 0 auto;
    text-align: center;
}

.user-status-row {
    align-items: center;
    display: flex;
    gap: .5rem;
    white-space: nowrap;
}

.user-status-label {
    color: #506c80;
    display: inline-block;
    font-size: .66rem;
    font-weight: 850;
    min-width: 52px;
    text-transform: uppercase;
}

.access-ativo {
    background: #e9f7ef;
    color: #176236;
}

.access-revogado_recuperacao_pendente {
    background: #fff3d5;
    color: #8a5a00;
}

.user-row-actions {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    gap: .45rem;
    justify-content: flex-end;
}

.user-row-actions .btn {
    align-items: center;
    border-radius: 6px;
    display: inline-flex;
    font-size: .95rem;
    font-weight: 700;
    height: 34px;
    justify-content: center;
    padding: 0;
    transition: all .15s ease-in-out;
    width: 34px;
    background: #fff;
}

.user-row-actions .btn-outline-primary {
    border-color: #0d6efd;
    color: #0d6efd;
}
.user-row-actions .btn-outline-primary:hover,
.user-row-actions .btn-outline-primary:focus {
    background-color: #0d6efd !important;
    border-color: #0d6efd !important;
    color: #ffffff !important;
    box-shadow: 0 2px 8px rgba(13,110,253,.35);
}

.user-row-actions .btn-outline-secondary {
    border-color: #5c636a;
    color: #495057;
}
.user-row-actions .btn-outline-secondary:hover,
.user-row-actions .btn-outline-secondary:focus {
    background-color: #495057 !important;
    border-color: #495057 !important;
    color: #ffffff !important;
    box-shadow: 0 2px 8px rgba(73,80,87,.35);
}

.user-row-actions .btn-outline-warning {
    border-color: #d97706;
    color: #b45309;
}
.user-row-actions .btn-outline-warning:hover,
.user-row-actions .btn-outline-warning:focus {
    background-color: #d97706 !important;
    border-color: #d97706 !important;
    color: #ffffff !important;
    box-shadow: 0 2px 8px rgba(217,119,6,.35);
}

.user-row-actions .btn-outline-danger {
    border-color: #dc3545;
    color: #dc3545;
}
.user-row-actions .btn-outline-danger:hover,
.user-row-actions .btn-outline-danger:focus {
    background-color: #dc3545 !important;
    border-color: #dc3545 !important;
    color: #ffffff !important;
    box-shadow: 0 2px 8px rgba(220,53,69,.35);
}

.user-admin-edit-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1.45fr) minmax(240px, .75fr);
}

.user-context-list {
    display: grid;
    gap: .55rem;
    margin: 0;
}

.user-context-list div {
    background: #fff;
    border: 1px solid #dbe5ef;
    border-radius: 8px;
    padding: .65rem .75rem;
}

.user-context-list dt {
    color: #506c80;
    font-size: .7rem;
    font-weight: 800;
    text-transform: uppercase;
}

.user-context-list dd {
    color: var(--isv-primary-dark);
    font-weight: 750;
    margin: .15rem 0 0;
    overflow-wrap: anywhere;
}

.user-security-panel {
    background: #fffdf5;
}

.user-security-state {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: .85rem;
}

.user-revoke-zone {
    background: #fff7e0;
    border: 1px solid #efcc69;
    border-left: 5px solid #c88700;
    border-radius: 8px;
    padding: .9rem 1rem;
}

.user-revoke-zone strong,
.admin-revoke-access summary {
    color: #765000;
    font-weight: 850;
}

.user-revoke-zone p,
.admin-revoke-access p {
    color: #6b5a27;
    font-size: .82rem;
    margin: .35rem 0 .75rem;
}

.admin-access-state {
    background: #f8fafc;
    border: 1px solid #dbe5ef;
    border-radius: 8px;
    padding: .55rem .65rem;
}

.admin-access-state strong,
.admin-access-state span {
    display: block;
}

.admin-access-state strong {
    color: #506c80;
    font-size: .7rem;
    text-transform: uppercase;
}

.admin-access-state span {
    color: var(--isv-primary-dark);
    font-size: .86rem;
    font-weight: 750;
}

.admin-revoke-access {
    background: #fff7e0;
    border: 1px solid #efcc69;
    border-radius: 8px;
    padding: .6rem .7rem;
}

.admin-revoke-access summary {
    cursor: pointer;
}

@media (max-width: 850px) {
    .user-admin-edit-grid,
    .user-security-state {
        grid-template-columns: 1fr;
    }
}

.session-count {
    align-items: baseline;
    background: #f8fafc;
    border: 1px solid #dbe5ef;
    border-radius: 8px;
    display: inline-flex;
    gap: .35rem;
    padding: .32rem .55rem;
}

.session-count strong {
    color: var(--isv-primary-dark);
    font-size: 1rem;
}

.session-count span {
    color: var(--isv-muted);
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
}

.organization-form .form-label {
    color: var(--isv-ink);
    font-weight: 800;
}

.organization-form .form-control,
.organization-form .form-select {
    border-color: #cbd8e6;
    font-weight: 650;
}

.color-picker-line {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #dbe5ef;
    border-radius: 8px;
    display: flex;
    gap: .65rem;
    padding: .45rem .55rem;
}

.color-picker-line .form-control-color {
    border: 0;
    flex: 0 0 44px;
    height: 38px;
    padding: 0;
    width: 44px;
}

.color-picker-line span {
    color: var(--isv-muted);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: .85rem;
    font-weight: 700;
    text-transform: uppercase;
}

.current-logo-box {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #dbe5ef;
    border-radius: 8px;
    display: flex;
    gap: .85rem;
    padding: .75rem;
}

.current-logo-box img {
    background: #fff;
    border: 1px solid #dbe5ef;
    border-radius: 8px;
    height: 72px;
    object-fit: contain;
    padding: .35rem;
    width: 72px;
}

.current-logo-box strong {
    display: block;
    font-size: .95rem;
}

.current-logo-box span {
    color: var(--isv-muted);
    display: block;
    font-size: .875rem;
}
.isv-message-modal[hidden]{display:none!important}.isv-message-modal{align-items:center;display:flex;inset:0;justify-content:center;padding:1.25rem;position:fixed;z-index:3000}.isv-message-backdrop{background:rgba(3,31,51,.78);inset:0;position:absolute}.isv-message-dialog{background:#fff;border:1px solid #bdd2e0;border-radius:18px;box-shadow:0 28px 80px rgba(0,35,58,.32);max-height:calc(100vh - 2.5rem);max-width:620px;overflow:auto;position:relative;width:100%;z-index:1}.isv-message-header{align-items:center;background:linear-gradient(135deg,#075a89,#087fc2);color:#fff;display:flex;gap:1rem;padding:1.35rem 1.5rem}.isv-message-symbol{align-items:center;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.42);border-radius:50%;display:flex;flex:0 0 46px;font-size:1.45rem;font-weight:900;height:46px;justify-content:center}.isv-message-eyebrow{display:block;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.isv-message-header h2{font-size:1.35rem;font-weight:800;margin:.2rem 0 0}.isv-message-list{display:grid;gap:.75rem;padding:1.35rem 1.5rem .5rem}.isv-message-item{background:#f2f7fb;border-left:5px solid #087fc2;border-radius:8px;color:#173e59;margin:0;padding:.85rem 1rem}.isv-message-item.is-success{background:#edf9f2;border-color:#1d9b59}.isv-message-item.is-warning{background:#fff8df;border-color:#e0a400}.isv-message-item.is-danger{background:#fff0f1;border-color:#c92f3b}.isv-message-actions{display:flex;justify-content:flex-end;padding:1rem 1.5rem 1.4rem}.isv-message-actions .btn{font-weight:800;min-width:120px}.isv-message-modal[data-tone="success"] .isv-message-header{background:linear-gradient(135deg,#12663e,#1c9a5a)}.isv-message-modal[data-tone="warning"] .isv-message-header{background:linear-gradient(135deg,#9b6700,#d99b00)}.isv-message-modal[data-tone="danger"] .isv-message-header{background:linear-gradient(135deg,#8b1f29,#c52c39)}.isv-message-open{overflow:hidden}.isv-global-messages-ready [data-global-flash],.isv-global-messages-ready .auth-card .alert-danger,.isv-global-messages-ready .auth-card .alert-success,.isv-global-messages-ready .auth-card .alert-warning{display:none!important}@media(max-width:575px){.isv-message-modal{padding:.75rem}.isv-message-header{padding:1.1rem}.isv-message-list{padding:1.1rem .95rem .35rem}.isv-message-actions{padding:.85rem .95rem 1rem}.isv-message-actions .btn{width:100%}}@media(prefers-reduced-motion:no-preference){.isv-message-dialog{animation:isv-message-enter .18s ease-out}}@keyframes isv-message-enter{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.record-actions{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.4rem}.record-actions [data-record-delete-toggle].active{background:#b42331;border-color:#b42331;color:#fff}.record-delete-row[hidden]{display:none!important}.record-delete-row>td{background:#fff5f5!important;border-left:5px solid #c92f3b!important;padding:1rem 1.15rem!important}.record-delete-row form{align-items:end;display:grid;gap:1rem;grid-template-columns:minmax(210px,1fr) minmax(180px,.7fr) minmax(280px,1.4fr) auto}.record-delete-row form strong{color:#96242e;display:block}.record-delete-row form p{color:#6d5960;font-size:.78rem;margin:.2rem 0 0}.record-delete-row form label span{display:block;font-size:.72rem;font-weight:800;margin-bottom:.35rem}.record-delete-row form textarea{min-height:58px;resize:vertical}.record-delete-row form .btn{white-space:nowrap}@media(max-width:1050px){.record-delete-row form{grid-template-columns:1fr 1fr}.record-delete-row form>div,.record-delete-row form .record-delete-reason{grid-column:1/-1}}@media(max-width:650px){.record-delete-row form{grid-template-columns:1fr}.record-delete-row form>div,.record-delete-row form .record-delete-reason{grid-column:auto}.record-delete-row form .btn{width:100%}}
.data-panel .table .record-delete-row .btn-danger,.data-panel .table .record-delete-row:hover .btn-danger,.data-panel .table .record-delete-row:focus-within .btn-danger{background-color:#b42331!important;border-color:#b42331!important;color:#fff!important;box-shadow:0 4px 10px rgba(180,35,49,.22)}.data-panel .table .record-delete-row .btn-danger:hover,.data-panel .table .record-delete-row .btn-danger:focus-visible{background-color:#8f1c27!important;border-color:#8f1c27!important;color:#fff!important;box-shadow:0 0 0 3px rgba(180,35,49,.22),0 4px 10px rgba(180,35,49,.24)}
.record-delete-row form.organization-delete-form{grid-template-columns:minmax(230px,1fr) minmax(220px,1fr) minmax(180px,.8fr) minmax(280px,1.35fr) auto}.record-delete-row form.organization-delete-form>div{min-width:0}.record-delete-row form.organization-delete-form strong,.record-delete-row form.organization-delete-form p{overflow-wrap:normal;word-break:normal}@media(max-width:1280px){.record-delete-row form.organization-delete-form{grid-template-columns:1fr 1fr}.record-delete-row form.organization-delete-form>div,.record-delete-row form.organization-delete-form .record-delete-reason{grid-column:1/-1}}@media(max-width:650px){.record-delete-row form.organization-delete-form{grid-template-columns:1fr}.record-delete-row form.organization-delete-form>div,.record-delete-row form.organization-delete-form .record-delete-reason{grid-column:auto}.record-delete-row form.organization-delete-form .btn{width:100%}}
.organization-row-actions{align-items:center;display:flex;gap:.4rem;justify-content:center;white-space:nowrap}.organization-delete-guidance{color:#744b00;font-size:.72rem;font-weight:700;line-height:1.25;margin-left:.35rem;white-space:nowrap}.organization-table .organization-row-actions .btn-primary,.organization-table tbody tr:hover .organization-row-actions .btn-primary,.organization-table tbody tr:focus-within .organization-row-actions .btn-primary{background-color:#0073c3!important;border-color:#0073c3!important;color:#fff!important;box-shadow:none}.organization-table .organization-row-actions .btn-outline-primary,.organization-table tbody tr:hover .organization-row-actions .btn-outline-primary,.organization-table tbody tr:focus-within .organization-row-actions .btn-outline-primary{background-color:#fff!important;border-color:#0d6efd!important;color:#0d6efd!important;box-shadow:none}.organization-table .organization-row-actions .btn-danger,.organization-table tbody tr:hover .organization-row-actions .btn-danger,.organization-table tbody tr:focus-within .organization-row-actions .btn-danger{background-color:#b42331!important;border-color:#b42331!important;color:#fff!important;box-shadow:none}.organization-table .organization-row-actions .btn-danger:disabled{cursor:not-allowed;opacity:.48}.organization-table .organization-row-actions .btn:focus-visible{box-shadow:0 0 0 3px rgba(0,115,195,.24)!important}@media(max-width:900px){.organization-row-actions{align-items:center;flex-wrap:wrap;white-space:normal}.organization-delete-guidance{margin-left:0;white-space:normal}}@media(max-width:650px){.organization-row-actions{align-items:stretch;flex-direction:column}.organization-row-actions .btn{width:100%}}
.organization-user-invite{background:#fff;border:1px solid #bdd4e2;border-left:5px solid #0073c3;border-radius:12px;display:grid;gap:1rem;grid-template-columns:minmax(230px,.8fr) minmax(600px,2fr);padding:1rem}.organization-user-invite h2,.pending-user-invites h2{color:#073d60;font-size:1.05rem;font-weight:800;margin:.2rem 0}.organization-user-invite p{color:#506c80;font-size:.8rem;margin:0}.organization-user-invite form{align-items:end;display:grid;gap:.7rem;grid-template-columns:1fr 1.25fr 1fr auto}.organization-user-invite label span{display:block;font-size:.72rem;font-weight:800;margin-bottom:.3rem}.organization-user-invite .btn{white-space:nowrap}.organization-user-rule{color:#744b00;grid-column:1/-1}.pending-user-invites{background:#f8fbfd;border:1px solid #c9dce7;border-radius:12px;overflow:hidden}.pending-user-invites-title{align-items:center;display:flex;justify-content:space-between;padding:.7rem 1rem}.pending-user-invites-title span{align-items:center;background:#fff0c7;border-radius:999px;color:#805800;display:flex;font-size:.75rem;font-weight:800;height:26px;justify-content:center;width:26px}.pending-user-invites article{align-items:center;border-top:1px solid #d9e6ed;display:grid;gap:1rem;grid-template-columns:1.5fr 1fr auto;padding:.7rem 1rem}.pending-user-invites article>div>strong,.pending-user-invites article>div>small{display:block}.pending-user-invites article small{color:#60798b}.pending-user-invites article div:nth-child(2) small{color:#9a6800;font-weight:800}.pending-invite-actions{display:flex;gap:.4rem}.pending-invite-actions form{margin:0}.primary-manager-label{color:#0b6b4c;display:block;font-size:.7rem;font-weight:800;margin-top:.2rem}@media(max-width:1100px){.organization-user-invite{grid-template-columns:1fr}.organization-user-invite form{grid-template-columns:1fr 1fr}.organization-user-invite form .btn{width:100%}}@media(max-width:700px){.organization-user-invite form,.pending-user-invites article{grid-template-columns:1fr}.pending-invite-actions{align-items:stretch}.pending-invite-actions form,.pending-invite-actions .btn{width:100%}}
.adhesion-modal[hidden]{display:none!important}.adhesion-modal{align-items:center;display:flex;inset:0;justify-content:center;padding:1.25rem;position:fixed;z-index:3100}.adhesion-modal-backdrop{background:rgba(3,31,51,.82);inset:0;position:absolute}.adhesion-modal-dialog{background:#fff;border-radius:18px;box-shadow:0 28px 80px rgba(0,35,58,.38);display:flex;flex-direction:column;max-height:calc(100vh - 2.5rem);max-width:820px;overflow:hidden;position:relative;width:100%;z-index:1}.adhesion-modal-dialog>header{background:linear-gradient(135deg,#064a73,#087fc2);color:#fff;padding:1.35rem 1.6rem}.adhesion-modal-dialog>header span{font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.adhesion-modal-dialog>header h2{font-size:1.45rem;font-weight:800;margin:.25rem 0}.adhesion-modal-dialog>header small{color:rgba(255,255,255,.78)}.adhesion-modal-content{display:grid;gap:1rem;overflow-y:auto;padding:1.35rem 1.6rem}.adhesion-modal-content article{border-left:4px solid #0785c9;padding-left:1rem}.adhesion-modal-content h3{color:#064a73;font-size:1rem;font-weight:800;margin:0 0 .35rem}.adhesion-modal-content p{color:#294b62;line-height:1.55;margin:0}.adhesion-modal-dialog>footer{align-items:center;background:#f5f8fb;border-top:1px solid #dbe5ec;display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.6rem}.adhesion-modal-dialog>footer form{margin:0}.adhesion-modal-open{overflow:hidden}.status-adesao_recusada{background:#fbe8ea;color:#a52632}@media(max-width:575px){.adhesion-modal{padding:.6rem}.adhesion-modal-dialog>footer{align-items:stretch;flex-direction:column-reverse}.adhesion-modal-dialog>footer .btn{width:100%}}
.public-request-list>article+article{border-top:1px solid #dce7ee}.public-request-summary{align-items:center;display:grid;gap:1rem;grid-template-columns:minmax(260px,1.3fr) minmax(220px,1fr) 160px auto;padding:1rem 1.2rem}.public-request-summary>div>span,.public-request-summary>div>strong,.public-request-summary>div>small{display:block}.public-request-summary>div:first-child>span{color:#0073c3;font-size:.7rem;font-weight:900;text-transform:uppercase}.public-request-summary small{color:#647b8b;margin-top:.25rem}.public-request-detail{display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin-bottom:1rem}.public-request-detail p{background:#fff;border:1px solid #dce6ec;border-radius:8px;margin:0;padding:.8rem}.public-request-detail strong{color:#17425e;display:block;font-size:.72rem;margin-bottom:.35rem;text-transform:uppercase}.status-em_analise{background:#e6f3fb;color:#075c8d}.status-aprovada,.status-convertida{background:#e6f7ee;color:#147447}.status-recusada{background:#fbe8ea;color:#a52632}@media(max-width:900px){.public-request-summary{grid-template-columns:1fr 1fr}.public-request-detail{grid-template-columns:1fr}}@media(max-width:600px){.public-request-summary{grid-template-columns:1fr}.public-request-summary .btn{width:100%}}

/* Estados da fila institucional de apoio. */
.status-nova{background:#fff1c9;color:#8a5b00}.status-contato_iniciado{background:#e6f3fb;color:#075c8d}.status-qualificada,.status-concluida{background:#e6f7ee;color:#147447}.status-encerrada{background:#edf1f4;color:#526675}

/* V6.8.3: separação confortável entre o ícone e o texto do retorno público. */
.isv-public-return{align-items:center;display:inline-flex;gap:.38rem}

/* V6.8.4: autenticação integrada, sem faixa superior isolada. */
.auth-layout{background:linear-gradient(145deg,#e8f1f8 0%,#f5f7fb 48%,#eef0f8 100%)}
.auth-layout .public-frame{flex:1}
.auth-layout .page-shell{max-width:none;padding:0!important;width:100%}
.auth-layout .isv-footer{background:transparent;border:0;color:#5a6d7e;padding:.7rem 0 1.1rem}
.auth-page{min-height:calc(100svh - 68px);padding:2rem 1rem}
.auth-card{max-width:500px}
.auth-login-card{border:1px solid #d9e2eb!important;border-radius:20px;box-shadow:0 22px 55px rgba(22,49,84,.13);overflow:hidden}
.auth-login-card .card-body{padding:2rem 2rem 1.5rem}
.auth-login-heading{text-align:center}
.auth-login-heading img{height:auto;margin-bottom:1.25rem;max-width:180px;width:52%}
.auth-login-heading h1{color:#142849;font-size:1.72rem;font-weight:850;letter-spacing:-.025em;margin:0}
.auth-login-heading p{color:#53687a;font-size:1rem;margin:.35rem 0 1.45rem}
.auth-login-form .form-label{color:#172a49;font-size:.92rem;font-weight:750;margin-bottom:.45rem}
.auth-login-form .form-control{border:1px solid #afbdc9;border-radius:13px;color:#102f45;min-height:52px;padding:.75rem .9rem}
.auth-login-form .form-control:focus{border-color:var(--isv-primary);box-shadow:0 0 0 .22rem rgba(0,118,189,.16)}
.auth-login-form .form-control::placeholder{color:#778896;opacity:1}
.auth-password-label{align-items:center;display:flex;justify-content:space-between}
.auth-password-label a{color:#263a59;font-size:.88rem;text-decoration:none}
.auth-password-label a:hover,.auth-password-label a:focus{color:var(--isv-primary);text-decoration:underline}
.auth-password-field{position:relative}
.auth-password-field .form-control{padding-right:3.2rem}
.auth-password-field button{align-items:center;background:transparent;border:0;color:#4c6173;display:flex;height:100%;justify-content:center;position:absolute;right:.35rem;top:0;width:2.7rem}
.auth-password-field button:hover,.auth-password-field button:focus{color:var(--isv-primary);outline:0}
.auth-login-submit{background:#142849;border-color:#142849;border-radius:13px;font-weight:800;min-height:52px;width:100%}
.auth-login-submit:hover,.auth-login-submit:focus{background:#083e61;border-color:#083e61}
.auth-divider{align-items:center;color:#697b89;display:flex;gap:.8rem;margin:1.05rem 0}
.auth-divider::before,.auth-divider::after{background:#d1d9df;content:"";flex:1;height:1px}
.auth-divider span{font-size:.78rem}
.auth-create-account{border-color:#b7c1ca;border-radius:13px;color:#203451;font-weight:700;min-height:48px;padding:.72rem;width:100%}
.auth-legal{color:#53687a;font-size:.88rem;line-height:1.5;margin:1.45rem auto 0;max-width:460px;text-align:center}
.auth-legal a{color:#203451;font-weight:650}
@media(max-width:575px){.auth-page{padding:.75rem}.auth-login-card .card-body{padding:1.45rem 1.2rem}.auth-login-heading img{max-width:150px}.auth-login-heading h1{font-size:1.5rem}.auth-layout .isv-footer{display:none}.auth-legal{font-size:.82rem;margin-top:1rem}}

/* ===============================================================
   PADRONIZAÇÃO UNIVERSAL DE BOTÕES OUTLINE E ESTADOS
   =============================================================== */
.btn-outline-primary {
    background-color: transparent;
    border-color: var(--isv-primary);
    color: var(--isv-primary);
}
.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active,
.btn-outline-primary.active {
    background-color: var(--isv-primary) !important;
    border-color: var(--isv-primary) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(0, 118, 189, 0.25) !important;
}

.btn-outline-secondary {
    background-color: transparent;
    border-color: #64748b;
    color: #334155;
}
.btn-outline-secondary:hover,
.btn-outline-secondary:focus,
.btn-outline-secondary:active,
.btn-outline-secondary.active {
    background-color: #475569 !important;
    border-color: #475569 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(71, 85, 105, 0.25) !important;
}

.btn-outline-info {
    background-color: transparent;
    border-color: var(--isv-info);
    color: var(--isv-info);
}
.btn-outline-info:hover,
.btn-outline-info:focus,
.btn-outline-info:active,
.btn-outline-info.active {
    background-color: var(--isv-info) !important;
    border-color: var(--isv-info) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(2, 132, 199, 0.25) !important;
}

.btn-outline-success {
    background-color: transparent;
    border-color: var(--isv-success);
    color: var(--isv-success);
}
.btn-outline-success:hover,
.btn-outline-success:focus,
.btn-outline-success:active,
.btn-outline-success.active {
    background-color: var(--isv-success) !important;
    border-color: var(--isv-success) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(22, 163, 74, 0.25) !important;
}

.btn-outline-danger {
    background-color: transparent;
    border-color: var(--isv-danger);
    color: var(--isv-danger);
}
.btn-outline-danger:hover,
.btn-outline-danger:focus,
.btn-outline-danger:active,
.btn-outline-danger.active {
    background-color: var(--isv-danger) !important;
    border-color: var(--isv-danger) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(220, 38, 38, 0.25) !important;
}

.btn-outline-warning {
    background-color: transparent;
    border-color: var(--isv-warning);
    color: var(--isv-warning-text);
}
.btn-outline-warning:hover,
.btn-outline-warning:focus,
.btn-outline-warning:active,
.btn-outline-warning.active {
    background-color: var(--isv-warning) !important;
    border-color: var(--isv-warning) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(217, 119, 6, 0.25) !important;
}

/* ===============================================================
   PADRONIZAÇÃO DE MODAIS ADMINISTRATIVOS (HEADER, BODY, FOOTER)
   =============================================================== */
.modal-content {
    border-radius: var(--isv-radius-lg);
    border: 1px solid var(--isv-border);
    box-shadow: var(--isv-shadow-lg);
    overflow: hidden;
    background-color: var(--isv-bg-modal);
}

.modal-header {
    background: linear-gradient(135deg, var(--isv-primary-dark) 0%, var(--isv-primary) 100%);
    color: #ffffff;
    padding: 1.15rem 1.4rem;
    border-bottom: 0;
    align-items: center;
}

.modal-header .modal-title {
    font-weight: 800;
    font-size: 1.25rem;
    display: flex;
    align-items: center;
    gap: .5rem;
    color: #ffffff;
}

.modal-header .btn-close {
    filter: brightness(0) invert(1);
    opacity: .85;
}

.modal-header .btn-close:hover {
    opacity: 1;
}

.modal-body {
    max-height: calc(85vh - 135px);
    overflow-y: auto;
    padding: 1.35rem 1.4rem;
    background-color: var(--isv-bg-surface);
}

.modal-footer {
    position: sticky;
    bottom: 0;
    background: var(--isv-bg-surface);
    border-top: 1px solid var(--isv-border);
    padding: .9rem 1.4rem;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .65rem;
}

/* ===============================================================
   PADRONIZAÇÃO DE FEEDBACK E ALERTAS
   =============================================================== */
.alert {
    border-radius: var(--isv-radius-md);
    border: 1px solid transparent;
    border-left: 4.5px solid currentColor;
    padding: .9rem 1.15rem;
    font-size: .92rem;
    font-weight: 550;
    box-shadow: var(--isv-shadow-xs);
    margin-bottom: 1.25rem;
}

.alert-success {
    background-color: var(--isv-success-bg) !important;
    border-color: var(--isv-success-border) !important;
    color: var(--isv-success-text) !important;
    border-left-color: var(--isv-success) !important;
}

.alert-danger {
    background-color: var(--isv-danger-bg) !important;
    border-color: var(--isv-danger-border) !important;
    color: var(--isv-danger-text) !important;
    border-left-color: var(--isv-danger) !important;
}

.alert-warning {
    background-color: var(--isv-warning-bg) !important;
    border-color: var(--isv-warning-border) !important;
    color: var(--isv-warning-text) !important;
    border-left-color: var(--isv-warning) !important;
}

.alert-info {
    background-color: var(--isv-info-bg) !important;
    border-color: var(--isv-info-border) !important;
    color: var(--isv-info-text) !important;
    border-left-color: var(--isv-info) !important;
}

/* ===============================================================
   PADRONIZAÇÃO DE FORMULÁRIOS E CONTROLES
   =============================================================== */
.form-label {
    color: var(--isv-text-primary);
    font-size: .86rem;
    font-weight: 700;
    margin-bottom: .35rem;
    display: inline-block;
}

.form-control,
.form-select {
    min-height: var(--isv-control-height);
    border: 1px solid var(--isv-border-dark);
    border-radius: var(--isv-radius-md);
    padding: .55rem .85rem;
    font-size: .92rem;
    color: var(--isv-text-primary);
    background-color: #ffffff;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--isv-border-focus);
    box-shadow: var(--isv-focus-ring);
    outline: 0;
}

.form-control::placeholder {
    color: var(--isv-text-muted);
    opacity: .85;
}

.form-control:disabled,
.form-select:disabled,
.form-control[readonly] {
    background-color: #f1f5f9;
    border-color: var(--isv-border);
    color: var(--isv-text-muted);
    cursor: not-allowed;
}

.form-check-input:focus {
    border-color: var(--isv-border-focus);
    box-shadow: var(--isv-focus-ring);
}

.form-check-input:checked {
    background-color: var(--isv-primary);
    border-color: var(--isv-primary);
}

.required-mark,
.form-label.required::after,
.form-label:has(+ input:required)::after,
.form-label:has(+ select:required)::after {
    content: " *";
    color: var(--isv-danger);
    font-weight: 800;
}

/* ===============================================================
   CONTROLE GLOBAL DE ACESSIBILIDADE VISUAL (WCAG 2.1 AA)
   =============================================================== */

/* Modo Confortável (Redução de superfícies de branco intenso) */
html[data-a11y-theme="comfortable"] body {
    background-color: #f1f5f9 !important;
    color: #1e293b !important;
}
html[data-a11y-theme="comfortable"] .card,
html[data-a11y-theme="comfortable"] .data-panel,
html[data-a11y-theme="comfortable"] .isv-disclosure {
    background-color: #f8fafc !important;
    border-color: #cbd5e1 !important;
}
html[data-a11y-theme="comfortable"] .isv-disclosure > summary {
    background: #e2e8f0 !important;
    color: #0f172a !important;
}
html[data-a11y-theme="comfortable"] .form-control,
html[data-a11y-theme="comfortable"] .form-select {
    background-color: #ffffff !important;
    border-color: #94a3b8 !important;
    color: #0f172a !important;
}

/* Modo Alto Contraste */
html[data-a11y-theme="high-contrast"] body {
    background-color: #0f172a !important;
    color: #ffffff !important;
}
html[data-a11y-theme="high-contrast"] .card,
html[data-a11y-theme="high-contrast"] .data-panel,
html[data-a11y-theme="high-contrast"] .isv-disclosure,
html[data-a11y-theme="high-contrast"] .modal-content,
html[data-a11y-theme="high-contrast"] .admin-sidebar {
    background-color: #1e293b !important;
    border: 2px solid #38bdf8 !important;
    color: #ffffff !important;
}
html[data-a11y-theme="high-contrast"] .isv-disclosure > summary {
    background: #334155 !important;
    color: #ffffff !important;
    border-bottom: 2px solid #38bdf8 !important;
}
html[data-a11y-theme="high-contrast"] label,
html[data-a11y-theme="high-contrast"] h1,
html[data-a11y-theme="high-contrast"] h2,
html[data-a11y-theme="high-contrast"] h3,
html[data-a11y-theme="high-contrast"] strong,
html[data-a11y-theme="high-contrast"] span:not(.badge),
html[data-a11y-theme="high-contrast"] p,
html[data-a11y-theme="high-contrast"] td,
html[data-a11y-theme="high-contrast"] th {
    color: #ffffff !important;
}
html[data-a11y-theme="high-contrast"] small,
html[data-a11y-theme="high-contrast"] .text-muted {
    color: #cbd5e1 !important;
}
html[data-a11y-theme="high-contrast"] .form-control,
html[data-a11y-theme="high-contrast"] .form-select {
    background-color: #0f172a !important;
    color: #ffffff !important;
    border: 2px solid #94a3b8 !important;
}
html[data-a11y-theme="high-contrast"] .form-control:focus,
html[data-a11y-theme="high-contrast"] .form-select:focus,
html[data-a11y-theme="high-contrast"] .btn:focus-visible,
html[data-a11y-theme="high-contrast"] summary:focus-visible {
    outline: 3px solid #38bdf8 !important;
    outline-offset: 2px !important;
}

/* Indicador de foco global acessível */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
summary:focus-visible,
.btn:focus-visible {
    outline: 3px solid var(--isv-border-focus) !important;
    outline-offset: 2px !important;
}

/* Coluna de Ações - espaçamento ampliado e botões confortáveis */
.record-actions {
    display: inline-flex;
    gap: 0.5rem !important;
    align-items: center;
}

.record-actions .btn {
    font-size: 1rem;
    min-height: 34px;
    padding: 0.35rem 0.65rem;
    line-height: 1.1;
    border-radius: var(--isv-radius-sm);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.record-actions .btn:hover {
    transform: translateY(-1px);
}

/* Coluna de Ações em Formato de Grade 2x2 */
.record-actions-2x2 {
    display: inline-grid;
    grid-template-columns: repeat(2, 34px);
    gap: 0.35rem;
    align-items: center;
    justify-content: center;
}

.record-actions-2x2 .btn {
    width: 34px;
    height: 34px;
    min-height: 34px;
    padding: 0;
    font-size: 0.95rem;
    line-height: 1;
    border-radius: var(--isv-radius-sm);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.record-actions-2x2 .btn:hover {
    transform: translateY(-1px);
}

.record-actions-2x2 form {
    margin: 0;
    display: inline-flex;
}

/* ===============================================================
   V6.8.5 - Revisao cirurgica UX/UI administrativa
   =============================================================== */
:root {
    --isv-muted: var(--isv-text-muted);
    --isv-control-padding-x: .9rem;
    --isv-control-padding-y: .52rem;
    --isv-surface-muted: #f8fafc;
    --isv-surface-raised: #ffffff;
    --isv-table-line: var(--isv-border);
    --isv-table-hover-strong: #e7f3fb;
    --isv-critical: var(--isv-danger);
    --isv-critical-hover: var(--isv-danger-hover);
}

body {
    background: var(--isv-bg-app);
}

.page-shell {
    min-width: 0;
}

.action-report-page{max-width:1180px;margin:0 auto}.action-report-toolbar{align-items:center;background:#075b86;color:#fff;display:flex;justify-content:space-between;gap:1.5rem;padding:1.5rem}.action-report-toolbar h1{font-size:1.7rem;margin:.2rem 0}.action-report-kicker{font-size:.72rem;font-weight:800;text-transform:uppercase}.action-report-document{background:#fff;border:1px solid #cbdce7;color:#18384d;padding:2rem}.action-report-identification{align-items:flex-start;border-bottom:3px solid #ffc100;display:flex;justify-content:space-between;gap:1rem;padding-bottom:1.25rem}.action-report-identification span:first-child{color:#537084;font-size:.7rem;font-weight:800}.action-report-identification h2{color:#063b5d;font-size:1.75rem;margin:.35rem 0}.action-report-identification p{margin:0}.action-report-metadata,.action-report-governance dl{display:grid;gap:1px;grid-template-columns:repeat(3,minmax(0,1fr));margin:1.5rem 0;background:#dce7ee}.action-report-metadata div,.action-report-governance dl div{background:#f7fafc;padding:.8rem}.action-report-metadata dt,.action-report-governance dt{color:#5c7484;font-size:.68rem;font-weight:800;text-transform:uppercase}.action-report-metadata dd,.action-report-governance dd{font-weight:700;margin:.2rem 0 0}.action-report-section{border-top:1px solid #dce7ee;margin-top:1.5rem;padding-top:1.5rem}.action-report-section h3{color:#075b86;font-size:1.08rem;font-weight:850;margin:0 0 1rem}.action-report-cards{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(165px,1fr))}.action-report-cards article{border:1px solid #c9dce8;border-left:4px solid #0785c9;padding:1rem}.action-report-cards span,.action-report-evidence-grid span{color:#60798a;display:block;font-size:.75rem;font-weight:700}.action-report-cards strong{color:#063b5d;display:block;font-size:1.4rem;margin-top:.35rem}.action-report-chart{display:grid;gap:.7rem}.action-report-chart>div{align-items:center;display:grid;gap:.75rem;grid-template-columns:minmax(110px,180px) minmax(120px,1fr) 50px}.action-report-chart i{background:#e5edf2;display:block;height:18px;overflow:hidden}.action-report-chart b{background:#0785c9;display:block;height:100%}.action-report-chart strong{text-align:right}.action-report-methodology{color:#60798a;font-size:.78rem}.action-report-fib{background:#edf8f2;border:1px solid #b8dec9;padding:1.2rem}.action-report-fib>strong{color:#11633c;font-size:1.25rem}.action-report-fib p{font-weight:750;margin:.45rem 0}.action-report-measurement{background:#f1f6f9;padding:1.2rem}.action-report-measurement p{margin:0}.action-report-evidence-grid{display:grid;gap:.65rem;grid-template-columns:repeat(auto-fit,minmax(175px,1fr))}.action-report-evidence-grid>div{border:1px solid #d5e2ea;padding:.8rem}.action-report-evidence-grid strong{color:#075b86;font-size:1.25rem}.action-report-governance h4{font-size:.95rem;margin:1.25rem 0 .75rem}@media(max-width:760px){.action-report-toolbar,.action-report-identification{align-items:stretch;flex-direction:column}.action-report-document{padding:1rem}.action-report-metadata,.action-report-governance dl{grid-template-columns:1fr}.action-report-chart>div{grid-template-columns:100px minmax(80px,1fr) 36px}}@media print{.admin-sidebar,.isv-topbar,.isv-footer,.action-report-toolbar{display:none!important}.app-frame{display:block}.page-shell{max-width:none;padding:0}.action-report-document{border:0;padding:0}.action-report-break-avoid{break-inside:avoid}.action-report-section{break-inside:auto}}
.action-report-metadata .action-report-ods-metadata{grid-column:1/-1}.action-report-ods-list{display:grid;gap:.45rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.action-report-ods-list span{background:#fff;border-left:3px solid #0785c9;padding:.55rem .7rem}.action-report-ods-list strong{color:#075b86}
.action-report-photo-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:1rem}.action-report-photo-grid figure{margin:0}.action-report-photo-grid img{aspect-ratio:4/3;background:#edf3f6;display:block;height:auto;max-height:260px;object-fit:contain;width:100%}.action-report-photo-grid figcaption{color:#405b6d;font-size:.78rem;line-height:1.45;padding:.55rem 0}

.admin-sidebar {
    background: linear-gradient(180deg, var(--isv-secondary-dark) 0%, var(--isv-primary-dark) 58%, var(--isv-primary-hover) 100%);
}

.admin-sidebar a,
.sidebar-group-toggle {
    min-height: 42px;
}

.sidebar-group.is-open {
    background: rgba(255, 255, 255, .08);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .10);
}

.admin-sidebar a:hover,
.sidebar-group-toggle:hover {
    background: rgba(255, 255, 255, .14);
}

.admin-sidebar a.active,
.admin-sidebar .sidebar-group-content a.active {
    background: var(--isv-accent);
    box-shadow: 0 8px 18px rgba(0, 0, 0, .16);
    color: var(--isv-accent-text);
}

.admin-sidebar a.active .sidebar-link-icon,
.admin-sidebar .sidebar-group-content a.active .sidebar-link-icon {
    color: var(--isv-accent-text);
}

.sidebar-group.is-open > .sidebar-group-toggle {
    color: var(--isv-text-inverse);
}

.admin-hero {
    background: linear-gradient(135deg, var(--isv-primary-dark), var(--isv-primary));
    border: 1px solid rgba(255, 255, 255, .12);
}

.admin-hero > div {
    min-width: 0;
}

.admin-hero .hero-action,
.admin-hero > .btn,
.admin-hero > a.btn {
    align-items: center;
    display: inline-flex;
    gap: .45rem;
    justify-content: center;
    min-height: var(--isv-control-height);
}

.btn {
    align-items: center;
    display: inline-flex;
    gap: .42rem;
    justify-content: center;
    min-height: var(--isv-control-height);
    padding: var(--isv-control-padding-y) var(--isv-control-padding-x);
}

.btn-sm {
    min-height: var(--isv-control-height-sm);
    padding: .38rem .65rem;
}

.btn-lg {
    min-height: var(--isv-control-height-lg);
}

.btn:disabled,
.btn.disabled,
fieldset:disabled .btn {
    box-shadow: none;
    cursor: not-allowed;
    opacity: .62;
}

.btn-outline-primary {
    --bs-btn-color: var(--isv-primary-dark);
    --bs-btn-border-color: var(--isv-primary);
    --bs-btn-hover-bg: var(--isv-primary);
    --bs-btn-hover-border-color: var(--isv-primary);
    --bs-btn-hover-color: #fff;
}

.btn-outline-secondary {
    --bs-btn-color: var(--isv-text-secondary);
    --bs-btn-border-color: var(--isv-border-dark);
    --bs-btn-hover-bg: var(--isv-secondary);
    --bs-btn-hover-border-color: var(--isv-secondary);
    --bs-btn-hover-color: #fff;
}

.btn-outline-danger {
    --bs-btn-color: var(--isv-danger);
    --bs-btn-border-color: var(--isv-danger);
    --bs-btn-hover-bg: var(--isv-danger);
    --bs-btn-hover-border-color: var(--isv-danger);
    --bs-btn-hover-color: #fff;
}

.data-panel,
.report-preview,
.isv-disclosure,
.user-tools-accordion,
.user-filter-panel,
.card {
    border-color: var(--isv-border);
}

.data-panel .table,
.report-table-wrap .table,
.table {
    color: var(--isv-text-primary);
    margin-bottom: 0;
    vertical-align: middle;
}

.data-panel .table thead th,
.report-table-wrap .table thead th,
.table thead th {
    background: var(--isv-bg-table-header);
    border-bottom: 1px solid var(--isv-border-dark);
    color: var(--isv-text-primary);
    font-size: .77rem;
    font-weight: 800;
    letter-spacing: .025em;
    text-transform: uppercase;
}

.data-panel .table tbody td,
.report-table-wrap .table tbody td,
.table tbody td {
    border-color: var(--isv-table-line);
    color: var(--isv-text-primary);
}

.data-panel .table tbody tr:hover > *,
.data-panel .table tbody tr:focus-within > *,
.report-table-wrap .table tbody tr:hover > *,
.report-table-wrap .table tbody tr:focus-within > * {
    background-color: var(--isv-table-hover-strong) !important;
    --bs-table-bg: var(--isv-table-hover-strong);
}

.data-panel .table tbody tr:hover .btn-primary,
.data-panel .table tbody tr:focus-within .btn-primary,
.report-table-wrap .table tbody tr:hover .btn-primary,
.report-table-wrap .table tbody tr:focus-within .btn-primary,
.table tbody tr:hover .btn-primary,
.table tbody tr:focus-within .btn-primary {
    background-color: var(--isv-primary);
    border-color: var(--isv-primary);
    color: #fff;
}

.data-panel .table tbody tr:hover .btn-success,
.data-panel .table tbody tr:focus-within .btn-success,
.table tbody tr:hover .btn-success,
.table tbody tr:focus-within .btn-success {
    background-color: var(--isv-success);
    border-color: var(--isv-success);
    color: #fff;
}

.data-panel .table tbody tr:hover .btn-danger,
.data-panel .table tbody tr:focus-within .btn-danger,
.table tbody tr:hover .btn-danger,
.table tbody tr:focus-within .btn-danger {
    background-color: var(--isv-danger);
    border-color: var(--isv-danger);
    color: #fff;
}

.data-panel .table tbody tr:hover .btn-warning,
.data-panel .table tbody tr:focus-within .btn-warning,
.table tbody tr:hover .btn-warning,
.table tbody tr:focus-within .btn-warning {
    background-color: var(--isv-warning);
    border-color: var(--isv-warning);
    color: #fff;
}

.data-panel .table tbody tr:hover .btn-outline-danger,
.data-panel .table tbody tr:focus-within .btn-outline-danger,
.table tbody tr:hover .btn-outline-danger,
.table tbody tr:focus-within .btn-outline-danger {
    background-color: #fff;
    border-color: var(--isv-danger);
    color: var(--isv-danger);
}

.data-panel .table tbody tr:hover .btn-outline-danger:hover,
.data-panel .table tbody tr:focus-within .btn-outline-danger:hover,
.table tbody tr:hover .btn-outline-danger:hover,
.table tbody tr:focus-within .btn-outline-danger:hover {
    background-color: var(--isv-danger);
    border-color: var(--isv-danger);
    color: #fff;
}

.form-label {
    color: var(--isv-text-secondary);
    font-weight: 750;
}

.form-control,
.form-select,
textarea.form-control {
    border-color: var(--isv-border-dark);
    color: var(--isv-text-primary);
    min-height: var(--isv-control-height);
}

.form-control:hover,
.form-select:hover {
    border-color: var(--isv-primary);
}

.form-text,
.text-muted,
small.text-muted {
    color: var(--isv-text-muted) !important;
}

.modal-content {
    background: var(--isv-bg-modal);
    border: 1px solid var(--isv-border);
    border-radius: var(--isv-radius-lg);
    box-shadow: var(--isv-shadow-lg);
    overflow: hidden;
}

.modal-header,
.modal-footer {
    flex: 0 0 auto;
}

.modal-body {
    overflow-y: auto;
}

.modal-dialog {
    max-height: calc(100vh - 2rem);
}

.modal-dialog .modal-content {
    max-height: calc(100vh - 2rem);
}

.badge,
.status-pill {
    align-items: center;
    display: inline-flex;
    gap: .3rem;
    line-height: 1.2;
    min-height: 1.55rem;
}

.empty-state,
.user-empty-state {
    background: var(--isv-surface-muted);
    border: 1px dashed var(--isv-border-dark);
    border-radius: var(--isv-radius-lg);
    color: var(--isv-text-muted);
    padding: 2rem 1rem;
}

.empty-state strong,
.user-empty-state strong {
    color: var(--isv-primary-dark);
}

.isv-disclosure > summary,
.user-tools-toggle {
    min-height: 54px;
}

.isv-disclosure > summary b,
.user-tools-toggle-label {
    min-height: var(--isv-control-height-sm);
}

.form-remove-beneficiary {
    position: relative;
}

.beneficiary-remove-toggle {
    height: 1px;
    left: 0;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    width: 1px;
}

.beneficiary-remove-modal {
    align-items: center;
    display: none;
    inset: 0;
    justify-content: center;
    padding: 1rem;
    position: fixed;
    z-index: 3050;
}

.beneficiary-remove-toggle:checked ~ .beneficiary-remove-modal {
    display: flex;
}

.beneficiary-remove-backdrop {
    background: rgba(15, 23, 42, .72);
    cursor: pointer;
    inset: 0;
    position: absolute;
}

.beneficiary-remove-dialog {
    background: var(--isv-bg-modal);
    border: 1px solid var(--isv-danger-border);
    border-radius: var(--isv-radius-lg);
    box-shadow: var(--isv-shadow-lg);
    max-height: calc(100vh - 2rem);
    max-width: 520px;
    overflow: hidden;
    position: relative;
    width: 100%;
    z-index: 1;
}

.beneficiary-remove-dialog header {
    align-items: center;
    background: linear-gradient(135deg, var(--isv-danger-text), var(--isv-danger));
    color: #fff;
    display: flex;
    gap: .65rem;
    padding: 1rem 1.25rem;
}

.beneficiary-remove-dialog h2 {
    font-size: 1.1rem;
    font-weight: 800;
    margin: 0;
}

.beneficiary-remove-dialog .modal-body {
    padding: 1.35rem;
}

.beneficiary-remove-dialog footer {
    background: var(--isv-surface-muted);
    border-top: 1px solid var(--isv-border);
    display: flex;
    gap: .75rem;
    justify-content: flex-end;
    padding: 1rem 1.25rem;
}

@media (max-width: 575px) {
    .btn,
    .btn-sm {
        white-space: normal;
    }

    .beneficiary-remove-dialog footer {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .beneficiary-remove-dialog footer .btn,
    .beneficiary-remove-dialog footer label.btn {
        width: 100%;
    }
}
