body { font-family: system-ui, Arial, sans-serif; margin:0; background:#f7f7fb; color:#222; }
.topnav { background:#2f3a4a; padding:10px; color:#fff; display:flex; gap:12px; }
.topnav a { color:#fff; text-decoration:none; }
.topnav .right { margin-left:auto; }
.container {
  max-width: 1200px;          /* was 1000px */
  margin: 20px auto;
  background: #fff;
  padding: 24px 32px;         /* give it a bit more breathing room */
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.06);
}
h2 { margin-top:0 }
label { display:block; margin-top:10px; font-weight:600; }
input[type=text], input[type=password], select { width:100%; padding:8px; border:1px solid #ccc; border-radius:8px; }
.btn { display:inline-block; margin-top:12px; padding:8px 16px; background:#2f6fed; color:#fff; border:none; border-radius:8px; cursor:pointer; }
/* Default button (leave as-is if you like the size elsewhere) */
.btn {
  display: inline-block;
  margin-top: 12px;
  padding: 8px 16px;
  background: #2563eb;
  color: #fff;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  text-decoration: none;
}

/* Smaller buttons when they’re inside tables (Edit / View map / Dependencies) */
table .btn {
  margin-top: 0;
  padding: 4px 10px;
  font-size: 0.8rem;
  border-radius: 6px;
}
.btn:hover { background:#1f5fd1; }
table { width:100%; border-collapse:collapse; }
th, td { padding:8px; border-bottom:1px solid #eee; text-align:left; }
.flash { padding:10px; margin-bottom:10px; border-radius:8px; }
.flash.success { background:#e6ffed; }
.flash.info { background:#e8f0fe; }
.flash.warning { background:#fffbe6; }
.flash.danger { background:#ffe6e6; }
