: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 button{padding:.5rem 1rem;min-height:44px;display:inline-flex;align-items:center;background:none;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .2s}.app-nav button:hover{background:var(--azul-pastel);border-color:var(--azul)}.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:500px;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:.8rem}.app-table .chave-cell{max-width:80px;overflow:hidden;text-overflow:ellipsis}}.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}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}
