/* 
 * AE Planejamento Financeiro - Stylesheet
 * Core design system utilizing vanilla CSS.
 */

:root {
    /* Color Palette */
    --color-primary: #092e20;        /* Deep Forest Green */
    --color-primary-light: #124933;  /* Lighter Forest Green */
    --color-accent: #c49a45;         /* Warm Discrete Gold */
    --color-accent-light: #deb868;   /* Bright Gold */
    --color-dark: #121815;           /* Very Dark Slate/Black */
    --color-dark-card: #1c2420;      /* Dark slate for cards */
    --color-bg: #faf8f5;             /* Warm Off-White/Beige */
    --color-bg-card: #ffffff;        /* Pure white for cards */
    --color-text: #2f3e37;           /* Deep Charcoal with green undertone */
    --color-text-muted: #62726a;     /* Soft slate grey */
    --color-border: #e1e8e4;         /* Soft border color */
    
    /* System Colors */
    --color-success: #2e7d32;
    --color-success-bg: #e8f5e9;
    --color-error: #c62828;
    --color-error-bg: #ffebee;
    --color-warning: #ef6c00;
    --color-warning-bg: #fff3e0;
    
    /* Typography */
    --font-sans: 'Inter', system-ui, -apple-system, sans-serif;
    --font-heading: 'Outfit', sans-serif;
    
    /* Effects */
    --shadow-sm: 0 2px 4px rgba(9, 46, 32, 0.05);
    --shadow-md: 0 4px 12px rgba(9, 46, 32, 0.08);
    --shadow-lg: 0 12px 24px rgba(9, 46, 32, 0.12);
    --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    --border-radius: 8px;
}

/* ==========================================================================
   Base Styles
   ========================================================================== */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    font-size: 16px;
}

body {
    font-family: var(--font-sans);
    background-color: var(--color-bg);
    color: var(--color-text);
    line-height: 1.6;
    overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    color: var(--color-dark);
    font-weight: 700;
    line-height: 1.25;
}

p {
    margin-bottom: 1rem;
}

a {
    color: var(--color-primary-light);
    text-decoration: none;
    transition: var(--transition);
}

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

ul {
    list-style: none;
}

img {
    max-width: 100%;
    height: auto;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

/* ==========================================================================
   Header Component
   ========================================================================== */
.main-header {
    background-color: rgba(9, 46, 32, 0.98);
    position: sticky;
    top: 0;
    z-index: 1000;
    border-bottom: 2px solid var(--color-accent);
    backdrop-filter: blur(8px);
    box-shadow: var(--shadow-sm);
}

.header-container {
    max-width: 1400px; /* Expanded from 1200px for comfortable desktop breathing room */
    margin: 0 auto;
    padding: 16px 40px; /* Increased side padding for elegant spacing */
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px; /* Ensures logo and navigation never touch */
}

.logo {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #ffffff;
    font-family: var(--font-heading);
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: 0.5px;
    flex-shrink: 0;
}

.logo-badge {
    background-color: var(--color-accent);
    color: var(--color-primary);
    padding: 4px 8px;
    border-radius: 4px;
    font-weight: 900;
}

.logo-highlight {
    color: var(--color-accent);
}

.mobile-nav-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
    align-items: center;
    gap: 10px; /* Spacing between "Menu" text and hamburger icon */
    text-decoration: none;
}

.hamburger-box {
    display: block;
}

/* Make the "Menu" label visible on mobile in high contrast off-white */
.mobile-nav-toggle .sr-only {
    position: static !important;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: nowrap !important;
    display: inline-block !important;
    color: #f6f4f0 !important; /* Premium Off-White */
    font-family: var(--font-sans) !important;
    font-weight: 600 !important;
    font-size: 0.85rem !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    transition: var(--transition) !important;
}

.mobile-nav-toggle:hover .sr-only,
.mobile-nav-toggle:focus .sr-only {
    color: var(--color-accent) !important; /* Transitions to gold on hover */
}

.hamburger-line {
    display: block;
    width: 25px;
    height: 3px;
    background-color: #ffffff;
    margin: 5px 0;
    transition: var(--transition);
}

.nav-list {
    display: flex;
    align-items: center;
    gap: 24px;
}

.nav-list a {
    color: rgba(255, 255, 255, 0.85);
    font-weight: 500;
    font-size: 0.95rem;
}

.nav-list a:hover {
    color: var(--color-accent);
}

.nav-highlight {
    border: 1px solid var(--color-accent);
    padding: 6px 12px;
    border-radius: 4px;
    color: var(--color-accent) !important;
}

.nav-highlight:hover {
    background-color: var(--color-accent);
    color: var(--color-primary) !important;
}

.btn-nav-primary {
    background-color: var(--color-accent);
    color: var(--color-primary) !important;
    padding: 8px 18px;
    border-radius: var(--border-radius);
    font-weight: 600 !important;
}

.btn-nav-primary:hover {
    background-color: var(--color-accent-light);
    transform: translateY(-2px);
}

.btn-nav-secondary {
    border: 1px solid rgba(255, 255, 255, 0.3);
    padding: 8px 18px;
    border-radius: var(--border-radius);
}

.btn-nav-secondary:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

/* ==========================================================================
   Hero Section
   ========================================================================== */
.hero-section {
    background: linear-gradient(135deg, var(--color-primary) 0%, #03140e 100%);
    color: #ffffff;
    padding: 100px 0 120px 0;
    position: relative;
    overflow: hidden;
}

.hero-section::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    background: radial-gradient(circle, rgba(196, 154, 69, 0.08) 0%, transparent 60%);
    pointer-events: none;
}

.hero-container {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 24px;
}

.hero-content {
    text-align: center;
}

.hero-tagline {
    display: inline-block;
    color: var(--color-accent);
    text-transform: uppercase;
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 0.85rem;
    letter-spacing: 2px;
    margin-bottom: 20px;
    border: 1px solid rgba(196, 154, 69, 0.3);
    padding: 4px 16px;
    border-radius: 50px;
}

.hero-content h1 {
    color: #ffffff;
    font-size: 3rem;
    margin-bottom: 24px;
    font-weight: 800;
    letter-spacing: -0.5px;
}

.hero-content p {
    color: rgba(255, 255, 255, 0.8);
    font-size: 1.25rem;
    max-width: 800px;
    margin: 0 auto 40px auto;
}

.hero-buttons {
    display: flex;
    justify-content: center;
    gap: 20px;
}

/* ==========================================================================
   Buttons
   ========================================================================== */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-sans);
    font-weight: 600;
    font-size: 1rem;
    padding: 14px 28px;
    border-radius: var(--border-radius);
    transition: var(--transition);
    cursor: pointer;
    border: none;
}

.btn-primary {
    background-color: var(--color-accent);
    color: var(--color-primary);
}

.btn-primary:hover {
    background-color: var(--color-accent-light);
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(196, 154, 69, 0.25);
}

.btn-secondary {
    background-color: rgba(255, 255, 255, 0.1);
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.btn-secondary:hover {
    background-color: rgba(255, 255, 255, 0.2);
    transform: translateY(-2px);
}

.btn-outline-light {
    background-color: transparent;
    color: #ffffff;
    border: 2px solid rgba(255, 255, 255, 0.5);
}

.btn-outline-light:hover {
    border-color: #ffffff;
    background-color: rgba(255, 255, 255, 0.1);
    transform: translateY(-2px);
}

.btn-outline-danger {
    background-color: transparent;
    color: var(--color-error);
    border: 1px solid var(--color-error);
    font-size: 0.9rem;
    padding: 8px 16px;
}

.btn-outline-danger:hover {
    background-color: var(--color-error);
    color: #ffffff;
}

.btn-lg {
    padding: 16px 36px;
    font-size: 1.05rem;
}

.btn-block {
    display: width;
    width: 100%;
}

.btn-disabled {
    background-color: #e0e0e0;
    color: #a0a0a0;
    cursor: not-allowed;
    border: none;
}

/* ==========================================================================
   Pillars & Services Teaser
   ========================================================================== */
.pillars-section, .services-section, .journey-section, .content-section, .materials-section {
    padding: 80px 0;
}

.section-header {
    margin-bottom: 50px;
}

.section-header h2 {
    font-size: 2.25rem;
    color: var(--color-primary);
    margin-bottom: 12px;
}

.section-subtitle {
    font-size: 1.125rem;
    color: var(--color-text-muted);
    max-width: 700px;
    margin: 0 auto;
}

.text-center {
    text-align: center;
}

.pillars-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.pillar-card {
    background-color: var(--color-bg-card);
    border-radius: var(--border-radius);
    padding: 40px 32px;
    box-shadow: var(--shadow-sm);
    border: 1px solid var(--color-border);
    transition: var(--transition);
}

.pillar-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-lg);
    border-color: var(--color-accent);
}

.pillar-icon {
    font-size: 2.5rem;
    margin-bottom: 24px;
    color: var(--color-accent);
}

.pillar-card h3 {
    margin-bottom: 16px;
    font-size: 1.5rem;
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.service-teaser-card {
    background-color: var(--color-bg-card);
    border-left: 4px solid var(--color-accent);
    padding: 30px;
    border-radius: 0 var(--border-radius) var(--border-radius) 0;
    box-shadow: var(--shadow-sm);
}

.service-teaser-card h4 {
    margin-bottom: 12px;
    font-size: 1.25rem;
}

/* ==========================================================================
   Journey Flow
   ========================================================================== */
.journey-section {
    background-color: var(--color-primary);
    color: #ffffff;
}

.journey-section .section-header h2 {
    color: #ffffff;
}

.journey-flow {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: 60px;
    position: relative;
}

.journey-flow::before {
    content: '';
    position: absolute;
    top: 25px;
    left: 10%;
    right: 10%;
    height: 2px;
    background: rgba(255, 255, 255, 0.15);
    z-index: 1;
}

.journey-step {
    flex: 1;
    text-align: center;
    padding: 0 12px;
    position: relative;
    z-index: 2;
}

.step-number {
    width: 50px;
    height: 50px;
    background-color: var(--color-accent);
    color: var(--color-primary);
    font-family: var(--font-heading);
    font-size: 1.25rem;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    margin: 0 auto 20px auto;
    border: 4px solid var(--color-primary);
    box-shadow: 0 0 0 2px var(--color-accent);
}

.journey-step h5 {
    color: #ffffff;
    font-size: 1.1rem;
    margin-bottom: 8px;
}

.journey-step p {
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.7);
}

/* ==========================================================================
   Recent Contents & Materials Cards
   ========================================================================== */
.contents-grid, .materials-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.content-card {
    background-color: var(--color-bg-card);
    border-radius: var(--border-radius);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    border: 1px solid var(--color-border);
    transition: var(--transition);
}

.content-card:hover {
    box-shadow: var(--shadow-md);
    border-color: var(--color-accent);
}

.content-body {
    padding: 30px;
}

.content-badge {
    display: inline-block;
    background-color: rgba(9, 46, 32, 0.08);
    color: var(--color-primary-light);
    font-size: 0.75rem;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 4px;
    text-transform: uppercase;
    margin-bottom: 16px;
}

.content-card h4 {
    margin-bottom: 12px;
    font-size: 1.25rem;
}

.material-card-static {
    background-color: var(--color-bg-card);
    border-radius: var(--border-radius);
    padding: 32px;
    box-shadow: var(--shadow-sm);
    border: 1px solid var(--color-border);
    text-align: center;
}

.material-icon {
    font-size: 2.2rem;
    display: block;
    margin-bottom: 18px;
}

.material-card-static h4 {
    margin-bottom: 12px;
    font-size: 1.15rem;
}

.mt-5 {
    margin-top: 3rem;
}

/* ==========================================================================
   Community Teaser
   ========================================================================== */
.community-section {
    background-color: #faf8f5;
    padding: 100px 0;
}

.community-box {
    background-color: var(--color-primary);
    color: #ffffff;
    border-radius: 12px;
    padding: 60px 40px;
    max-width: 900px;
    margin: 0 auto;
    box-shadow: var(--shadow-lg);
    border: 2px solid var(--color-accent);
}

.community-box h2 {
    color: #ffffff;
    font-size: 2rem;
    margin-bottom: 20px;
}

