:root{--verde: #22c55e;--verde-hover: #16a34a;--verde-escuro: #15803d;--laranja: #f97316;--laranja-hover: #ea580c;--azul: #2563eb;--azul-hover: #1d4ed8;--azul-pastel: #dbeafe;--fundo-base: #f8fafc;--fundo-secao: #eef2f7;--cinza: #64748b}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:system-ui,-apple-system,sans-serif;background:var(--fundo-base);color:#1e293b;line-height:1.5}#root{min-height:100vh}.app-container{max-width:1200px;margin:0 auto;padding:1rem}@media (min-width: 768px){.app-container{padding:1.5rem 2rem}}.app-header{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center;margin-bottom:2rem}.app-header h1{font-size:clamp(1.25rem,3vw,1.5rem)}.app-nav{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.app-nav a,.app-nav button{padding:.5rem 1rem;min-height:44px;display:inline-flex;align-items:center;text-decoration:none;color:var(--azul);font-weight:500;background:none;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .2s}.app-nav a:hover,.app-nav button:hover{background:var(--azul-pastel);border-color:var(--azul)}.app-nav .btn-primary{background:var(--verde);color:#fff;border-color:var(--verde)}.app-nav .btn-primary:hover{background:var(--verde-hover);border-color:var(--verde-hover);color:#fff}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}@media (min-width: 640px){.kpi-grid{grid-template-columns:repeat(3,1fr)}}.kpi-card{padding:1.25rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f}.kpi-card h3{color:var(--cinza);font-size:.9rem;margin-bottom:.5rem}.kpi-card p{font-size:1.5rem;font-weight:600}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f}.app-table{width:100%;min-width:400px;border-collapse:collapse}.app-table th,.app-table td{padding:.75rem 1rem;text-align:left}@media (max-width: 640px){.app-table th,.app-table td{padding:.5rem .75rem;font-size:.875rem}}.app-table thead tr{background:var(--azul-pastel)}.app-table tbody tr{border-top:1px solid #f1f5f9}.app-table tbody tr:hover{background:#f8fafc}.login-container{max-width:400px;margin:2rem auto;padding:1.5rem}@media (min-width: 480px){.login-container{margin:4rem auto;padding:2rem}}input,button{min-height:44px;font-size:16px}input:focus,button:focus{outline:2px solid var(--azul);outline-offset:2px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal{background:#fff;border-radius:12px;padding:1.5rem;max-width:400px;width:100%;box-shadow:0 8px 32px #00000026}.form-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000000f}.modal h2,.form-card h2{margin-bottom:1.25rem;font-size:1.25rem}.modal label,.form-card label{display:block;margin-bottom:1rem;font-weight:500;font-size:.9rem}.modal label input,.form-card label input{display:block;width:100%;margin-top:.35rem;padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:8px}.form-error{color:#dc2626;font-size:.9rem;margin-bottom:1rem}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.25rem}.modal-actions button{padding:.5rem 1rem;border-radius:8px;border:1px solid #e2e8f0;cursor:pointer;font-weight:500}.modal-actions button[type=submit]{background:var(--verde);color:#fff;border-color:var(--verde)}.modal-actions button[type=submit]:hover:not(:disabled){background:var(--verde-hover);border-color:var(--verde-hover)}.modal-actions button:disabled{opacity:.6;cursor:not-allowed}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}
