:root{--cidadao-green-500:#22c55e;--cidadao-green-600:#16a34a;--cidadao-green-700:#15803d;--cidadao-green-800:#14532d;--cidadao-blue-500:#3b82f6;--cidadao-blue-600:#2563eb;--cidadao-blue-700:#1d4ed8;--cidadao-yellow-500:#eab308;--cidadao-yellow-600:#ca8a04;--cidadao-yellow-700:#a16207;--cidadao-yellow-800:#854d0e;--cidadao-purple-600:#9333ea;--cidadao-red-600:#dc2626;--color-primary:var(--cidadao-green-600);--color-primary-hover:var(--cidadao-green-700);--color-primary-light:var(--cidadao-green-500);--color-secondary:var(--cidadao-blue-600);--color-secondary-hover:var(--cidadao-blue-700);--color-secondary-light:var(--cidadao-blue-500);--color-accent:var(--cidadao-yellow-600);--color-accent-light:var(--cidadao-yellow-500);--color-success:var(--cidadao-green-600);--color-warning:var(--cidadao-yellow-600);--color-danger:var(--cidadao-red-600);--color-info:var(--cidadao-blue-600);--color-neutral-50:#f9fafb;--color-neutral-200:#e5e7eb;--color-neutral-500:#6b7280;--color-neutral-700:#374151;--color-neutral-900:#111827;--color-surface-primary:#ffffff;--color-surface-secondary:var(--color-neutral-50);--color-surface-elevated:#ffffff;--color-surface-overlay:rgba(0,0,0,0.5);--color-border:var(--color-neutral-200);--color-border-hover:var(--color-neutral-500);--color-text-primary:var(--color-neutral-900);--color-text-secondary:var(--color-neutral-700);--color-text-muted:var(--color-neutral-500);--color-text-inverse:#ffffff}.dark{--cidadao-green-500:#22c55e;--cidadao-green-600:#16a34a;--cidadao-green-700:#14532d;--cidadao-blue-500:#60a5fa;--cidadao-blue-600:#3b82f6;--cidadao-blue-700:#2563eb;--color-surface-primary:#1f2937;--color-surface-secondary:#111827;--color-surface-elevated:#374151;--color-surface-overlay:rgba(0,0,0,0.8);--color-border:#374151;--color-border-hover:#6b7280;--color-text-primary:#f9fafb;--color-text-secondary:#e5e7eb;--color-text-muted:#9ca3af;--color-text-inverse:#111827}:root{--gradient-brand:linear-gradient(to right,var(--cidadao-green-600),var(--cidadao-yellow-500),var(--cidadao-blue-600));--gradient-primary:linear-gradient(to right,var(--cidadao-green-600),var(--cidadao-blue-600));--gradient-secondary:linear-gradient(to right,var(--cidadao-blue-600),var(--cidadao-purple-600));--gradient-overlay-light:linear-gradient(to top right,rgba(34,197,94,0.1),transparent,rgba(59,130,246,0.1));--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--button-padding-x-sm:var(--space-3);--button-padding-y-sm:var(--space-2);--button-padding-x:var(--space-6);--button-padding-y:var(--space-3);--button-padding-x-lg:var(--space-8);--button-padding-y-lg:var(--space-4);--card-padding-sm:var(--space-4);--card-padding:var(--space-6);--card-padding-lg:var(--space-8);--card-gap:var(--space-4);--form-gap:var(--space-4);--form-group-gap:var(--space-6);--input-padding-x:var(--space-4);--input-padding-y:var(--space-3);--section-spacing-sm:var(--space-12);--section-spacing:var(--space-20);--section-spacing-lg:var(--space-24);--container-padding-x:var(--space-6);--nav-item-gap:var(--space-8);--nav-padding-x:var(--space-4);--nav-padding-y:var(--space-3);--breadcrumb-gap:var(--space-2);--modal-padding:var(--space-6);--modal-header-padding:var(--space-6);--modal-footer-padding:var(--space-4);--modal-gap:var(--space-4);--list-item-gap:var(--space-2);--list-group-gap:var(--space-4);--mobile-container-padding-x:var(--space-4);--mobile-section-spacing:var(--space-12);--mobile-card-padding:var(--space-4);--font-sans:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:"Fira Code","SF Mono",Consolas,"Liberation Mono",Menlo,monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-6xl:3.75rem;--text-7xl:4.5rem;--leading-none:1;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:1.75;--leading-extra:2;--font-thin:100;--font-light:300;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--font-extrabold:800;--font-black:900;--tracking-tighter:-0.05em;--tracking-tight:-0.025em;--tracking-normal:0;--tracking-wide:0.025em;--tracking-wider:0.05em;--tracking-widest:0.1em;--heading-font-weight:var(--font-bold);--heading-line-height:var(--leading-tight);--heading-letter-spacing:var(--tracking-tight);--body-font-size:var(--text-base);--body-line-height:var(--leading-normal);--body-font-weight:var(--font-normal);--ui-font-size:var(--text-sm);--ui-font-weight:var(--font-medium);--ui-line-height:var(--leading-normal);--button-font-size:var(--text-base);--button-font-weight:var(--font-semibold);--button-letter-spacing:var(--tracking-wide);--button-text-transform:none;--label-font-size:var(--text-sm);--label-font-weight:var(--font-medium);--label-line-height:var(--leading-tight);--caption-font-size:var(--text-xs);--caption-font-weight:var(--font-normal);--caption-line-height:var(--leading-normal);--code-font-family:var(--font-mono);--code-font-size:0.875em;--code-font-weight:var(--font-normal);--text-base-desktop:1.125rem;--heading-scale-desktop:1.25;--ease-linear:linear;--ease-in:cubic-bezier(0.4,0,1,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--ease-bounce:cubic-bezier(0.68,-0.55,0.265,1.55);--ease-smooth:cubic-bezier(0.4,0,0.2,1);--ease-sharp:cubic-bezier(0.4,0,0.6,1);--duration-instant:0ms;--duration-faster:100ms;--duration-fast:150ms;--duration-normal:200ms;--duration-slow:300ms;--duration-slower:400ms;--duration-slowest:500ms;--duration-button:var(--duration-normal);--duration-card:var(--duration-normal);--duration-menu:var(--duration-fast);--duration-modal:var(--duration-slow);--duration-page:var(--duration-slower);--transition-none:none;--transition-all:all var(--duration-normal) var(--ease-in-out);--transition-colors:color var(--duration-fast) var(--ease-in-out),background-color var(--duration-fast) var(--ease-in-out),border-color var(--duration-fast) var(--ease-in-out);--transition-opacity:opacity var(--duration-normal) var(--ease-in-out);--transition-transform:transform var(--duration-normal) var(--ease-smooth);--transition-shadow:box-shadow var(--duration-normal) var(--ease-in-out);--transition-button:var(--transition-colors),var(--transition-transform),var(--transition-shadow);--transition-card:var(--transition-shadow),var(--transition-transform);--transition-link:var(--transition-colors);--transition-input:var(--transition-colors),var(--transition-shadow);--animate-fade-in:fade-in var(--duration-normal) var(--ease-out);--animate-fade-out:fade-out var(--duration-fast) var(--ease-in);--animate-slide-up:slide-up var(--duration-normal) var(--ease-out);--animate-slide-down:slide-down var(--duration-normal) var(--ease-out);--animate-slide-left:slide-left var(--duration-normal) var(--ease-out);--animate-slide-right:slide-right var(--duration-normal) var(--ease-out);--animate-scale-in:scale-in var(--duration-fast) var(--ease-bounce);--animate-scale-out:scale-out var(--duration-fast) var(--ease-in);--animate-pulse:pulse 2s var(--ease-in-out) infinite;--animate-bounce:bounce 1s var(--ease-bounce) infinite;--animate-spin:spin 1s var(--ease-linear) infinite}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes slide-up{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slide-down{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slide-left{0%{transform:translateX(10px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slide-right{0%{transform:translateX(-10px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes scale-in{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scale-out{0%{transform:scale(1);opacity:1}to{transform:scale(.9);opacity:0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--shadow-xs:0 1px 2px 0 rgba(0,0,0,0.05);--shadow-sm:0 1px 3px 0 rgba(0,0,0,0.1),0 1px 2px 0 rgba(0,0,0,0.06);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,0.1),0 10px 10px -5px rgba(0,0,0,0.04);--shadow-2xl:0 25px 50px -12px rgba(0,0,0,0.25);--shadow-card:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);--shadow-card-hover:0 4px 6px rgba(0,0,0,0.16),0 3px 6px rgba(0,0,0,0.23);--shadow-card-elevated:0 8px 16px rgba(0,0,0,0.08),0 4px 8px rgba(0,0,0,0.12);--shadow-button:0 2px 4px rgba(0,0,0,0.1);--shadow-button-hover:0 4px 8px rgba(0,0,0,0.15);--shadow-modal:0 20px 25px -5px rgba(0,0,0,0.1),0 10px 10px -5px rgba(0,0,0,0.04);--shadow-inner:inset 0 2px 4px 0 rgba(0,0,0,0.06);--shadow-inner-lg:inset 0 4px 8px 0 rgba(0,0,0,0.1)}.dark{--shadow-xs:0 1px 2px 0 rgba(0,0,0,0.3);--shadow-sm:0 1px 3px 0 rgba(0,0,0,0.4),0 1px 2px 0 rgba(0,0,0,0.3);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.4),0 2px 4px -1px rgba(0,0,0,0.3);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.4),0 4px 6px -2px rgba(0,0,0,0.3);--shadow-xl:0 20px 25px -5px rgba(0,0,0,0.4),0 10px 10px -5px rgba(0,0,0,0.3);--shadow-2xl:0 25px 50px -12px rgba(0,0,0,0.6);--shadow-card:0 1px 3px rgba(0,0,0,0.24),0 1px 2px rgba(0,0,0,0.48);--shadow-card-hover:0 4px 6px rgba(0,0,0,0.32),0 3px 6px rgba(0,0,0,0.46);--shadow-card-elevated:0 8px 16px rgba(0,0,0,0.24),0 4px 8px rgba(0,0,0,0.36);--shadow-button:0 2px 4px rgba(0,0,0,0.3);--shadow-button-hover:0 4px 8px rgba(0,0,0,0.4);--shadow-modal:0 20px 25px -5px rgba(0,0,0,0.5),0 10px 10px -5px rgba(0,0,0,0.4);--shadow-inner:inset 0 2px 4px 0 rgba(0,0,0,0.3);--shadow-inner-lg:inset 0 4px 8px 0 rgba(0,0,0,0.4)}.grid-responsive{display:grid;gap:var(--space-4)}@media (min-width:640px){.grid-responsive{gap:var(--space-6)}}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}@media (min-width:640px){.card-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-6)}}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media (min-width:640px){.sm\:grid-cols-1{grid-template-columns:repeat(1,1fr)}.sm\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.sm\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.sm\:grid-cols-4{grid-template-columns:repeat(4,1fr)}}@media (min-width:768px){.md\:grid-cols-1{grid-template-columns:repeat(1,1fr)}.md\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.md\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.md\:grid-cols-4{grid-template-columns:repeat(4,1fr)}}@media (min-width:1024px){.lg\:grid-cols-1{grid-template-columns:repeat(1,1fr)}.lg\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.lg\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.lg\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.lg\:grid-cols-5{grid-template-columns:repeat(5,1fr)}.lg\:grid-cols-6{grid-template-columns:repeat(6,1fr)}}.dashboard-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media (min-width:768px){.dashboard-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-6)}.dashboard-grid-full{grid-column:1/-1}}@media (min-width:1024px){.dashboard-grid{grid-template-columns:repeat(3,1fr)}.dashboard-grid-span-2{grid-column:span 2}}.stats-grid{display:grid;grid-template-columns:1fr;gap:var(--space-3)}@media (min-width:640px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-4)}}@media (min-width:1024px){.stats-grid{grid-template-columns:repeat(4,1fr);gap:var(--space-6)}}.flex-responsive{display:flex;flex-direction:column;gap:var(--space-4)}@media (min-width:768px){.flex-responsive{flex-direction:row;gap:var(--space-6)}}.mobile-padding{padding:var(--space-4)}@media (min-width:640px){.mobile-padding{padding:var(--space-6)}}@media (min-width:1024px){.mobile-padding{padding:var(--space-8)}}.touch-target{min-height:44px;min-width:44px}.safe-area-inset{padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}