.community-box p {
    color: rgba(255, 255, 255, 0.8);
    font-size: 1.1rem;
    max-width: 700px;
    margin: 0 auto 32px auto;
}

.btn-accent {
    background-color: var(--color-accent);
    color: var(--color-primary);
}

.btn-accent:hover {
    background-color: var(--color-accent-light);
    color: var(--color-primary);
    transform: translateY(-2px);
}

/* ==========================================================================
   Final CTA
   ========================================================================== */
.final-cta-section {
    background: linear-gradient(135deg, var(--color-primary) 0%, #03140e 100%);
    color: #ffffff;
    padding: 80px 0;
    text-align: center;
}

.final-cta-section h2 {
    color: #ffffff;
    font-size: 2.25rem;
    margin-bottom: 16px;
}

.final-cta-section p {
    color: rgba(255, 255, 255, 0.85);
    font-size: 1.125rem;
    max-width: 800px;
    margin: 0 auto 40px auto;
}

.cta-buttons {
    display: flex;
    justify-content: center;
    gap: 20px;
}

/* ==========================================================================
   Legal Pages (Terms / Privacy)
   ========================================================================== */
.container-legal {
    max-width: 800px;
    margin: 50px auto;
    padding: 0 24px;
}

.legal-box {
    background-color: #ffffff;
    border-radius: var(--border-radius);
    padding: 50px 40px;
    box-shadow: var(--shadow-sm);
    border: 1px solid var(--color-border);
}

.legal-box h1 {
    font-size: 2.25rem;
    margin-bottom: 30px;
    color: var(--color-primary);
    border-bottom: 2px solid var(--color-border);
    padding-bottom: 16px;
}

.legal-content h2 {
    font-size: 1.4rem;
    margin-top: 30px;
    margin-bottom: 12px;
}

.legal-content p, .legal-content ul {
    margin-bottom: 16px;
    color: var(--color-text);
}

.legal-content ul {
    padding-left: 20px;
    list-style: disc;
}

.legal-date {
    margin-top: 40px;
    font-style: italic;
    color: var(--color-text-muted);
}

.alert-box {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 20px;
    border-radius: var(--border-radius);
    margin-bottom: 30px;
}

.alert-warning {
    background-color: var(--color-warning-bg);
    border-left: 4px solid var(--color-warning);
    color: var(--color-warning);
}

.alert-error {
    background-color: var(--color-error-bg);
    border-left: 4px solid var(--color-error);
    color: var(--color-error);
}

.alert-success {
    background-color: var(--color-success-bg);
    border-left: 4px solid var(--color-success);
    color: var(--color-success);
}

.alert-icon {
    font-size: 1.5rem;
}

.alert-text {
    margin: 0;
}

/* ==========================================================================
   Auth Forms (Login / Register)
   ========================================================================== */
.auth-wrapper {
    min-height: calc(100vh - 200px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 60px 24px;
}

.auth-container {
    display: flex;
    background-color: #ffffff;
    border-radius: 12px;
    box-shadow: var(--shadow-lg);
    border: 1px solid var(--color-border);
    max-width: 1000px;
    width: 100%;
    overflow: hidden;
}

.auth-form-card {
    flex: 1.2;
    padding: 50px;
}

.auth-form-card h1 {
    font-size: 2rem;
    margin-bottom: 10px;
    color: var(--color-primary);
}

.auth-subtitle {
    color: var(--color-text-muted);
    margin-bottom: 36px;
}

.auth-form .form-group {
    margin-bottom: 24px;
}

.form-group label {
    display: block;
    font-size: 0.9rem;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--color-dark);
}

.form-group input, .form-group select {
    width: 100%;
    padding: 12px 16px;
    border: 1.5px solid var(--color-border);
    border-radius: var(--border-radius);
    font-family: var(--font-sans);
    font-size: 0.95rem;
    color: var(--color-dark);
    outline: none;
    transition: var(--transition);
}

.form-group input:focus, .form-group select:focus {
    border-color: var(--color-primary-light);
    box-shadow: 0 0 0 3px rgba(9, 46, 32, 0.08);
}

.form-options {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 24px;
}

.link-forgot-pass {
    font-size: 0.85rem;
    color: var(--color-text-muted);
}

.link-forgot-pass:hover {
    color: var(--color-primary);
}

.auth-footer-link {
    text-align: center;
    margin-top: 30px;
    font-size: 0.9rem;
    color: var(--color-text-muted);
}

.auth-footer-link a {
    font-weight: 600;
}

/* Value list panel on right side */
.auth-benefits-card {
    flex: 0.8;
    background-color: var(--color-primary);
    color: #ffffff;
    padding: 50px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-left: 2px solid var(--color-accent);
}

.benefits-wrapper h2 {
    color: #ffffff;
    font-size: 1.5rem;
    margin-bottom: 20px;
}

.benefits-wrapper p {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.9rem;
    margin-bottom: 30px;
}

.benefits-list {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.benefits-list li {
    display: flex;
    gap: 16px;
}

.benefit-icon {
    font-size: 1.5rem;
}

.benefit-text strong {
    display: block;
    color: var(--color-accent);
    font-size: 0.95rem;
    margin-bottom: 4px;
}

.benefit-text p {
    margin: 0;
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.85rem;
}

/* Registration Form Custom Layouts */
.register-container {
    background-color: #ffffff;
    border-radius: 12px;
    box-shadow: var(--shadow-lg);
    border: 1px solid var(--color-border);
    max-width: 800px;
    width: 100%;
    padding: 50px;
}

.register-header {
    text-align: center;
    margin-bottom: 40px;
}

.register-header h1 {
    font-size: 2.25rem;
    color: var(--color-primary);
    margin-bottom: 8px;
}

.register-header p {
    color: var(--color-text-muted);
}

.form-section {
    margin-bottom: 36px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--color-border);
}

.form-section h3 {
    font-size: 1.15rem;
    color: var(--color-primary);
    margin-bottom: 16px;
}

.section-subtext {
    font-size: 0.85rem;
    color: var(--color-text-muted);
    margin-top: -12px;
    margin-bottom: 20px;
}

.form-grid-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.form-grid-3 {
    display: grid;
    grid-template-columns: 1.5fr 1.5fr 1fr;
    gap: 20px;
}

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

/* Custom Checkboxes */
.interest-checkbox-label, .consent-checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
    font-size: 0.9rem;
    color: var(--color-text);
}

.interest-checkbox-label input, .consent-checkbox-label input {
    display: none;
}

.checkbox-custom {
    display: inline-block;
    width: 18px;
    height: 18px;
    border: 2px solid var(--color-border);
    border-radius: 4px;
    position: relative;
    flex-shrink: 0;
    margin-top: 2px;
    transition: var(--transition);
}

.interest-checkbox-label input:checked + .checkbox-custom,
.consent-checkbox-label input:checked + .checkbox-custom {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
}

.interest-checkbox-label input:checked + .checkbox-custom::after,
.consent-checkbox-label input:checked + .checkbox-custom::after {
    content: '';
    position: absolute;
    top: 1px;
    left: 5px;
    width: 4px;
    height: 8px;
    border: solid #ffffff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.legal-consents {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 20px;
}

.register-submit-wrapper {
    text-align: center;
}

.btn-wide {
    padding: 14px 48px;
}

.register-submit-wrapper p {
    margin-top: 20px;
    font-size: 0.9rem;
    color: var(--color-text-muted);
}

/* ==========================================================================
   Dashboard Area (Minha Conta)
   ========================================================================== */
.dashboard-wrapper {
    padding: 50px 0;
}

.dashboard-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

.dashboard-alert {
    margin-bottom: 24px;
}

.dashboard-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 36px;
    border-bottom: 2px solid var(--color-border);
    padding-bottom: 20px;
}

.welcome-block h2 {
    font-size: 2rem;
    color: var(--color-primary);
}

.welcome-subtitle {
    color: var(--color-text-muted);
    font-size: 1rem;
}

.dashboard-layout {
    display: grid;
    grid-template-columns: 1fr 2.5fr;
    gap: 40px;
}

.dashboard-sidebar {
    background-color: #ffffff;
    border-radius: var(--border-radius);
    padding: 30px;
    box-shadow: var(--shadow-sm);
    border: 1px solid var(--color-border);
    height: fit-content;
}

.profile-card {
    text-align: center;
}

.avatar-badge {
    width: 70px;
    height: 70px;
    background-color: var(--color-accent);
    color: var(--color-primary);
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    margin: 0 auto 16px auto;
}

.profile-role {
    font-size: 0.85rem;
    color: var(--color-accent);
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 1px;
}

.card-divider {
    border: none;
    border-top: 1px solid var(--color-border);
    margin: 20px 0;
}

.profile-details-list {
    text-align: left;
}

.detail-item {
    margin-bottom: 12px;
}

.detail-label {
    display: block;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--color-text-muted);
}

.detail-val {
    color: var(--color-dark);
    font-size: 0.95rem;
    word-break: break-all;
}

.profile-interests-wrapper {
    text-align: left;
}

.profile-interests-wrapper h4 {
    font-size: 0.95rem;
    margin-bottom: 12px;
}

.interests-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.interest-tag {
    background-color: rgba(9, 46, 32, 0.05);
    color: var(--color-primary-light);
    font-size: 0.75rem;
    padding: 4px 10px;
    border-radius: 4px;
    font-weight: 600;
}

.no-interests {
    font-size: 0.85rem;
    color: var(--color-text-muted);
}

.modules-section-header {
    margin-bottom: 30px;
}

.modules-section-header h3 {
    font-size: 1.5rem;
    margin-bottom: 8px;
}

.modules-section-header p {
    color: var(--color-text-muted);
}

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

.module-card {
    background-color: #ffffff;
    border-radius: var(--border-radius);
    padding: 30px;
    box-shadow: var(--shadow-sm);
    border: 1px solid var(--color-border);
    position: relative;
}

.module-card.is-locked {
    opacity: 0.85;
}

.lock-badge {
    position: absolute;
    top: 20px;
    right: 20px;
    background-color: #f0f0f0;
    color: #666;
    font-size: 0.75rem;
    padding: 3px 8px;
    border-radius: 4px;
    font-weight: 700;
    text-transform: uppercase;
}

.module-icon-box {
    font-size: 2.2rem;
    margin-bottom: 16px;
}

.module-card h4 {
    font-size: 1.15rem;
    margin-bottom: 10px;
}

.module-card p {
    font-size: 0.85rem;
    color: var(--color-text-muted);
    margin-bottom: 20px;
}

.btn-module-mock {
    display: inline-block;
    background-color: #f5f5f5;
    color: #aaa;
    font-size: 0.85rem;
    font-weight: 600;
    padding: 8px 16px;
    border-radius: 4px;
    cursor: not-allowed;
    text-align: center;
    width: 100%;
}

/* ==========================================================================
   Footer Component
   ========================================================================== */
.main-footer {
    background-color: var(--color-dark);
    color: #ffffff;
    padding: 70px 0 30px 0;
    font-size: 0.9rem;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1.2fr;
    gap: 50px;
    margin-bottom: 40px;
}

.footer-logo {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
}

.brand-pitch {
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.6;
}

.footer-nav h3, .footer-contact h3 {
    font-size: 1.15rem;
    color: #ffffff;
    margin-bottom: 20px;
    position: relative;
    padding-bottom: 8px;
}

.footer-nav h3::after, .footer-contact h3::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 40px;
    height: 2px;
    background-color: var(--color-accent);
}

.footer-links li {
    margin-bottom: 10px;
}

.footer-links a {
    color: rgba(255, 255, 255, 0.7);
}

.footer-links a:hover {
    color: var(--color-accent);
    padding-left: 5px;
}

.contact-sub {
    color: rgba(255, 255, 255, 0.5);
    margin-bottom: 6px;
}

.contact-email {
    display: block;
    color: var(--color-accent);
    font-weight: 600;
    font-size: 1.05rem;
    margin-bottom: 20px;
}

.btn-whatsapp-footer {
    display: inline-flex;
    background-color: #25d366;
    color: #ffffff;
    padding: 10px 20px;
    border-radius: var(--border-radius);
    font-weight: 600;
    transition: var(--transition);
}

