:root{--color-primary-50: #f0faf0;--color-primary-100: #dcf3dc;--color-primary-200: #b9e7bb;--color-primary-300: #87d18a;--color-primary-400: #55b559;--color-primary-500: #3a9b3e;--color-primary-600: #2d7d31;--color-primary-700: #256328;--color-primary-800: #1e4f21;--color-primary-900: #193f1b;--color-neutral-50: #f8fafc;--color-neutral-100: #f1f5f9;--color-neutral-200: #e2e8f0;--color-neutral-300: #cbd5e1;--color-neutral-400: #94a3b8;--color-neutral-500: #64748b;--color-neutral-600: #475569;--color-neutral-700: #334155;--color-neutral-800: #1e293b;--color-neutral-900: #0f172a;--color-surface: #ffffff;--color-bg: #f6faf6;--color-bg-subtle: #edf7ed;--color-border: #d4e8d4;--color-border-light: #e8f5e8;--color-text: #1a2e1b;--color-text-muted: #5a7a5b;--color-text-light: #8aaa8b;--color-success: #3a9b3e;--color-warning: #d97706;--color-danger: #dc2626;--color-info: #2563eb;--color-primary-shadow: rgba(45,125,49,.25);--color-primary-shadow-strong: rgba(45,125,49,.35);--focus-ring: rgba(85,181,89,.15);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-sm: 6px;--radius: 10px;--radius-lg: 16px;--radius-xl: 24px;--shadow-xs: 0 1px 2px rgba(0,0,0,.04);--shadow-sm: 0 2px 8px rgba(0,0,0,.06);--shadow: 0 4px 16px rgba(0,0,0,.08);--shadow-lg: 0 8px 32px rgba(0,0,0,.1);--sidebar-width: 240px;--header-height: 60px;--font-sans: "Inter", system-ui, -apple-system, sans-serif}.theme-admin{--color-primary-50: var(--color-neutral-50);--color-primary-100: var(--color-neutral-100);--color-primary-200: var(--color-neutral-200);--color-primary-300: var(--color-neutral-300);--color-primary-400: var(--color-neutral-400);--color-primary-500: var(--color-neutral-500);--color-primary-600: var(--color-neutral-600);--color-primary-700: var(--color-neutral-700);--color-primary-800: var(--color-neutral-800);--color-primary-900: var(--color-neutral-900);--color-bg: #f7f8fa;--color-bg-subtle: var(--color-neutral-100);--color-border: var(--color-neutral-300);--color-border-light: var(--color-neutral-200);--color-text: var(--color-neutral-900);--color-text-muted: var(--color-neutral-500);--color-text-light: var(--color-neutral-400);--color-primary-shadow: rgba(15,23,42,.18);--color-primary-shadow-strong: rgba(15,23,42,.28);--focus-ring: rgba(71,85,105,.18)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--color-primary-300)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.print-only{display:none!important}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease}.fade-enter-from,.fade-leave-to{opacity:0}.slide-up-enter-active,.slide-up-leave-active{transition:all .25s ease}.slide-up-enter-from{opacity:0;transform:translateY(12px)}.slide-up-leave-to{opacity:0;transform:translateY(-6px)}@media print{@page{size:A4;margin:14mm 12mm}html,body{background:#fff!important}.sidebar,.header,.app-backdrop,.no-print{display:none!important}.print-only{display:flex!important}.app-main{margin-left:0!important}.app-content{margin-top:0!important;padding:0!important;overflow:visible!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.card,.preco-box,.stat-card{break-inside:avoid;box-shadow:none!important}table{break-inside:auto}tr{break-inside:avoid;break-after:auto}a{text-decoration:none;color:inherit}}@media(max-width:768px){.data-table,.table,.report-table,.ft-table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}.form-grid,.form-row,.compare__cols{grid-template-columns:1fr!important}}
