:root{
  --bg: #0b3a73;
  --card: rgba(255,255,255,0.9);
  --text: #0e1b2b;
  --accent: #b90000;
}
*{ box-sizing: border-box; }
body{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, "Helvetica Neue", Arial;
  color: #fff;
  min-height:100vh;
  background: #003a6b url('./assets/fundo.png') no-repeat center/cover fixed;
}
.wrapper{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 2rem;
  backdrop-filter: saturate(120%) blur(0px);
}
.card{
  width:100%;
  max-width: 980px;
  background: var(--card);
  color: var(--text);
  border-radius: 20px;
  box-shadow: 0 10px 40px rgba(0,0,0,.25);
  overflow:hidden;
  display:grid;
  grid-template-columns: 1fr;
}
.header{
  background: linear-gradient(120deg, #0b3a73, rgba(255,255,255,.0));
  padding: 1rem 1.25rem;
  display:flex;
  align-items:center;
  gap:.75rem;
}
.header img.logo{ height:48px; }
.header h1{ font-size: 1.25rem; margin:0; color:#ffffff; }
.content{ padding: 1.25rem; }
form .row{ display:grid; grid-template-columns: repeat(12, 1fr); gap:.75rem; }
form .row > *{ grid-column: span 12; }
label{ display:block; font-weight:600; margin-bottom:.25rem; }
input, select, textarea, button, a.button{
  width:100%;
  padding:.75rem .8rem;
  border-radius: 12px;
  border:1px solid #d0d7e2;
  background:#fff;
}
textarea{ min-height:120px; resize:vertical; }
.actions{ display:flex; gap:.75rem; flex-wrap:wrap; margin-top: .75rem; }
button, a.button{
  background: #0b3a73;
  color:#fff; border:none; text-decoration:none; text-align:center;
  cursor:pointer; font-weight:700;
}
button.secondary, a.button.secondary{ background:#0b418d; }
.badge{ display:inline-flex; align-items:center; padding:.25rem .5rem; border-radius:999px; font-size:.75rem; background:#e2e8f0; color:#0e2749; }
.table{ width:100%; border-collapse: collapse; }
.table th, .table td{ padding:.6rem .5rem; border-bottom:1px solid #e5e7eb; }
.table th{ text-align:left; font-size:.9rem; color:#334155; }
.status-open{ color:#0b3a73; font-weight:700; }
.status-closed{ color:#ef4444; font-weight:700; }
.status-reopen{ color:#16a34a; font-weight:700; }
@media (min-width: 720px){
  form .row .col-6{ grid-column: span 6; }
  form .row .col-4{ grid-column: span 4; }
  form .row .col-3{ grid-column: span 3; }
}
.footer-note{ font-size:.85rem; color:#475569; padding: .5rem 1.25rem 1rem; }
.alert{ padding:.75rem 1rem; border-radius:12px; margin-bottom:.75rem; }
.alert.ok{ background:#dcfce7; color:#14532d; }
.alert.err{ background:#fee2e2; color:#7f1d1d; }
.link{ color:#06086c; font-weight:700; text-decoration:none; }
.small{ text-align: center; font-size:.85rem; color:#334155; }