.btn-whatsapp-footer:hover {
    background-color: #20ba59;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(37, 211, 102, 0.2);
}

.footer-divider {
    border: none;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    margin-bottom: 24px;
}

.footer-disclaimer-wrapper {
    margin-bottom: 30px;
}

.footer-disclaimer {
    color: rgba(255, 255, 255, 0.45);
    font-size: 0.78rem;
    line-height: 1.6;
    text-align: justify;
}

.footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.8rem;
}

/* Floating WhatsApp Widget */
.whatsapp-floating {
    position: fixed;
    bottom: 30px;
    right: 30px;
    background-color: #25d366;
    color: #ffffff;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
    z-index: 999;
    transition: var(--transition);
}

.whatsapp-floating:hover {
    transform: scale(1.1) rotate(5deg);
    background-color: #20ba59;
}

.whatsapp-icon {
    filter: drop-shadow(0 2px 2px rgba(0,0,0,0.1));
}

/* ==========================================================================
   Responsive Controls
   ========================================================================== */
@media (max-width: 992px) {
    .hero-content h1 {
        font-size: 2.5rem;
    }
    
    .pillars-grid, .services-grid, .contents-grid, .materials-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .journey-flow {
        flex-direction: column;
        gap: 30px;
        align-items: center;
    }
    
    .journey-flow::before {
        display: none;
    }
    
    .journey-step {
        width: 100%;
        max-width: 400px;
    }
    
    .dashboard-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1200px) {
    .nav-list {
        gap: 16px; /* reduces spacing slightly on medium viewports to prevent wrapping */
    }
}

@media (max-width: 768px) {
    /* Mobile Menu Drawer style */
    .mobile-nav-toggle {
        display: flex;
    }
    
    .nav-menu {
        position: fixed;
        top: 76px;
        left: -100%;
        width: 100%;
        height: calc(100vh - 76px);
        background-color: var(--color-primary);
        transition: var(--transition);
        z-index: 999;
    }
    
    .nav-menu.active {
        left: 0;
    }
    
    .nav-list {
        flex-direction: column;
        padding: 40px 24px;
        align-items: stretch;
        gap: 20px;
    }
    
    .nav-list li {
        text-align: center;
    }
    
    .nav-list a {
        display: block;
        font-size: 1.15rem;
        padding: 12px;
    }
    
    /* Hamburger animation states */
    .mobile-nav-toggle.active .hamburger-line:nth-child(1) {
        transform: rotate(45deg) translate(5px, 6px);
    }
    
    .mobile-nav-toggle.active .hamburger-line:nth-child(2) {
        opacity: 0;
    }
    
    .mobile-nav-toggle.active .hamburger-line:nth-child(3) {
        transform: rotate(-45deg) translate(6px, -7px);
    }
    
    .hero-content h1 {
        font-size: 2rem;
    }
    
    .hero-content p {
        font-size: 1.1rem;
    }
    
    .hero-buttons {
        flex-direction: column;
        gap: 12px;
    }
    
    .pillars-grid, .services-grid, .contents-grid, .materials-grid, .modules-grid {
        grid-template-columns: 1fr;
    }
    
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .auth-container {
        flex-direction: column;
    }
    
    .auth-benefits-card {
        border-left: none;
        border-top: 2px solid var(--color-accent);
    }
    
    .form-grid-2, .form-grid-3, .interests-grid {
        grid-template-columns: 1fr;
    }
    
    .register-container {
        padding: 30px 20px;
    }
    
    .legal-box {
        padding: 30px 20px;
    }
}

/* ==========================================================================
   EPIC 1 — Perfis, autorização, administração e assessor
   ========================================================================== */
.header-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.nav-logout-link {
    color: rgba(255, 255, 255, 0.72) !important;
    font-size: 0.88rem;
}

.metric-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 32px;
}

.metric-card,
.panel-card,
.table-card,
.client-card,
.management-card {
    background: #ffffff;
    border: 1px solid var(--color-border);
    border-radius: var(--border-radius);
    box-shadow: var(--shadow-sm);
}

.metric-card {
    padding: 24px;
}

.metric-card span {
    display: block;
    color: var(--color-text-muted);
    font-size: 0.82rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.metric-card strong {
    display: block;
    margin-top: 8px;
    color: var(--color-primary);
    font-family: var(--font-heading);
    font-size: 2rem;
}

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

.management-card {
    display: block;
    padding: 28px;
    color: var(--color-text);
    transition: var(--transition);
}

.management-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-md);
    border-color: rgba(196, 154, 69, 0.6);
}

.management-card h3,
.panel-card h3,
.client-card h3 {
    color: var(--color-primary);
    margin: 12px 0 8px;
}

.management-card p,
.panel-card p,
.client-card p {
    color: var(--color-text-muted);
}

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

.panel-card {
    padding: 28px;
}

.panel-spaced {
    margin-top: 24px;
}

.filter-bar {
    display: grid;
    grid-template-columns: minmax(240px, 2fr) minmax(160px, 1fr) minmax(160px, 1fr) auto;
    align-items: end;
    gap: 16px;
    padding: 22px;
    margin-bottom: 24px;
    background: #ffffff;
    border: 1px solid var(--color-border);
    border-radius: var(--border-radius);
    box-shadow: var(--shadow-sm);
}

.filter-bar .form-group {
    margin: 0;
}

.table-card {
    overflow: hidden;
}

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

.data-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 780px;
}

.data-table th,
.data-table td {
    padding: 14px 16px;
    border-bottom: 1px solid var(--color-border);
    text-align: left;
    vertical-align: top;
}

.data-table th {
    background: rgba(9, 46, 32, 0.04);
    color: var(--color-primary);
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.data-table tbody tr:hover {
    background: rgba(9, 46, 32, 0.018);
}

.empty-cell,
.empty-state {
    color: var(--color-text-muted);
    text-align: center;
    padding: 30px !important;
}

.status-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 4px 10px;
    font-size: 0.74rem;
    font-weight: 700;
    text-transform: capitalize;
    white-space: nowrap;
    background: #eef1ef;
    color: var(--color-text);
}

.status-user,
.status-active {
    background: var(--color-success-bg);
    color: var(--color-success);
}

.status-advisor,
.status-premium {
    background: #fff7df;
    color: #8b6500;
}

.status-admin {
    background: #e9efff;
    color: #284c9b;
}

.status-blocked,
.status-deleted {
    background: var(--color-error-bg);
    color: var(--color-error);
}

.btn-small {
    padding: 8px 12px;
    font-size: 0.8rem;
}

.btn-link {
    padding: 0;
    border: 0;
    background: none;
    color: var(--color-primary-light);
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

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

.inline-form {
    display: inline;
}

.form-help,
.text-warning {
    color: #8b6500;
    font-size: 0.82rem;
}

.detail-list {
    display: grid;
    grid-template-columns: minmax(110px, 0.7fr) minmax(0, 1.3fr);
    gap: 10px 16px;
    margin-top: 18px;
}

.detail-list dt {
    color: var(--color-text-muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.detail-list dd {
    margin: 0;
    color: var(--color-dark);
    overflow-wrap: anywhere;
}

.assignment-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 18px 0;
}

.assignment-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 14px 16px;
    border: 1px solid var(--color-border);
    border-radius: var(--border-radius);
    background: rgba(9, 46, 32, 0.02);
}

.assignment-form {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) auto auto;
    align-items: end;
    gap: 18px;
    padding-top: 20px;
    border-top: 1px solid var(--color-border);
}

.assignment-form .form-group {
    margin: 0;
}

.client-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.client-card {
    padding: 24px;
}

.client-card-header {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
}

.client-card-header h3 {
    margin-top: 0;
}

.client-card-header p {
    overflow-wrap: anywhere;
    font-size: 0.86rem;
}

@media (max-width: 1100px) {
    .metric-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .client-grid,
    .management-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .filter-bar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .metric-grid,
    .management-grid,
    .management-layout,
    .client-grid,
    .filter-bar,
    .assignment-form {
        grid-template-columns: 1fr;
    }
    .dashboard-header,
    .assignment-item {
        align-items: flex-start;
        flex-direction: column;
    }
    .header-actions {
        width: 100%;
    }
    .detail-list {
        grid-template-columns: 1fr;
        gap: 4px;
    }
    .detail-list dd {
        margin-bottom: 12px;
    }
}

