:root{
  --bg:#f4f5f7; --text:#1a1a1a; --text-muted:#6b7280; --border:#e2e4e8;
  --st-done-fg:#15803d; --st-error-fg:#b91c1c; --card-bg:#fff;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,Segoe UI,Roboto,Arial,sans-serif;}
.wrap{max-width:1100px;margin:0 auto;padding:20px;display:flex;flex-direction:column;gap:16px;}
.nav{display:flex;align-items:center;gap:16px;padding:12px 20px;background:#111827;color:#fff;}
.nav a{color:#d1d5db;text-decoration:none;font-size:.9rem;}
.nav a:hover{color:#fff;}
.nav-brand{font-weight:700;margin-right:8px;}
.card{background:var(--card-bg);border:1px solid var(--border);border-radius:10px;padding:16px 18px;}
.grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;}
.grid-cards .card{text-align:center;}
.grid-cards .num{font-size:1.6rem;font-weight:700;}
.grid-cards .label{color:var(--text-muted);font-size:.78rem;text-transform:uppercase;}
.barra{background:#e5e7eb;border-radius:6px;height:10px;overflow:hidden;margin-top:10px;}
.barra-fill{background:#2563eb;height:100%;transition:width .3s;}
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:var(--card-bg);border:1px solid var(--border);border-radius:10px;padding:12px 16px;}
.banner{border-radius:10px;padding:12px 16px;font-size:.88rem;}
.banner.warn{background:#fef3c7;border:1px solid #fcd34d;color:#92400e;}
table{width:100%;border-collapse:collapse;background:var(--card-bg);}
th,td{padding:8px 10px;border-bottom:1px solid var(--border);text-align:left;font-size:.85rem;}
th{color:var(--text-muted);font-weight:600;font-size:.75rem;text-transform:uppercase;}
.btn{background:#fff;border:1px solid var(--border);border-radius:6px;padding:7px 12px;cursor:pointer;font-size:.85rem;}
.btn:hover{background:#f3f4f6;}
.btn:disabled{opacity:.5;cursor:not-allowed;}
.btn.primary{background:#2563eb;color:#fff;border-color:#2563eb;}
.btn.primary:hover{background:#1d4ed8;}
input[type=text],input[type=password],select,textarea{border:1px solid var(--border);border-radius:6px;padding:7px 10px;font-size:.85rem;}
.pill{display:inline-block;padding:3px 9px;border-radius:99px;font-size:.72rem;background:#e5e7eb;color:#374151;}
.pill.concluido{background:#dcfce7;color:var(--st-done-fg);}
.pill.erro{background:#fee2e2;color:var(--st-error-fg);}
.pill.rodando{background:#dbeafe;color:#1e40af;}
.pill.pendente{background:#f3f4f6;color:#4b5563;}
.login-box{max-width:340px;margin:80px auto;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:28px;text-align:center;}
.login-box h1{font-size:1.3rem;margin-bottom:4px;}
.login-box form{display:flex;flex-direction:column;gap:10px;margin-top:20px;}
