* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Montserrat', sans-serif; background:#f7f9fc; color:#333; }

header {
  position:sticky; top:0; background:#004aad; color:#fff;
  padding:1rem 2rem; display:flex; justify-content:space-between; align-items:center;
}

.logo { font-size:1.5rem; font-weight:600; }
nav ul { list-style:none; display:flex; gap:1.5rem; }
nav ul li a { color:#fff; text-decoration:none; font-size:0.95rem; }

.hero {
  background:#e6eefc; padding:3rem 2rem; text-align:center;
}
.hero h1 { font-size:2rem; margin-bottom:1rem; }

.section-title { font-size:1.5rem; margin:1rem 0; color:#004aad; }

.lines-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:1rem; }
.line-card {
  background:#fff; padding:1rem; border-radius:10px;
  box-shadow:0 2px 6px rgba(0,0,0,0.08); cursor:pointer; transition:0.2s;
}
.line-card:hover { transform:translateY(-2px); }

table { width:100%; border-collapse:collapse; background:#fff; border-radius:10px; overflow:hidden; box-shadow:0 2px 6px rgba(0,0,0,0.08); }
th,td { padding:0.75rem; border-bottom:1px solid #eee; text-align:left; }
th { background:#f0f4fa; }

.alert-card { background:#fff; padding:1rem; margin-bottom:1rem; border-radius:10px; box-shadow:0 2px 6px rgba(0,0,0,0.08); }

footer { background:#004aad; color:#fff; padding:2rem; margin-top:2rem; text-align:center; font-size:0.9rem; }