body{
  margin:0;
  font-family:'Segoe UI', Arial, sans-serif;
  background:#F6EFDE;
  color:#241712;
}
.portal-header{
  background:#7A1220;
  color:#FFFBF2;
  padding:16px 24px;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.portal-header a{ color:#FFFBF2; text-decoration:none; font-weight:600; }
.portal-wrap{ max-width:720px; margin:40px auto; padding:0 20px; }
.portal-card{
  background:#FFFBF2;
  border:1px solid #E9DDBE;
  border-radius:8px;
  padding:28px;
  box-shadow:0 10px 24px rgba(36,23,18,0.12);
  margin-bottom:24px;
}
h1,h2{ color:#7A1220; font-family:Georgia, serif; }
label{ display:block; font-size:0.8rem; text-transform:uppercase; letter-spacing:0.05em; color:#5A4A3D; margin:14px 0 6px; }
input[type=text], input[type=password], input[type=tel], input[type=email], select{
  width:100%; padding:10px 12px; border:1.5px solid #E9DDBE; border-radius:4px; font-size:1rem; box-sizing:border-box;
}
button, .btn{
  background:#7A1220; color:#FFFBF2; border:none; padding:12px 20px; border-radius:4px;
  font-weight:600; cursor:pointer; text-decoration:none; display:inline-block; margin-top:16px;
}
button:hover, .btn:hover{ background:#5c0e18; }
.error{ background:#f8d7da; color:#7a1220; padding:12px 16px; border-radius:4px; margin-bottom:16px; }
.success{ background:#e7f5e9; color:#1e5c2a; padding:12px 16px; border-radius:4px; margin-bottom:16px; }
table{ width:100%; border-collapse:collapse; margin-top:16px; }
th, td{ text-align:left; padding:10px 12px; border-bottom:1px solid #E9DDBE; }
th{ background:#F6EFDE; text-transform:uppercase; font-size:0.75rem; letter-spacing:0.05em; color:#5A4A3D; }
.demo-banner{ background:#B8892B; color:#241712; padding:8px 16px; text-align:center; font-size:0.85rem; font-weight:600; }
