
:root{
  --bg:#f7f9fc; --panel:#ffffff; --muted:#6b7280; --text:#0f172a; --accent:#2563eb; --warn:#ca8a04; --ok:#16a34a; --bad:#dc2626; --border:#e5e7eb;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,'Helvetica Neue',Arial,'Noto Sans',sans-serif;background:var(--bg);color:var(--text)}
a{color:var(--accent);text-decoration:none}
.container{max-width:1200px;margin:24px auto;padding:0 18px}
.nav{display:flex;gap:16px;padding:12px 18px;background:var(--panel);position:sticky;top:0;border-bottom:1px solid var(--border);z-index:10}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.card{background:var(--panel);padding:16px;border-radius:16px;box-shadow:0 1px 2px rgba(0,0,0,.06),0 1px 3px rgba(0,0,0,.05);display:block;transition:transform .06s ease, box-shadow .15s ease;border:1px solid var(--border)}
.card:hover{transform:translateY(-1px);box-shadow:0 8px 16px rgba(0,0,0,.06)}
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:16px}
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:16px}
.stat{background:var(--panel);padding:16px;border-radius:16px;border:1px solid var(--border)}
.stat-label{color:var(--muted);font-size:13px}
.stat-value{font-size:28px;font-weight:800;margin-top:8px}
.stat-sub{color:var(--muted);font-size:12px;margin-top:6px}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:separate;border-spacing:0}
th,td{padding:10px 12px;border-bottom:1px solid var(--border);white-space:nowrap;font-size:14px}
thead th{position:sticky;top:0;background:var(--panel);z-index:5}
h1,h2,h3{margin:8px 0 12px 0}
.form{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.form label{grid-column:1/-1;color:var(--muted);font-size:13px;margin-top:8px}
.form input, .form select, .form textarea{padding:10px;border-radius:10px;border:1px solid var(--border);background:#fff;color:var(--text);font-size:14px}
.form button{grid-column:1/-1;padding:12px 14px;border:none;border-radius:12px;background:var(--accent);font-weight:700;cursor:pointer;color:white}
.flash-wrap{max-width:1200px;margin:12px auto;padding:0 18px}
.flash{padding:10px 12px;border-radius:10px;margin-bottom:8px}
.flash.success{background:#ecfdf5;border:1px solid #d1fae5;color:#065f46}
.flash.danger{background:#fef2f2;border:1px solid #fee2e2;color:#7f1d1d}
.year-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.btn{display:inline-block;padding:10px 14px;border-radius:12px;background:var(--accent);color:white;font-weight:700;border:1px solid transparent}
.btn.outline{background:transparent;color:var(--accent);border-color:var(--accent)}
.grid-inline{display:grid;grid-template-columns:repeat(3, minmax(100px,1fr));gap:10px;align-items:end}
.chip{display:inline-block;padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:#fff;color:var(--text);cursor:pointer;margin-right:6px}
.checks{display:flex;gap:16px;flex-wrap:wrap}
.site-footer{margin-top:24px;padding:16px 0;background:var(--panel);border-top:1px solid var(--border)}
.footer-text{font-size:12px;color:#4b5563;line-height:1.5}
.badge{display:inline-block;padding:3px 8px;border-radius:999px;background:#eef2ff;color:#3730a3;border:1px solid var(--border);font-size:12px}
.kpi{display:flex;gap:6px;align-items:center}

.triagem-grid{display:grid;grid-template-columns:repeat(3, minmax(100px,1fr));gap:10px}
.triagem-grid input{width:100%}