.auth-support-links {
    width: 100%;
    display: flex;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

/* =========================================================
   EPIC 2 — Perfil financeiro
   ========================================================= */
.financial-profile-page .panel-card { overflow: hidden; }
.financial-narrow { max-width: 1040px; }
.eyebrow { display:block; font-size:.76rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--color-primary); margin-bottom:6px; }
.financial-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin:22px 0; }
.financial-summary-card { background:#fff; border:1px solid var(--color-border); border-radius:var(--border-radius); padding:20px; box-shadow:var(--shadow-sm); display:flex; flex-direction:column; gap:7px; }
.financial-summary-card span { color:var(--color-text-muted); font-size:.82rem; font-weight:700; }
.financial-summary-card strong { color:var(--color-dark); font-family:'Outfit',sans-serif; font-size:1.55rem; }
.financial-summary-card small { color:var(--color-text-muted); }
.financial-progress { height:7px; background:rgba(9,46,32,.09); border-radius:999px; overflow:hidden; }
.financial-progress i { display:block; height:100%; background:var(--color-primary); border-radius:inherit; }
.financial-onboarding-banner { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 20px; border:1px solid rgba(176,133,46,.35); border-radius:var(--border-radius); background:rgba(215,176,84,.10); margin:18px 0; }
.financial-onboarding-banner p { margin:4px 0 0; }
.financial-fact-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:16px; }
.financial-fact-grid > div { padding:15px; border:1px solid var(--color-border); border-radius:10px; background:rgba(9,46,32,.025); }
.financial-fact-grid span { display:block; color:var(--color-text-muted); font-size:.78rem; font-weight:700; margin-bottom:5px; }
.financial-fact-grid strong { color:var(--color-dark); }
.section-title-row { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; margin-bottom:18px; }
.section-title-row h3 { margin:0 0 4px; }
.section-title-row p { margin:0; }
.financial-form .form-group textarea { width:100%; border:1px solid var(--color-border); border-radius:var(--border-radius); padding:13px 14px; font:inherit; resize:vertical; background:#fff; color:var(--color-dark); }
.financial-form-footer { display:flex; justify-content:space-between; align-items:center; gap:18px; margin-top:22px; padding-top:18px; border-top:1px solid var(--color-border); }
.financial-form-footer p,.financial-form-footer span { margin:0; color:var(--color-text-muted); font-size:.85rem; }
.financial-step { display:flex; gap:14px; align-items:flex-start; margin:28px 0 16px; padding-top:20px; border-top:1px solid var(--color-border); }
.financial-step:first-of-type { margin-top:0; padding-top:0; border-top:0; }
.financial-step > span { flex:0 0 32px; width:32px; height:32px; border-radius:50%; display:grid; place-items:center; background:var(--color-primary); color:#fff; font-weight:800; }
.financial-step h3 { margin:0; }
.financial-step p { margin:3px 0 0; color:var(--color-text-muted); }
.financial-step small { font-weight:500; color:var(--color-text-muted); }
.financial-objectives { margin-top:10px; }
.financial-inline-checks { display:flex; gap:18px; align-items:center; flex-wrap:wrap; margin-top:12px; }
.financial-inline-checks label,.mini-check { display:flex; align-items:center; gap:7px; color:var(--color-text); font-size:.86rem; }
.financial-inline-checks .btn { margin-left:auto; }
.financial-record-list { display:flex; flex-direction:column; gap:12px; }
.financial-record { display:grid; grid-template-columns:minmax(150px,.8fr) minmax(220px,1.3fr) minmax(140px,.7fr) minmax(260px,1.2fr); gap:12px; align-items:end; padding:14px; border:1px solid var(--color-border); border-radius:var(--border-radius); background:#fff; }
.financial-record.is-inactive { opacity:.62; background:rgba(0,0,0,.02); }
.financial-record .form-group { margin:0; }
.financial-grow { min-width:0; }
.financial-record-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; flex-wrap:wrap; }
.financial-record-actions select { width:auto; min-width:90px; }
.financial-add-form { margin-top:20px; padding-top:20px; border-top:1px solid var(--color-border); }
.financial-add-form h4 { margin:0 0 14px; }
.btn-small { padding:8px 11px; font-size:.8rem; }
.btn-text-danger { border:0; background:transparent; color:#a13a3a; cursor:pointer; font-weight:700; }
.financial-history-list { display:flex; flex-direction:column; gap:0; }
.financial-history-item { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:13px 0; border-bottom:1px solid var(--color-border); }
.financial-history-item:last-child { border-bottom:0; }
.financial-history-item strong,.financial-history-item small { display:block; }
.financial-history-item small,.financial-history-item time { color:var(--color-text-muted); font-size:.8rem; }
.module-card-active { border-color:rgba(24,113,79,.28); position:relative; }
.lock-badge-active { background:rgba(24,113,79,.12) !important; color:var(--color-primary) !important; }
.module-progress-row { display:flex; justify-content:space-between; align-items:center; font-size:.84rem; padding:10px 0; color:var(--color-text-muted); }
.module-progress-row strong { color:var(--color-dark); }
.panel-actions { margin-top:18px; display:flex; justify-content:flex-end; }

@media (max-width: 1100px) {
    .financial-summary-grid,.financial-fact-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .financial-record { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .financial-record-actions { grid-column:1 / -1; justify-content:flex-start; }
}
@media (max-width: 700px) {
    .financial-summary-grid,.financial-fact-grid,.financial-record { grid-template-columns:1fr; }
    .financial-onboarding-banner,.financial-form-footer,.section-title-row,.financial-history-item { align-items:flex-start; flex-direction:column; }
    .financial-inline-checks .btn { margin-left:0; width:100%; }
    .financial-record-actions { grid-column:auto; justify-content:flex-start; }
}

/* =========================================================
   EPIC 3 — Contas financeiras, cartões e transferências
   ========================================================= */
.financial-account-list,.financial-card-list { display:flex; flex-direction:column; gap:14px; margin-top:18px; }
.financial-account-card,.financial-credit-card { border:1px solid var(--color-border); border-radius:var(--border-radius); background:#fff; padding:18px; box-shadow:var(--shadow-sm); }
.financial-account-card.is-inactive,.financial-credit-card.is-inactive { opacity:.65; background:rgba(0,0,0,.025); }
.financial-account-head,.financial-credit-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:22px; }
.financial-account-head h4,.financial-credit-card-head h4 { margin:4px 0; font-size:1.08rem; }
.financial-account-type { display:inline-flex; align-items:center; border-radius:999px; padding:4px 9px; background:rgba(24,113,79,.08); color:var(--color-primary); font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.financial-account-balance,.financial-credit-card-head > div:last-child { text-align:right; display:flex; flex-direction:column; gap:3px; }
.financial-account-balance span,.financial-credit-card-head > div:last-child span { color:var(--color-text-muted); font-size:.78rem; font-weight:700; }
.financial-account-balance strong,.financial-credit-card-head > div:last-child strong { color:var(--color-dark); font-family:'Outfit',sans-serif; font-size:1.3rem; }
.financial-account-balance small,.financial-account-head small,.financial-credit-card-head small,.financial-card-payment { color:var(--color-text-muted); }
.financial-card-payment { margin:12px 0 0; font-size:.86rem; }
.compact-form { margin-top:16px; padding-top:16px; border-top:1px solid var(--color-border); }
.inline-action-form { margin-top:10px; }
.form-grid-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.financial-scope-note { border-left:4px solid var(--color-primary); }
.financial-scope-note p { margin-bottom:0; }

@media (max-width: 760px) {
    .financial-account-head,.financial-credit-card-head { flex-direction:column; }
    .financial-account-balance,.financial-credit-card-head > div:last-child { text-align:left; }
    .form-grid-2 { grid-template-columns:1fr; }
}

/* =========================================================
   EPIC 4 — Fluxo de caixa e transações
   ========================================================= */
.cashflow-filter-bar { grid-template-columns: repeat(6,minmax(120px,1fr)); align-items:end; }
.financial-period-badge { display:inline-flex; padding:7px 11px; border-radius:999px; font-size:.76rem; font-weight:800; }
.financial-period-badge.is-open { background:rgba(24,113,79,.10); color:var(--color-primary); }
.financial-period-badge.is-closed { background:rgba(161,58,58,.10); color:#a13a3a; }
.cashflow-transaction-list { display:flex; flex-direction:column; gap:12px; }
.cashflow-transaction-card { border:1px solid var(--color-border); border-left:4px solid var(--color-primary); border-radius:var(--border-radius); padding:17px 18px; background:#fff; box-shadow:var(--shadow-sm); }
.cashflow-transaction-card.is-outflow { border-left-color:#a13a3a; }
.cashflow-transaction-head { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; }
.cashflow-transaction-head h4 { margin:5px 0; }
.cashflow-transaction-head small,.cashflow-meta,.cashflow-series-note { color:var(--color-text-muted); font-size:.82rem; }
.cashflow-amount { display:flex; flex-direction:column; align-items:flex-end; gap:5px; white-space:nowrap; }
.cashflow-amount strong { font-family:'Outfit',sans-serif; font-size:1.25rem; }
.cashflow-status { padding:4px 8px; border-radius:999px; background:rgba(0,0,0,.06); font-size:.7rem; font-weight:800; text-transform:uppercase; }
.status-paid,.status-received { background:rgba(24,113,79,.10); color:var(--color-primary); }
.status-overdue { background:rgba(161,58,58,.12); color:#a13a3a; }
.status-canceled { text-decoration:line-through; opacity:.7; }
.cashflow-edit { margin-top:13px; border-top:1px solid var(--color-border); padding-top:10px; }
.cashflow-edit summary { cursor:pointer; font-weight:700; color:var(--color-primary); }
.cashflow-attachments { display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }
.cashflow-attachments span { display:flex; align-items:center; gap:5px; padding:5px 8px; border-radius:8px; background:rgba(9,46,32,.05); font-size:.78rem; }
.cashflow-attachments form { display:inline; margin:0; }
.cashflow-series-item { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0; border-bottom:1px solid var(--color-border); }
.cashflow-series-item small { display:block; color:var(--color-text-muted); }
.cashflow-series-item > div:last-child { display:flex; gap:7px; }
.tiny-input { width:64px !important; }
@media (max-width:1100px){.cashflow-filter-bar{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:700px){.cashflow-filter-bar{grid-template-columns:1fr}.cashflow-transaction-head,.cashflow-series-item{flex-direction:column}.cashflow-amount{align-items:flex-start}.cashflow-series-item>div:last-child{width:100%;}}

/* =========================================================
   EPIC 5 — Orçamento, planejamento e metas
   ========================================================= */
.planning-month-form{display:flex;align-items:center;gap:8px}.planning-month-form input{padding:9px 10px;border:1px solid var(--color-border);border-radius:8px;background:#fff}.budget-list{display:flex;flex-direction:column;gap:10px}.budget-item{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(240px,1.2fr);gap:22px;align-items:center;padding:14px 16px;border:1px solid var(--color-border);border-radius:var(--border-radius);background:#fff}.budget-item.is-alert{border-color:rgba(176,133,46,.55);background:rgba(215,176,84,.07)}.budget-item small{display:block;color:var(--color-text-muted);margin-top:4px}.budget-progress{display:flex;align-items:center;gap:14px}.budget-progress .financial-progress{flex:1}.budget-progress span{white-space:nowrap;font-size:.82rem;font-weight:700}.goal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.goal-card{padding:18px;border:1px solid var(--color-border);border-radius:var(--border-radius);background:#fff}.goal-card.status-pending_approval{border-color:rgba(176,133,46,.5);background:rgba(215,176,84,.06)}.goal-card.status-completed{border-color:rgba(24,113,79,.35)}.goal-card.status-rejected,.goal-card.status-canceled{opacity:.65}.goal-card-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:12px}.goal-card-head h4{margin:5px 0}.goal-card-head small,.goal-progress-label{color:var(--color-text-muted);font-size:.82rem}.goal-progress-label{margin:7px 0}.goal-actions{margin-top:12px}.goal-actions form{display:flex;gap:8px}.goal-contribution-form{display:grid;grid-template-columns:1fr auto auto;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border)}.goal-contribution-form input{min-width:0;padding:9px;border:1px solid var(--color-border);border-radius:8px}.scenario-baseline{display:flex;gap:22px;flex-wrap:wrap;margin-bottom:16px;color:var(--color-text-muted)}.scenario-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.scenario-card{padding:18px;border:1px solid var(--color-border);border-radius:var(--border-radius);background:#fff}.scenario-card h4{margin-top:0}.scenario-card>strong{font-family:'Outfit',sans-serif;font-size:1.25rem}.scenario-card small{color:var(--color-text-muted)}.scenario-form{margin-top:14px;padding-top:12px;border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:8px}.scenario-form input{width:100%;padding:8px;border:1px solid var(--color-border);border-radius:8px}.scenario-form>div{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}@media(max-width:900px){.goal-grid,.scenario-grid{grid-template-columns:1fr}.budget-item{grid-template-columns:1fr}.goal-contribution-form{grid-template-columns:1fr}.planning-month-form{width:100%;flex-wrap:wrap}.scenario-form>div{grid-template-columns:1fr}}


/* =========================================================
   EPIC 6 — Dívidas e patrimônio
   ========================================================= */
.wealth-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.wealth-card{padding:18px;border:1px solid var(--color-border);border-radius:var(--border-radius);background:#fff;box-shadow:var(--shadow-sm)}.wealth-card.is-inactive{opacity:.68;background:rgba(0,0,0,.025)}.wealth-card-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.wealth-card-head h4{margin:5px 0}.wealth-card-head small{color:var(--color-text-muted)}.wealth-value{display:flex;flex-direction:column;text-align:right;gap:3px}.wealth-value span{font-size:.76rem;color:var(--color-text-muted);font-weight:700}.wealth-value strong{font-family:'Outfit',sans-serif;font-size:1.3rem}.wealth-value small{color:var(--color-text-muted)}.wealth-meta{display:flex;gap:16px;flex-wrap:wrap;margin:14px 0;color:var(--color-text-muted);font-size:.82rem}.wealth-meta b{color:var(--color-dark)}.wealth-schedule{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.wealth-schedule strong{width:100%;font-size:.82rem}.wealth-schedule span{padding:5px 8px;background:rgba(9,46,32,.05);border-radius:7px;font-size:.76rem}.wealth-actions{margin-top:12px;padding-top:10px;border-top:1px solid var(--color-border)}.wealth-actions summary,.wealth-action-grid summary{cursor:pointer;font-weight:700;color:var(--color-primary)}.inline-status-actions{display:flex;gap:8px;margin-top:10px}.wealth-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.wealth-action-grid details{padding:10px;border:1px solid var(--color-border);border-radius:9px}.wealth-action-grid .compact-form{display:flex;flex-direction:column;gap:8px}.wealth-action-grid input,.wealth-action-grid select{width:100%;padding:8px;border:1px solid var(--color-border);border-radius:8px}.sale-result{margin-top:12px;padding:10px 12px;border-radius:9px;background:rgba(24,113,79,.07);display:flex;flex-direction:column}.sale-result.negative{background:rgba(161,58,58,.08)}.sale-result span,.sale-result small{font-size:.78rem;color:var(--color-text-muted)}.sale-result strong{font-size:1.08rem}.wealth-evolution{margin-top:16px;overflow-x:auto}.wealth-evolution-head,.wealth-evolution-row{display:grid;grid-template-columns:110px repeat(4,minmax(140px,1fr));gap:10px;padding:10px 12px;min-width:760px}.wealth-evolution-head{font-size:.75rem;text-transform:uppercase;font-weight:800;color:var(--color-text-muted);border-bottom:1px solid var(--color-border)}.wealth-evolution-row{border-bottom:1px solid var(--color-border);font-size:.86rem}.wealth-evolution-row strong{text-align:right}.wealth-evolution-row span:not(:first-child){text-align:right}@media(max-width:900px){.wealth-grid{grid-template-columns:1fr}.wealth-card-head{flex-direction:column}.wealth-value{text-align:left}.wealth-action-grid{grid-template-columns:1fr}}

/* EPIC 7 — investimentos e seguros */
.investment-disclaimer{margin:0 0 18px;padding:14px 16px;border:1px solid #d9caa7;background:#fffaf0;border-radius:12px;font-size:.92rem;line-height:1.5}.allocation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:16px 0}.allocation-item{border:1px solid #e2e5e9;border-radius:10px;padding:12px;background:#fff}.allocation-item span,.allocation-item small{display:block;color:#667085}.allocation-item strong{display:block;margin:4px 0}.financial-fact-grid.compact{margin-top:12px}.mini-list{display:flex;flex-direction:column;gap:4px;margin:12px 0;font-size:.9rem}.mini-list a{word-break:break-word}


/* =========================================================
   EPIC 8 — Portal do assessor
   ========================================================= */
.advisor-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:18px 0 22px}.advisor-filter-bar{grid-template-columns:minmax(240px,1.4fr) minmax(160px,.8fr) minmax(160px,.8fr) auto}.advisor-client-card{border-top:4px solid transparent}.advisor-client-card.attention-attention{border-top-color:#d4a72c}.advisor-client-card.attention-high{border-top-color:#d97706}.advisor-client-card.attention-critical{border-top-color:#a13a3a}.advisor-attention-badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.72rem;font-weight:800;background:rgba(0,0,0,.06)}.advisor-attention-badge.attention-normal{color:var(--color-primary);background:rgba(24,113,79,.10)}.advisor-attention-badge.attention-attention{color:#8a6b14;background:rgba(215,176,84,.16)}.advisor-attention-badge.attention-high{color:#9a4b08;background:rgba(217,119,6,.13)}.advisor-attention-badge.attention-critical{color:#a13a3a;background:rgba(161,58,58,.12)}.advisor-card-tags{font-size:.78rem;color:var(--color-text-muted);padding:8px 10px;background:rgba(9,46,32,.04);border-radius:8px}.advisor-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.advisor-signal-panel{border-left:4px solid #d4a72c}.advisor-signal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.advisor-signal{padding:12px 14px;border:1px solid var(--color-border);border-radius:10px;background:#fff;display:flex;flex-direction:column;gap:4px}.advisor-signal strong{font-size:.9rem}.advisor-signal span{font-size:.8rem;color:var(--color-text-muted)}.advisor-signal-high{border-color:rgba(217,119,6,.35)}.advisor-signal-critical{border-color:rgba(161,58,58,.4)}.advisor-module-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.advisor-module-links a{padding:7px 10px;border:1px solid var(--color-border);border-radius:999px;font-size:.78rem;font-weight:700;color:var(--color-primary);background:#fff}.advisor-inline-form{display:grid;grid-template-columns:150px minmax(180px,1fr) 190px 150px;gap:8px;align-items:end}.advisor-inline-form textarea{grid-column:1/-2}.advisor-inline-form input,.advisor-inline-form select,.advisor-inline-form textarea,.advisor-note-form input,.advisor-note-form select,.advisor-note-form textarea,.advisor-action-add input,.advisor-action-add select,.advisor-status-form select,.advisor-action-item select{width:100%;padding:9px 10px;border:1px solid var(--color-border);border-radius:8px;font:inherit;background:#fff}.advisor-timeline{margin-top:20px}.advisor-timeline-item{position:relative;display:grid;grid-template-columns:18px 1fr;gap:12px;padding:0 0 18px}.advisor-timeline-item:before{content:'';position:absolute;left:8px;top:14px;bottom:0;width:1px;background:var(--color-border)}.advisor-timeline-item:last-child:before{display:none}.advisor-timeline-dot{width:9px;height:9px;border-radius:50%;background:var(--color-primary);margin-top:6px;z-index:1}.advisor-timeline-head{display:flex;gap:10px;justify-content:space-between}.advisor-timeline-head span{font-size:.72rem;font-weight:800;color:var(--color-primary);text-transform:uppercase}.advisor-timeline-item small{color:var(--color-text-muted)}.advisor-timeline-item p{margin:6px 0 0}.advisor-note-list{display:flex;flex-direction:column;gap:10px;margin-top:18px}.advisor-note{padding:14px 16px;border:1px solid var(--color-border);border-radius:10px;background:#fff}.advisor-note.is-pinned{border-color:rgba(176,133,46,.45);background:rgba(215,176,84,.06)}.advisor-note-head{display:flex;justify-content:space-between;gap:16px}.advisor-note-head small{display:block;color:var(--color-text-muted);margin-top:3px}.advisor-note p{margin:10px 0 0}.advisor-create-plan{margin-bottom:14px}.advisor-create-plan>summary{cursor:pointer;font-weight:800;color:var(--color-primary)}.advisor-plan-list{display:flex;flex-direction:column;gap:14px}.advisor-plan-card{padding:18px;border:1px solid var(--color-border);border-radius:12px;background:#fff}.advisor-plan-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.advisor-plan-head h4{margin:5px 0}.advisor-plan-head small{color:var(--color-text-muted)}.advisor-status-form{display:flex;gap:7px;min-width:250px}.advisor-action-list{display:flex;flex-direction:column;gap:8px;margin:14px 0}.advisor-action-item{display:grid;grid-template-columns:1fr minmax(220px,.5fr);gap:12px;align-items:center;padding:11px 12px;border:1px solid var(--color-border);border-radius:9px}.advisor-action-item.is-overdue{border-color:rgba(161,58,58,.38);background:rgba(161,58,58,.035)}.advisor-action-item.is-done{opacity:.62}.advisor-action-item small{display:block;color:var(--color-text-muted);margin-top:3px}.advisor-action-item p{margin:6px 0 0}.advisor-action-item form{display:flex;gap:7px}.advisor-action-add{display:grid;grid-template-columns:1.3fr .7fr .7fr .8fr 1.3fr auto;gap:7px;padding-top:12px;border-top:1px solid var(--color-border)}.advisor-360-banner{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}.advisor-360-banner h3{margin:3px 0 6px}.advisor-360-banner p{margin:0;color:var(--color-text-muted)}.advisor-360-stats{display:flex;gap:12px}.advisor-360-stats>div{min-width:95px;padding:10px 12px;border:1px solid var(--color-border);border-radius:9px;text-align:center}.advisor-360-stats span{display:block;font-size:.72rem;color:var(--color-text-muted)}.advisor-360-stats strong{display:block;margin-top:3px}
@media(max-width:1100px){.advisor-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.advisor-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.advisor-action-add{grid-template-columns:repeat(3,1fr)}.advisor-inline-form{grid-template-columns:repeat(2,minmax(0,1fr))}.advisor-inline-form textarea{grid-column:1/-1}}
@media(max-width:700px){.advisor-kpi-grid,.advisor-filter-bar,.advisor-action-add,.advisor-inline-form{grid-template-columns:1fr}.advisor-inline-form textarea{grid-column:auto}.advisor-card-actions{grid-template-columns:1fr}.advisor-plan-head,.advisor-note-head,.advisor-360-banner{flex-direction:column}.advisor-status-form{min-width:0;width:100%;flex-direction:column}.advisor-action-item{grid-template-columns:1fr}.advisor-action-item form{flex-direction:column}.advisor-360-stats{width:100%;flex-direction:column}.advisor-360-stats>div{text-align:left}}

/* EPIC 9 — Dashboards e relatórios */
.reporting-page .dashboard-header{align-items:flex-start}.reporting-filter-bar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:18px 0 24px;padding:14px 16px;background:#fff;border:1px solid #e6e9ee;border-radius:14px}.reporting-filter-bar label{display:flex;gap:7px;flex-direction:column;font-size:.82rem;font-weight:700}.reporting-filter-bar input{min-height:40px;padding:8px 10px;border:1px solid #d8dee8;border-radius:9px;background:#fff}.reporting-metrics .metric-card small,.metric-card small{display:block;margin-top:6px;color:#667085;font-size:.76rem;font-weight:500}.report-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.report-chart-bars{height:165px;display:flex;align-items:flex-end;gap:8px;padding:16px 4px 4px;border-bottom:1px solid #e6e9ee}.report-chart-column{flex:1;min-width:0;text-align:center}.report-bar-pair{height:125px;display:flex;align-items:flex-end;justify-content:center;gap:2px}.report-bar{display:inline-block;width:38%;min-width:5px;max-width:18px;border-radius:5px 5px 0 0;background:#243b53}.report-bar.expense{background:#9b4d4d}.report-chart-column small{font-size:.68rem;color:#667085}.report-legend{display:flex;gap:18px;margin-top:10px;font-size:.75rem;color:#667085}.report-ranking{display:grid;gap:12px}.report-ranking-row{display:grid;grid-template-columns:minmax(110px,1.2fr) minmax(90px,2fr) auto;align-items:center;gap:10px}.report-ranking-row div:first-child{display:flex;justify-content:space-between;gap:8px}.report-ranking-row small{color:#667085}.report-progress{height:9px;background:#eef1f5;border-radius:999px;overflow:hidden}.report-progress span{display:block;height:100%;background:#355d7a;border-radius:999px}.report-progress.large{height:12px;margin:12px 0}.report-big-number{font-size:1.65rem;font-weight:800;margin:12px 0}.report-big-number small{font-size:.88rem;color:#667085;font-weight:600}.report-spark-table{height:125px;display:flex;align-items:flex-end;gap:8px;border-bottom:1px solid #e6e9ee;padding:10px 3px 0}.report-spark-table>div{flex:1;height:110px;display:flex;flex-direction:column-reverse;align-items:center;gap:4px}.report-spark{display:block;width:min(22px,70%);background:#355d7a;border-radius:5px 5px 0 0}.report-spark.negative{background:#9b4d4d}.report-definition{display:grid;gap:0;margin:0}.report-definition>div{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid #eef1f5}.report-definition dt{color:#667085}.report-definition dd{margin:0;text-align:right}.report-footnote{font-size:.8rem;color:#667085;margin-top:18px}.table-responsive{overflow-x:auto}@media(max-width:860px){.report-grid-2{grid-template-columns:1fr}.report-ranking-row{grid-template-columns:1fr}.report-chart-bars{gap:3px}.reporting-filter-bar{align-items:stretch}.reporting-filter-bar label{width:100%}}

/* EPIC 10 — Alertas e inteligência financeira */
.alerts-page .header-actions form{margin:0}.alert-metrics{margin-bottom:18px}.financial-alert-list{display:grid;gap:12px}.financial-alert{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:14px;align-items:start;padding:16px;border:1px solid var(--color-border);border-left:4px solid #607d8b;border-radius:12px;background:#fff}.financial-alert.severity-info{border-left-color:#607d8b}.financial-alert.severity-attention{border-left-color:#d4a72c}.financial-alert.severity-high{border-left-color:#d97706}.financial-alert.severity-critical{border-left-color:#a13a3a;background:rgba(161,58,58,.025)}.financial-alert-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:900;background:#f2f4f7;color:#243b53}.financial-alert-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.financial-alert-head>div{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.financial-alert-head small,.financial-alert-body>small{color:#667085}.financial-alert-body p{margin:7px 0}.financial-alert-badge{font-size:.7rem;font-weight:800;text-transform:uppercase;padding:4px 7px;border-radius:999px;background:#f2f4f7}.financial-alert-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.alert-toggle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 14px;margin:14px 0}.reporting-filter-bar select{min-height:40px;padding:8px 10px;border:1px solid #d8dee8;border-radius:9px;background:#fff}@media(max-width:900px){.financial-alert{grid-template-columns:36px 1fr}.financial-alert-actions{grid-column:1/-1;justify-content:flex-start}.alert-toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.financial-alert{grid-template-columns:1fr}.financial-alert-icon{display:none}.financial-alert-head{flex-direction:column}.alert-toggle-grid{grid-template-columns:1fr}}

/* EPIC 11 — Comunidade interna */
.community-page .panel-card,.community-admin .panel-card{overflow:visible}.community-login-callout{display:flex;justify-content:space-between;gap:1.5rem;align-items:center}.community-group-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.community-group-card{border:1px solid var(--border-color,#e5e7eb);border-radius:16px;padding:1.2rem;background:#fff;display:flex;flex-direction:column;justify-content:space-between;gap:1rem}.community-group-card h3{margin:.35rem 0}.community-group-count{font-size:.78rem;font-weight:700;letter-spacing:.02em}.community-group-meta,.community-post-footer,.community-comment-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.community-rules ol{padding-left:1.25rem;display:grid;gap:.5rem}.community-rule-note{font-weight:600}.community-feed{display:grid;gap:1rem}.community-post-card.is-pinned{border-left:4px solid currentColor}.community-post-head h3{margin:.35rem 0}.community-post-head a{text-decoration:none;color:inherit}.community-post-full .community-post-content{font-size:1.02rem;line-height:1.75;white-space:normal}.community-inline-form{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin:0}.community-inline-form select,.community-inline-form input{width:auto;min-width:120px}.community-link-button{border:0;background:transparent;cursor:pointer;padding:.2rem .3rem;font:inherit}.community-link-button.is-selected,.btn.is-selected{font-weight:800}.community-comments{display:grid;gap:1rem;margin-top:1.25rem}.community-comment{border-top:1px solid var(--border-color,#e5e7eb);padding-top:1rem}.community-comment:first-child{border-top:0}.community-comment-head{display:flex;justify-content:space-between;gap:1rem}.community-comment-head small{opacity:.7}.community-comment-reply{margin:1rem 0 0 2rem;padding:.8rem 1rem;border-left:3px solid #e5e7eb;background:#f8fafc;border-radius:0 12px 12px 0}.community-reply-form{display:grid;gap:.5rem;margin:.5rem 0}.community-report-box summary,.community-comment-actions summary{cursor:pointer;font-weight:600}.community-admin-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(360px,1.2fr);gap:1rem}.community-admin-list{display:grid;gap:.75rem}.community-admin-item{border:1px solid var(--border-color,#e5e7eb);border-radius:14px;padding:1rem;display:grid;gap:.6rem}.community-admin-item input,.community-admin-item textarea,.community-admin-item select{width:100%}.community-admin-form{align-self:start}.community-comment.is-moderated{opacity:.65;background:#fff7ed;padding:1rem;border-radius:12px}@media(max-width:800px){.community-login-callout,.community-admin-grid{display:block}.community-login-callout .header-actions{margin-top:1rem}.community-comment-head{display:block}.community-comment-reply{margin-left:.75rem}}
\n/* EPIC 12 — Conteúdos e artigos */
.content-library .reporting-filter-bar{margin-bottom:18px}.content-library-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.content-library-card{background:#fff;border:1px solid var(--color-border,#e5e7eb);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}.content-library-card> a img,.content-library-card img{width:100%;height:180px;object-fit:cover;display:block}.content-library-body{padding:18px;display:flex;flex-direction:column;gap:10px;height:100%}.content-library-body h3{margin:0}.content-library-body h3 a{text-decoration:none;color:inherit}.content-meta-line,.content-card-footer,.content-share,.content-tags,.content-admin-checks{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.content-meta-line{font-size:.82rem;color:#667085}.content-card-footer{font-size:.78rem;color:#667085;margin-top:auto}.content-article{max-width:900px;margin:0 auto}.content-article-header h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.05;margin:.6rem 0}.content-article-summary{font-size:1.18rem;color:#475467;line-height:1.6}.content-author{font-weight:600;color:#667085}.content-cover{width:100%;max-height:480px;object-fit:cover;border-radius:18px;margin:18px 0}.content-article-body{font-size:1.05rem;line-height:1.85;white-space:normal;background:#fff;border:1px solid var(--color-border,#e5e7eb);border-radius:16px;padding:clamp(20px,4vw,42px)}.content-tags{margin:18px 0}.content-tags a{padding:6px 10px;border-radius:999px;background:#f2f4f7;text-decoration:none}.content-share{margin:18px 0;padding:14px 0;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb}.content-related-material,.content-comments,.content-cta{max-width:900px;margin-left:auto;margin-right:auto}.content-cta{padding:22px;border-radius:16px;background:#f8fafc;border:1px solid #e5e7eb}.content-access-gate{max-width:720px;margin:40px auto}.content-admin-checks{margin:12px 0 18px}.content-comment-list{display:grid;gap:12px;margin-top:18px}.contents-grid .content-card h4 a{text-decoration:none;color:inherit}@media(max-width:700px){.content-filter{display:grid}.content-article-body{padding:20px}.content-card-footer{align-items:flex-start;flex-direction:column}}\n
/* EPIC 13 — Materiais e PDFs */
.material-library .reporting-filter-bar{margin-bottom:18px}.material-library-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.material-library-card{background:#fff;border:1px solid var(--color-border,#e5e7eb);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}.material-library-card> a img,.material-library-card img{width:100%;height:210px;object-fit:cover;display:block}.material-library-body{padding:18px;display:flex;flex-direction:column;gap:10px;height:100%}.material-library-body h3{margin:0}.material-library-body h3 a{text-decoration:none;color:inherit}.material-cover-placeholder{min-height:210px;display:flex;align-items:center;justify-content:center;font-size:4rem;background:#f8fafc;text-decoration:none}.material-detail-grid{display:grid;grid-template-columns:minmax(260px,360px) 1fr;gap:20px;align-items:start}.material-cover-panel img{width:100%;border-radius:12px;display:block}.material-cover-large{min-height:360px}.material-stats{display:grid;gap:6px;margin-top:14px;color:#667085}.material-actions{display:flex;gap:10px;flex-wrap:wrap}.content-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.content-tags a{text-decoration:none;padding:6px 10px;border-radius:999px;background:#f2f4f7}.home-material-cover{width:100%;height:150px;object-fit:cover;border-radius:10px;margin-bottom:12px}.material-card-static .content-badge{display:inline-flex;margin-bottom:8px}.btn-danger{background:#8f1d1d;color:#fff;border-color:#8f1d1d}@media(max-width:800px){.material-detail-grid{grid-template-columns:1fr}.material-cover-panel{max-width:420px}.material-library .reporting-filter-bar{display:grid}}


/* EPIC 14 — Diagnóstico financeiro e leads */
.diagnostic-page{--diag-gap:18px}.diagnostic-form{max-width:980px;margin:0 auto}.diagnostic-form h3{margin:26px 0 14px}.diagnostic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--diag-gap)}.diagnostic-grid label,.lead-detail form label{display:grid;gap:7px;font-weight:650}.diagnostic-grid input,.diagnostic-grid select,.diagnostic-grid textarea,.lead-detail form select,.lead-detail form textarea{width:100%;border:1px solid #d8dee8;border-radius:10px;padding:11px 12px;background:#fff;font:inherit}.diagnostic-span-2{grid-column:1/-1}.diagnostic-consent{display:grid;gap:10px;margin:22px 0}.diagnostic-consent label{display:flex;gap:9px;align-items:flex-start;font-weight:500}.diagnostic-consent input{margin-top:3px}.diagnostic-privacy-note{padding:14px 16px;margin:18px 0;border-left:4px solid #355d7a;background:#f7f9fb;border-radius:8px}.diagnostic-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important}.diagnostic-success{max-width:760px;margin:30px auto}.lead-status{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eef2f6;font-size:.76rem;font-weight:800}.status-new{background:#e8f0fe}.status-contacted{background:#fff3cd}.status-scheduled{background:#e7f6ec}.status-in_diagnosis{background:#e7eef8}.status-proposal_sent{background:#f3e8ff}.status-converted{background:#dff5e5}.status-lost{background:#f7e4e4}.status-no_response{background:#f1f1f1}.lead-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.lead-detail .detail-list dd{overflow-wrap:anywhere}.lead-history{display:grid;gap:10px}.lead-history-item{border-left:3px solid #d8dee8;padding:4px 0 4px 12px;display:grid;gap:3px}.lead-history-item small{color:#667085}.leads-admin .metric-card small{display:block;color:#667085;margin-top:4px}@media(max-width:800px){.diagnostic-grid,.lead-detail-grid{grid-template-columns:1fr}.diagnostic-span-2{grid-column:auto}}


/* EPIC 15 — Eventos */
.event-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:1.25rem;margin-top:1.25rem}.event-grid-compact{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.event-card{background:var(--surface,#fff);border:1px solid rgba(17,24,39,.1);border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(15,23,42,.06)}.event-card>img{width:100%;height:180px;object-fit:cover;display:block}.event-card-body{padding:1.25rem}.event-card h3{margin:.55rem 0}.event-card h3 a{text-decoration:none;color:inherit}.event-meta{display:flex;flex-wrap:wrap;gap:.55rem 1rem;color:var(--text-muted,#667085);font-size:.9rem;margin:.8rem 0}.event-detail{display:grid;grid-template-columns:minmax(0,360px) 1fr;gap:1.5rem;align-items:center}.event-cover{width:100%;max-height:300px;object-fit:cover;border-radius:14px}.tag-list a{text-decoration:none;margin-right:.45rem}.events-section{padding:5rem 0;background:var(--bg-soft,#f8fafc)}@media(max-width:800px){.event-detail{grid-template-columns:1fr}.event-cover{max-height:240px}}

/* EPIC 16 — Administração central */
.logo-image{max-height:42px;max-width:150px;object-fit:contain}.logo-label-custom{font-weight:700;max-width:220px}.footer-social-links{display:flex;flex-wrap:wrap;gap:10px;margin:.75rem 0}.footer-social-links a{font-size:.9rem;text-decoration:underline}.admin-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.admin-check{border:1px solid var(--color-border);border-radius:var(--border-radius);padding:14px;display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:center}.admin-check>span{grid-row:1/3;font-size:1.4rem;font-weight:800}.admin-check small{color:var(--color-text-muted)}.admin-check.is-ok{border-left:4px solid var(--color-success)}.admin-check.is-pending{border-left:4px solid var(--color-warning)}.admin-color-input{display:grid;grid-template-columns:70px 1fr;gap:10px}.admin-color-input input[type=color]{width:70px;height:44px;padding:2px}.taxonomy-inline-form{display:grid;gap:8px;min-width:280px;padding-top:10px}.taxonomy-inline-form input,.taxonomy-inline-form select,.taxonomy-inline-form textarea{width:100%}.taxonomy-admin details summary{cursor:pointer;font-weight:600;color:var(--color-primary-light)}.admin-audit-filters{align-items:end}.legal-admin textarea{font-family:var(--font-sans);line-height:1.5}.form-group-wide{grid-column:1/-1}
/* EPIC 17 — notificações e e-mails */
.nav-notifications{display:inline-flex!important;align-items:center;gap:.35rem}.notification-badge{display:inline-flex;min-width:1.25rem;height:1.25rem;padding:0 .3rem;align-items:center;justify-content:center;border-radius:999px;background:var(--color-accent,#c49a45);color:#fff;font-size:.72rem;font-weight:700}.notification-list{display:grid;gap:1rem}.notification-card{display:flex;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid #dfe7e2;border-radius:10px;background:#fff}.notification-card.is-unread{border-left:4px solid var(--color-accent,#c49a45);background:#fffdf8}.notification-card h4{margin:.35rem 0}.notification-meta{display:flex;gap:1rem;font-size:.8rem;color:#68766f}.notification-actions{display:flex;flex-direction:column;gap:.5rem;min-width:145px}.admin-template-list{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.admin-template-list a{display:block;padding:.65rem .75rem;border:1px solid #e1e8e4;border-radius:6px;text-decoration:none}.admin-template-list a.is-active{border-color:var(--color-primary,#092e20);font-weight:700}@media(max-width:760px){.notification-card{flex-direction:column}.notification-actions{flex-direction:row;min-width:0;flex-wrap:wrap}}
/* EPIC 18 — Métricas e tracking */
.analytics-funnel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.analytics-funnel>div{padding:18px;border:1px solid var(--border-color,#dfe5e2);border-radius:14px;background:var(--surface,#fff)}.analytics-funnel span,.analytics-funnel small{display:block}.analytics-funnel strong{display:block;font-size:2rem;margin:.25rem 0}.analytics-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:20px}.analytics-note{font-size:.9rem;opacity:.8}.analytics-action-list{display:flex;gap:10px;flex-wrap:wrap}.analytics-action-list span{padding:8px 10px;border:1px solid var(--border-color,#dfe5e2);border-radius:999px;background:#fff}@media(max-width:900px){.analytics-funnel,.analytics-two-col{grid-template-columns:1fr}}

/* EPIC 19 — LGPD e privacidade */
.privacy-center .privacy-danger-zone,.privacy-admin .privacy-danger-zone{border-left:4px solid #a43b3b}.privacy-request-form{display:grid;gap:16px}.input-compact{width:110px;max-width:100%;padding:8px 10px;border:1px solid #d8dee8;border-radius:8px}.profile-privacy-link{max-width:1100px;margin:0 auto 14px;display:flex;justify-content:flex-end}.privacy-admin code,.privacy-center code{overflow-wrap:anywhere}.privacy-danger-zone .btn-outline-danger{margin-top:12px}

/* =========================================================
   EPIC 21A — Central Financeira
   ========================================================= */
.central-finance-page{background:linear-gradient(180deg,#f7f8f5 0,#fbfbfa 260px,#f5f7f6 100%)}
.central-hero{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;padding:30px;border:1px solid #dfe6e2;border-radius:24px;background:linear-gradient(135deg,#fff 0,#fbfcfa 58%,#f1f6f2 100%);box-shadow:0 14px 35px rgba(9,46,32,.07);margin-bottom:18px}
.central-hero h1{font-size:clamp(2rem,4vw,3rem);line-height:1.02;color:var(--color-primary);margin:.2rem 0 .7rem}.central-hero p{max-width:720px;color:#667085;margin:0;line-height:1.55}.central-hero-actions{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;justify-content:flex-end}.central-period-form{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.central-period-form label{display:grid;gap:6px;font-size:.78rem;font-weight:800;color:#475467}.central-period-form input{min-height:42px;padding:8px 11px;border:1px solid #d6ded9;border-radius:10px;background:#fff}
.financial-nav{margin:0 0 22px;overflow:hidden;border:1px solid #dde5e0;background:#fff;border-radius:16px;box-shadow:0 5px 18px rgba(15,23,42,.035)}.financial-nav-track{display:flex;overflow-x:auto;padding:7px;gap:4px;scrollbar-width:thin}.financial-nav-link{white-space:nowrap;padding:10px 13px;border-radius:10px;text-decoration:none;color:#55635b;font-size:.82rem;font-weight:750;transition:.18s ease}.financial-nav-link:hover{background:#f2f6f3;color:var(--color-primary)}.financial-nav-link.is-active{background:var(--color-primary);color:#fff;box-shadow:0 4px 11px rgba(9,46,32,.18)}
.central-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.central-kpi{background:#fff;border:1px solid #e0e6e2;border-radius:18px;padding:19px;box-shadow:0 6px 18px rgba(15,23,42,.035);min-height:126px}.central-kpi-featured{border-color:rgba(196,154,69,.55);background:linear-gradient(145deg,#fffdf8,#fff)}.central-kpi>span{display:block;color:#667085;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.045em}.central-kpi>strong{display:block;color:var(--color-primary);font-family:var(--font-heading);font-size:clamp(1.35rem,2.3vw,2rem);margin:10px 0 5px;line-height:1.05}.central-kpi>small{color:#7a8580;font-size:.75rem;line-height:1.35}.is-positive{color:#176b46!important}.is-negative{color:#a23a3a!important}
.central-layout-main{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(300px,.78fr);gap:18px;align-items:start}.central-main-column,.central-side-column{display:grid;gap:18px}.central-panel{padding:24px;border-radius:18px}.central-panel h3{margin:.15rem 0 .35rem;color:var(--color-primary)}.central-panel p{color:#667085;line-height:1.5}.section-title-row{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.central-empty{padding:18px;border:1px dashed #cfd9d3;background:#fafcfb;border-radius:13px}.central-empty.compact{padding:14px}.central-empty strong{display:block;color:#263b30;margin-bottom:5px}.central-empty p{margin:0 0 12px;font-size:.88rem}
.central-budget-summary,.central-annual-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.central-annual-totals{grid-template-columns:repeat(4,minmax(0,1fr))}.central-budget-summary>div,.central-annual-totals>div{padding:13px 14px;background:#f8faf9;border:1px solid #e6ebe8;border-radius:12px}.central-budget-summary span,.central-annual-totals span{display:block;font-size:.74rem;color:#77817c;font-weight:700}.central-budget-summary strong,.central-annual-totals strong{display:block;margin-top:5px;color:#1d3b2c;font-size:1.04rem}.central-budget-list{display:grid;gap:12px}.central-budget-row{display:grid;grid-template-columns:minmax(170px,1fr) minmax(140px,1.35fr) 45px;gap:13px;align-items:center}.central-budget-copy{display:grid;gap:2px}.central-budget-copy strong{font-size:.88rem;color:#34453c}.central-budget-copy small{font-size:.74rem;color:#7a8580}.central-progress{height:9px;border-radius:99px;background:#edf1ef;overflow:hidden}.central-progress span{height:100%;display:block;border-radius:99px;background:linear-gradient(90deg,#265c44,#4d866c)}.central-budget-row.is-alert .central-progress span{background:#ad6c38}.central-budget-row>b{font-size:.8rem;color:#59645e;text-align:right}.central-progress.large{height:12px;margin:14px 0}
.central-annual-chart{height:170px;display:flex;align-items:flex-end;gap:6px;border-bottom:1px solid #e2e8e4;padding:12px 4px 0;margin-top:12px}.central-chart-month{flex:1;min-width:0;text-align:center}.central-chart-bars{height:125px;display:flex;align-items:flex-end;justify-content:center;gap:2px}.central-chart-bars i{display:block;width:38%;max-width:16px;min-width:5px;border-radius:5px 5px 0 0}.central-chart-bars .is-income{background:#2b7353}.central-chart-bars .is-expense{background:#b66b62}.central-chart-month small{font-size:.67rem;color:#7a8580}.central-chart-legend{display:flex;gap:18px;margin-top:10px;font-size:.74rem;color:#667085}.central-chart-legend span{display:inline-flex;align-items:center;gap:6px}.central-chart-legend i{width:9px;height:9px;border-radius:3px}.legend-income{background:#2b7353}.legend-expense{background:#b66b62}
.central-transaction-list{display:grid}.central-transaction-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto auto;gap:11px;align-items:center;padding:12px 0;border-bottom:1px solid #edf0ee}.central-transaction-row:last-child{border-bottom:0}.central-transaction-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;font-weight:900;background:#f3e6e4;color:#9c4640}.central-transaction-icon.is-income{background:#e8f4ed;color:#1d6b49}.central-transaction-copy{display:grid;gap:2px;min-width:0}.central-transaction-copy strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#314039;font-size:.88rem}.central-transaction-copy small{color:#7a8580;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.central-status{padding:4px 7px;background:#f3f5f4;border-radius:999px;color:#68726d;font-size:.68rem;font-weight:700}.central-transaction-row>b{font-size:.84rem;white-space:nowrap}
.central-quick-entry{border-top:4px solid var(--color-accent)}.central-quick-form{display:grid;gap:11px;margin-top:14px}.central-quick-form>label{display:grid;gap:5px;font-size:.77rem;color:#55615b;font-weight:750}.central-quick-form input,.central-quick-form select{width:100%;min-height:42px;border:1px solid #d8dfdb;border-radius:10px;padding:9px 10px;background:#fff;font:inherit}.central-kind-toggle{display:grid;grid-template-columns:1fr 1fr;gap:7px}.central-kind-toggle label{cursor:pointer}.central-kind-toggle input{position:absolute;opacity:0;pointer-events:none}.central-kind-toggle span{display:block;padding:9px 10px;border:1px solid #dbe2de;border-radius:10px;text-align:center;font-size:.8rem;font-weight:800;background:#fafbfa}.central-kind-toggle input:checked+span{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.central-more-link{font-size:.76rem;text-align:center;color:#4b6557;text-decoration:none;font-weight:700}.central-more-link:hover{text-decoration:underline}
.central-reserve-number{display:flex;align-items:baseline;gap:6px;margin-top:15px}.central-reserve-number strong{font-size:1.7rem;color:var(--color-primary)}.central-reserve-number span{font-size:.8rem;color:#7b8580}.central-reserve-meta{display:grid;gap:4px;color:#667085;font-size:.76rem}.central-action-list{display:grid;margin-top:12px}.central-action-list a{position:relative;display:grid;gap:3px;padding:12px 28px 12px 0;border-bottom:1px solid #edf0ee;text-decoration:none}.central-action-list a:last-child{border-bottom:0}.central-action-list strong{color:#33483c;font-size:.84rem}.central-action-list small{color:#7a8580;line-height:1.35}.central-action-list a>span{position:absolute;right:2px;top:50%;transform:translateY(-50%);font-size:1.1rem;color:#86918b}.central-definition{margin:14px 0 16px}.central-definition>div{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid #edf0ee}.central-definition dt{color:#6f7b74}.central-definition dd{margin:0;font-weight:750;color:#35453c}.central-definition .is-total{padding-top:13px;border-bottom:0}.central-definition .is-total dt,.central-definition .is-total dd{font-weight:850;color:var(--color-primary)}
.module-card-finance-hub{border-color:rgba(196,154,69,.6)!important;background:linear-gradient(145deg,#fffdf8,#fff)!important}
@media(max-width:1050px){.central-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.central-layout-main{grid-template-columns:1fr}.central-side-column{grid-template-columns:repeat(2,minmax(0,1fr))}.central-quick-entry{grid-row:span 2}}
@media(max-width:760px){.central-finance-page .dashboard-container{padding:0 14px}.central-hero{padding:22px;align-items:flex-start;flex-direction:column;border-radius:18px}.central-hero-actions,.central-period-form{width:100%}.central-period-form label{flex:1}.central-period-form input{width:100%}.central-kpi-grid{grid-template-columns:1fr 1fr;gap:10px}.central-kpi{padding:15px;min-height:112px}.central-kpi>strong{font-size:1.35rem}.central-side-column{grid-template-columns:1fr}.section-title-row{flex-direction:column}.central-budget-summary,.central-annual-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.central-budget-row{grid-template-columns:1fr auto}.central-budget-row .central-progress{grid-column:1/-1;grid-row:2}.central-transaction-row{grid-template-columns:32px minmax(0,1fr) auto}.central-status{display:none}.financial-nav{border-radius:12px}.central-panel{padding:18px}}
@media(max-width:480px){.central-kpi-grid{grid-template-columns:1fr}.central-budget-summary,.central-annual-totals{grid-template-columns:1fr 1fr}.central-transaction-row>b{font-size:.76rem}.central-annual-chart{gap:2px}.central-chart-bars{gap:1px}}

/* =========================================================
   EPIC 21B — Contextos Financeiros
   ========================================================= */
.financial-workspace-bar{display:flex;align-items:center;gap:14px;padding:14px 16px;margin:0 0 10px;border:1px solid #dce5df;border-radius:15px;background:linear-gradient(135deg,#f8fbf9,#fff);box-shadow:0 4px 14px rgba(15,23,42,.025)}
.financial-workspace-current{display:grid;gap:2px;min-width:190px}.financial-workspace-current>span,.financial-workspace-switcher span{font-size:.68rem;text-transform:uppercase;letter-spacing:.055em;font-weight:850;color:#7a8580}.financial-workspace-current strong{color:var(--color-primary);font-size:.98rem}.financial-workspace-current small{color:#78827d;font-size:.72rem}.financial-workspace-switcher{margin-left:auto}.financial-workspace-switcher label{display:grid;gap:4px}.financial-workspace-switcher select{min-width:220px;min-height:39px;border:1px solid #d3ddd7;border-radius:9px;padding:7px 9px;background:#fff;color:#35453c;font:inherit;font-size:.8rem;font-weight:700}
.workspace-hero{align-items:center}.workspace-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.7fr);gap:18px;align-items:start}.workspace-main-column,.workspace-side-column{display:grid;gap:18px}.workspace-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.workspace-card{display:grid;grid-template-columns:44px minmax(0,1fr) 22px;align-items:center;gap:12px;padding:16px;border:1px solid #dfe6e2;border-radius:15px;background:#fff;text-decoration:none;transition:.18s ease}.workspace-card:hover{transform:translateY(-1px);border-color:#b9cbbf;box-shadow:0 8px 18px rgba(9,46,32,.06)}.workspace-card.is-active{border-color:rgba(196,154,69,.7);background:linear-gradient(145deg,#fffdf7,#fff)}.workspace-type-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#edf4ef;color:var(--color-primary);font-size:1.05rem}.workspace-card>div{display:grid;gap:3px;min-width:0}.workspace-card small{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:#7a8580;font-weight:800}.workspace-card strong{color:#2f4438;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace-card span:not(.workspace-type-icon){font-size:.72rem;color:#77817c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace-card>b{color:#8b9991}
.workspace-detail-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:18px 0}.workspace-detail-strip>span{padding:12px;background:#f7faf8;border:1px solid #e6ebe8;border-radius:11px}.workspace-detail-strip small{display:block;color:#7a8580;font-size:.68rem;font-weight:750}.workspace-detail-strip strong{display:block;color:#33483c;margin-top:3px;font-size:.84rem}.workspace-details{margin-top:14px;padding-top:14px;border-top:1px solid #e8ece9}.workspace-details summary{cursor:pointer;color:var(--color-primary);font-weight:800;margin-bottom:14px}.form-span-2{grid-column:1/-1}
.workspace-members-list{display:grid;margin-top:15px}.workspace-members-list>article{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px 0;border-bottom:1px solid #edf0ee}.workspace-member-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#eaf2ed;color:var(--color-primary);font-weight:900}.workspace-member-copy{display:grid;gap:2px}.workspace-member-copy strong{color:#33483c;font-size:.86rem}.workspace-member-copy small{color:#7a8580;font-size:.72rem}.workspace-role-form,.workspace-inline-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.workspace-role-form select{min-height:34px;border:1px solid #d7dfda;border-radius:8px;padding:5px 7px;background:#fff;font-size:.75rem}.workspace-invite-form{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(160px,.7fr) auto;gap:10px;align-items:end;margin-top:18px;padding:15px;border-radius:13px;background:#f8faf9;border:1px solid #e1e8e4}.workspace-invite-form label,.workspace-create-form label{display:grid;gap:5px;font-size:.76rem;font-weight:750;color:#536159}.workspace-invite-form input,.workspace-invite-form select,.workspace-create-form input,.workspace-create-form select,.workspace-create-form textarea{width:100%;border:1px solid #d7dfda;border-radius:9px;padding:9px 10px;background:#fff;font:inherit}.workspace-invite-form small{display:block;margin-top:4px;color:#7a8580;font-size:.68rem}.workspace-leave-form{margin-top:13px}.workspace-create-form{display:grid;gap:11px;margin-top:15px}.workspace-safety-card ul{padding-left:18px;color:#526159;line-height:1.8}.workspace-danger-card{border-color:rgba(162,58,58,.28)}
.workspace-invitations{margin-bottom:18px;border-left:4px solid var(--color-accent)}.workspace-count-badge{padding:6px 9px;border-radius:999px;background:#f5eddb;color:#725a22;font-size:.7rem;font-weight:850}.workspace-invite-list{display:grid;margin-top:10px}.workspace-invite-list article{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px 0;border-bottom:1px solid #edf0ee}.workspace-invite-list article:last-child{border-bottom:0}.workspace-invite-list article>div:first-child{display:grid;gap:3px}.workspace-invite-list strong{color:#33483c}.workspace-invite-list small{color:#7a8580;font-size:.73rem}
@media(max-width:900px){.workspace-layout{grid-template-columns:1fr}.workspace-side-column{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-create-card{grid-row:span 2}.workspace-detail-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-invite-form{grid-template-columns:1fr 1fr}.workspace-invite-form button{grid-column:1/-1}.financial-workspace-bar{flex-wrap:wrap}.financial-workspace-switcher{margin-left:0;flex:1}.financial-workspace-switcher label,.financial-workspace-switcher select{width:100%}}
@media(max-width:650px){.workspace-card-grid{grid-template-columns:1fr}.workspace-side-column{grid-template-columns:1fr}.workspace-members-list>article{grid-template-columns:36px minmax(0,1fr)}.workspace-role-form{grid-column:1/-1;padding-left:47px}.workspace-invite-form{grid-template-columns:1fr}.workspace-detail-strip{grid-template-columns:1fr 1fr}.workspace-invite-list article{align-items:flex-start;flex-direction:column}.financial-workspace-bar>.btn{width:100%}.financial-workspace-switcher{width:100%}}

/* =========================================================
   EPIC 21C — Planejamento anual, reservas e destinação
   ========================================================= */
.annual-month-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}.annual-month-card{border:1px solid rgba(15,70,54,.12);border-radius:18px;padding:16px;background:var(--surface,#fff);box-shadow:0 8px 24px rgba(15,46,36,.05)}.annual-month-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.annual-month-head strong{font-size:1.05rem}.annual-month-head span{font-weight:800}.annual-month-card dl{margin:0;display:grid;gap:6px}.annual-month-card dl div{display:flex;justify-content:space-between;gap:10px;font-size:.86rem}.annual-month-card dt{color:var(--text-muted,#66756e)}.annual-month-card dd{margin:0;font-weight:700}.annual-items-list{display:grid;gap:14px}.annual-item-card{border:1px solid rgba(15,70,54,.12);border-radius:18px;padding:18px;background:#fff}.annual-item-main{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.annual-item-main h4{margin:5px 0 3px}.annual-item-main>strong{font-size:1.05rem}.annual-item-months{display:grid;grid-template-columns:repeat(12,minmax(64px,1fr));gap:6px;margin-top:14px;overflow-x:auto}.annual-item-months span{min-width:64px;padding:8px;border-radius:10px;background:rgba(15,70,54,.045);font-size:.76rem;text-align:center}.annual-item-months b{display:block;margin-bottom:3px;color:var(--green-dark,#0d4938)}.annual-custom-months{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:14px 0}.annual-custom-months label span{display:block;font-size:.78rem;font-weight:700;margin-bottom:4px}.annual-custom-months input{width:100%}.seasonal-list{display:grid;gap:10px}.seasonal-row{display:flex;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid rgba(15,70,54,.10);border-radius:14px}.seasonal-row div{display:grid;gap:2px}.seasonal-row small{color:var(--text-muted,#66756e)}.seasonal-row.is-upcoming{border-left:4px solid #c99c3f;background:rgba(201,156,63,.055)}
.envelope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.envelope-card{border:1px solid rgba(15,70,54,.12);border-radius:20px;padding:18px;background:#fff;box-shadow:0 8px 24px rgba(15,46,36,.05)}.envelope-card.status-archived{opacity:.72}.envelope-card.status-completed{border-color:rgba(35,130,87,.28)}.envelope-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.envelope-card-head h4{margin:5px 0 2px}.envelope-card-head>strong{font-size:1.15rem}.envelope-quick-form{display:grid;grid-template-columns:1.2fr .8fr 1fr auto;gap:8px;margin-top:14px}.envelope-quick-form select,.envelope-quick-form input{min-width:0}.allocation-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0 18px}.allocation-summary span{padding:13px 14px;border-radius:14px;background:rgba(15,70,54,.055);display:grid;gap:3px;font-size:.84rem}.allocation-summary strong{font-size:1.02rem}.allocation-list{display:grid;gap:10px}.allocation-row{display:grid;grid-template-columns:minmax(220px,1.8fr) minmax(120px,.7fr) minmax(120px,.7fr) auto;gap:14px;align-items:center;padding:14px 16px;border:1px solid rgba(15,70,54,.10);border-radius:14px}.allocation-row>div{display:grid;gap:3px}.allocation-row small{color:var(--text-muted,#66756e)}
@media (max-width:1100px){.annual-month-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.annual-custom-months{grid-template-columns:repeat(4,minmax(0,1fr))}.envelope-grid{grid-template-columns:1fr}.annual-item-months{grid-template-columns:repeat(6,minmax(72px,1fr))}.allocation-row{grid-template-columns:1fr 1fr 1fr}.allocation-row form{grid-column:1/-1}}
@media (max-width:720px){.annual-month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.annual-custom-months{grid-template-columns:repeat(2,minmax(0,1fr))}.annual-item-main,.envelope-card-head{flex-direction:column}.annual-item-months{grid-template-columns:repeat(4,minmax(72px,1fr))}.envelope-quick-form{grid-template-columns:1fr 1fr}.allocation-summary{grid-template-columns:1fr}.allocation-row{grid-template-columns:1fr 1fr}.allocation-row>div:first-child,.allocation-row form{grid-column:1/-1}}
@media (max-width:460px){.annual-month-grid{grid-template-columns:1fr}.annual-item-months{grid-template-columns:repeat(3,minmax(72px,1fr))}.envelope-quick-form,.allocation-row{grid-template-columns:1fr}}

/* =========================================================
   EPIC 21D — Inteligência de dívidas, projeções e evolução
   ========================================================= */
.debt-intelligence-page .intelligence-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.intelligence-plan-badge{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:rgba(15,70,54,.08);color:var(--color-primary);font-size:.72rem;font-weight:850}.intelligence-simulator-form{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(160px,.8fr) minmax(220px,1.2fr) minmax(140px,.7fr) auto;gap:10px;align-items:end;margin:18px 0;padding:16px;border-radius:16px;background:#f7faf8;border:1px solid rgba(15,70,54,.10)}.intelligence-simulator-form label{display:grid;gap:5px}.intelligence-simulator-form label>span{font-size:.75rem;font-weight:800;color:#526159}.intelligence-simulator-form input,.intelligence-simulator-form select{width:100%;min-height:40px;border:1px solid #d5dfd9;border-radius:10px;padding:8px 10px;background:#fff;font:inherit}.debt-scenario-comparison{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.debt-scenario-card{padding:18px;border:1px solid rgba(15,70,54,.12);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(15,46,36,.045)}.debt-scenario-card>span{display:block;color:#6a7770;font-size:.73rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.debt-scenario-card>strong{display:block;margin:7px 0 14px;font-size:1.45rem;color:#263d31}.debt-scenario-card.is-highlight{border-color:rgba(196,154,69,.5);background:linear-gradient(145deg,#fffdf7,#fff)}.debt-scenario-card.is-result{border-color:rgba(32,120,78,.3);background:rgba(32,120,78,.035)}.debt-scenario-card dl,.projection-card dl{margin:0;display:grid;gap:7px}.debt-scenario-card dl div,.projection-card dl div{display:flex;justify-content:space-between;gap:12px;font-size:.82rem}.debt-scenario-card dt,.projection-card dt{color:#6b7871}.debt-scenario-card dd,.projection-card dd{margin:0;font-weight:800;text-align:right}.debt-priority-table{margin-top:16px}.intelligence-save-plan{margin-top:18px;border-top:1px solid #e7ece9;padding-top:18px}.projection-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}.projection-card{padding:18px;border-radius:18px;border:1px solid rgba(15,70,54,.12);background:#fff}.projection-card>span{display:block;font-size:.75rem;font-weight:850;text-transform:uppercase;color:#6a7770}.projection-card>strong{display:block;margin:7px 0 2px;font-size:1.28rem;color:#2d4437}.projection-card>small{display:block;margin-bottom:14px;color:#7b8680}.intelligence-evolution{max-height:620px;overflow:auto}
@media(max-width:1180px){.debt-intelligence-page .intelligence-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.intelligence-simulator-form{grid-template-columns:repeat(2,minmax(0,1fr))}.intelligence-simulator-form .btn{grid-column:1/-1}.debt-scenario-comparison{grid-template-columns:1fr 1fr}.debt-scenario-card.is-result{grid-column:1/-1}.projection-card-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.debt-intelligence-page .intelligence-summary-grid,.debt-scenario-comparison,.projection-card-grid,.intelligence-simulator-form{grid-template-columns:1fr}.debt-scenario-card.is-result,.intelligence-simulator-form .btn{grid-column:auto}.intelligence-evolution{max-height:none}.intelligence-evolution .wealth-evolution-head,.intelligence-evolution .wealth-evolution-row{min-width:700px}}
