* { box-sizing: border-box; }
body { font-family: Arial, Helvetica, sans-serif; background: #f2f4f7; margin: 0; color: #222; }
header { background: #1a3c6e; color: #fff; padding: 16px 24px; }
header h1 { margin: 0; font-size: 20px; }
nav { background: #24518f; padding: 8px 24px; }
nav a { color: #fff; text-decoration: none; margin-right: 18px; font-size: 14px; }
nav a:hover { text-decoration: underline; }
.container { max-width: 780px; margin: 24px auto; background: #fff; padding: 24px; border-radius: 8px; box-shadow: 0 1px 4px rgba(0,0,0,.1); }
h2 { margin-top: 0; color: #1a3c6e; }
label { display: block; margin-top: 12px; font-size: 13px; font-weight: bold; color: #444; }
input, select, textarea { width: 100%; padding: 8px; margin-top: 4px; border: 1px solid #ccc; border-radius: 4px; font-size: 14px; }
button, .btn { background: #1a3c6e; color: #fff; border: none; padding: 10px 20px; border-radius: 4px; font-size: 14px; cursor: pointer; margin-top: 18px; display: inline-block; text-decoration: none; }
button:hover, .btn:hover { background: #14315a; }
.aviso { background: #fff4e5; border-left: 4px solid #e8a33d; padding: 10px 14px; margin-bottom: 16px; font-size: 13px; }
.erro { background: #fdecea; border-left: 4px solid #e53935; padding: 10px 14px; margin-bottom: 16px; }
.ok { background: #eaf7ea; border-left: 4px solid #43a047; padding: 10px 14px; margin-bottom: 16px; }
table { width: 100%; border-collapse: collapse; margin-top: 14px; }
th, td { padding: 8px; border-bottom: 1px solid #eee; font-size: 13px; text-align: left; }
.item-row { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr auto; gap: 8px; align-items: end; margin-top: 10px; }
.remover { background: #e53935; }
.remover:hover { background: #b71c1c; }
.linha-dupla { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
