/* Tokens e regras base do layout (extraído de layouts/base.blade.php - T047) */
:root {
            --radius: 0.9rem;
            --background: oklch(97.8% 0.008 85);
            --foreground: oklch(26% 0.035 45);
            --card: oklch(100% 0 0);
            --card-foreground: oklch(26% 0.035 45);
            --popover: oklch(100% 0 0);
            --popover-foreground: oklch(26% 0.035 45);
            --primary: oklch(63% 0.18 42);
            --primary-foreground: oklch(99% 0.005 85);
            --secondary: oklch(95% 0.02 75);
            --secondary-foreground: oklch(33% 0.05 45);
            --muted: oklch(95.5% 0.012 80);
            --muted-foreground: oklch(52% 0.03 55);
            --accent: oklch(94% 0.035 70);
            --accent-foreground: oklch(33% 0.06 45);
            --destructive: oklch(58% 0.2 22);
            --destructive-foreground: oklch(99% 0.005 85);
            --success: oklch(60% 0.14 155);
            --success-foreground: oklch(99% 0.005 85);
            --warning: oklch(79% 0.15 78);
            --warning-foreground: oklch(30% 0.06 55);
            --info: oklch(60% 0.13 240);
            --info-foreground: oklch(99% 0.005 85);
            --border: oklch(91% 0.015 75);
            --input: oklch(91% 0.015 75);
            --ring: oklch(63% 0.18 42);
            --chart-1: oklch(68% 0.18 50);
            --chart-2: oklch(60% 0.13 240);
            --chart-3: oklch(62% 0.14 155);
            --chart-4: oklch(55% 0.17 300);
            --chart-5: oklch(66% 0.17 15);
            --sidebar: oklch(31% 0.045 40);
            --sidebar-foreground: oklch(94% 0.015 80);
            --sidebar-primary: oklch(98% 0.008 85);
            --sidebar-primary-foreground: oklch(31% 0.045 40);
            --sidebar-accent: oklch(37% 0.05 40);
            --sidebar-accent-foreground: oklch(97% 0.01 80);
            --sidebar-border: oklch(40% 0.045 40);
            --sidebar-ring: oklch(63% 0.18 42);
        }
        .dark {
            --background: oklch(19% 0.02 45);
            --foreground: oklch(95% 0.01 80);
            --card: oklch(24% 0.025 45);
            --card-foreground: oklch(95% 0.01 80);
            --popover: oklch(24% 0.025 45);
            --popover-foreground: oklch(95% 0.01 80);
            --primary: oklch(70% 0.17 45);
            --primary-foreground: oklch(20% 0.03 45);
            --secondary: oklch(30% 0.03 45);
            --secondary-foreground: oklch(95% 0.01 80);
            --muted: oklch(29% 0.025 45);
            --muted-foreground: oklch(72% 0.02 70);
            --accent: oklch(33% 0.04 45);
            --accent-foreground: oklch(96% 0.01 80);
            --destructive: oklch(65% 0.19 22);
            --destructive-foreground: oklch(98% 0.005 85);
            --success: oklch(68% 0.14 155);
            --success-foreground: oklch(20% 0.03 45);
            --warning: oklch(82% 0.15 78);
            --warning-foreground: oklch(25% 0.04 55);
            --info: oklch(68% 0.13 240);
            --info-foreground: oklch(20% 0.03 45);
            --border: oklch(100% 0 0/.12);
            --input: oklch(100% 0 0/.16);
            --ring: oklch(70% 0.17 45);
            --chart-1: oklch(72% 0.18 50);
            --chart-2: oklch(68% 0.13 240);
            --chart-3: oklch(68% 0.14 155);
            --chart-4: oklch(65% 0.17 300);
            --chart-5: oklch(70% 0.17 15);
            --sidebar: oklch(24% 0.03 40);
            --sidebar-foreground: oklch(94% 0.015 80);
            --sidebar-primary: oklch(70% 0.17 45);
            --sidebar-primary-foreground: oklch(20% 0.03 45);
            --sidebar-accent: oklch(31% 0.04 40);
            --sidebar-accent-foreground: oklch(96% 0.01 80);
            --sidebar-border: oklch(100% 0 0/.12);
            --sidebar-ring: oklch(70% 0.17 45);
        }

        body {
            font-family: 'DM Sans', system-ui, sans-serif;
            background-color: var(--background);
            color: var(--foreground);
            -webkit-font-smoothing: antialiased;
        }
        .font-display {
            font-family: 'Fraunces', Georgia, serif;
            letter-spacing: -0.01em;
        }
        .label-caps {
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: var(--muted-foreground);
            font-size: 0.7rem;
            font-weight: 700;
        }
        .panel-card {
            background-color: var(--card);
            border: 1px solid var(--border);
            border-radius: calc(var(--radius) + 4px);
            box-shadow: 0 1px 2px oklch(28% .05 45/.06), 0 8px 24px -12px oklch(28% .05 45/.18);
        }
        .panel-stat-card {
            background-color: var(--card);
            border: 1px solid var(--border);
            border-radius: calc(var(--radius) + 4px);
            box-shadow: 0 1px 2px oklch(28% .05 45/.06), 0 8px 24px -12px oklch(28% .05 45/.18);
            padding: 0.75rem;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            min-height: 96px;
            height: 100%;
        }
        @media (min-width: 640px) {
            .panel-stat-card {
                padding: 1rem;
                min-height: 120px;
            }
        }
        .panel-card-header, .panel-section__header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.75rem;
            padding: 0.875rem 1.25rem;
            border-bottom: 1px solid var(--border);
            background-color: color-mix(in srgb, var(--muted) 12%, transparent);
        }
        .panel-card-title, .panel-section__title {
            font-size: 0.9375rem;
            font-weight: 600;
            color: var(--foreground);
            margin: 0;
            line-height: 1.25;
        }
