:root{
  --turquesa:#40E0D0;
  --verde:#28a745;
  --amarelo:#ffc107;
  --branco:#ffffff;
  --bg-elev:#ffffff;
  --text:#222;
  --muted:#6b6b6b;
  --border:#e3e3e3;
  --bg:#f7f8f9;
  --bg-input:#ffffff;
}

*{box-sizing:border-box}
body{margin:0;font:14px/1.4 system-ui, -apple-system, Segoe UI, Roboto, Arial; background:var(--bg); color:var(--text)}
.container{max-width:1120px;margin:1rem auto;padding:0 1rem}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem;background:var(--turquesa);color:var(--branco)}
.topbar a{color:var(--branco);text-decoration:none;margin-right:1rem}
.topbar .brand{font-weight:700}
.nav-actions .btn{background:transparent;border:1px solid rgba(255,255,255,.8);color:var(--branco)}
.footer{padding:1rem;text-align:center;border-top:1px solid var(--border);color:var(--muted)}

.grid{display:grid;gap:1rem}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-col-2{grid-column:span 2}
.mt{margin-top:1rem}

.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:.6rem;padding:1rem}
.card-title{font-weight:600;margin-bottom:.4rem}
.card-value{font-size:1.6rem;font-weight:700;margin:.2rem 0}
.card-accent-green{border-left:6px solid var(--verde)}
.card-accent-yellow{border-left:6px solid var(--amarelo)}
.card-accent-turq{border-left:6px solid var(--turquesa)}
.muted{color:var(--muted);font-size:.9rem}

.table{width:100%;border-collapse:collapse}
.table th,.table td{border-bottom:1px solid var(--border);padding:.6rem;text-align:left}
.table th{background:rgba(64,224,208,.12)}

.btn{display:inline-block;padding:.45rem .8rem;border-radius:.4rem;border:none;background:var(--turquesa);color:#022;cursor:pointer}
.btn:hover{opacity:.95}
.btn-outline{background:transparent;border:1px solid var(--turquesa);color:var(--text)}
.btn-primary{background:var(--turquesa);color:#033}
.btn-danger{background:#dc3545;color:#fff}
.btn-small{padding:.25rem .6rem;font-size:.88rem}

.toolbar{margin:.8rem 0}

.form-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:.6rem;padding:1rem}
.form-field{display:flex;flex-direction:column;margin-bottom:.8rem}
.label{font-weight:600;margin-bottom:.2rem}
input,select,textarea{padding:.5rem;border:1px solid var(--border);border-radius:.4rem;background:var(--bg-input);color:var(--text)}
.form-actions{display:flex;gap:.6rem;margin-top:.6rem}

.alert{padding:.7rem;border-radius:.4rem;margin-bottom:1rem}
.alert-danger{background:#ffefef;border:1px solid #e2b4b4;color:#9a2c2c}

.allocations{border:1px dashed var(--border);padding:1rem;border-radius:.6rem;margin-top:.6rem}
.alloc-row{display:flex;gap:.5rem;align-items:center;margin-bottom:.5rem}
.alloc-row select{flex:1}
.alloc-row input{width:180px}

.legend{margin-top:.4rem;color:var(--muted)}
.dot{display:inline-block;width:.7rem;height:.7rem;border-radius:50%;margin:0 .3rem -.1rem .6rem}
.dot-green{background:var(--verde)}
.dot-yellow{background:var(--amarelo)}

.filter-form .form-field{margin-bottom:.4rem}

@media (max-width:800px){
  .grid-2{grid-template-columns:1fr}
  .grid-3{grid-template-columns:1fr}
  .grid-col-2{grid-column:span 1}
}
