:root{
  --brand-red:#f21f2b;
  --brand-red-dark:#c8111c;
  --brand-blue:#6ec0ea;
  --brand-black:#050708;
  --brand-navy:#101d2b;
  --brand-paper:#ffffff;
}

body{
  background:
    radial-gradient(circle at 8% 5%,rgba(110,192,234,.18),transparent 22rem),
    linear-gradient(180deg,#f8fbfd 0,#eef3f6 100%);
  min-height:100vh;
}

header{
  background:rgba(255,255,255,.97);
  border-bottom:4px solid var(--brand-red);
  box-shadow:0 8px 24px rgba(16,29,43,.09);
  padding:10px 0;
  position:sticky;
  top:0;
  z-index:20;
}

.brand{display:flex;align-items:center;text-decoration:none;margin:0}
.brand img{display:block;width:min(330px,50vw);height:50px;object-fit:contain;object-position:left center}
nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
nav a,header a{
  color:var(--brand-navy);
  margin:0;
  padding:8px 11px;
  border-radius:8px;
  font-weight:750;
  text-decoration:none;
}
nav a:hover{background:#eaf6fc;color:var(--brand-red-dark)}

main{padding-top:34px}
.card{
  border:1px solid #dce6ec;
  border-top:4px solid var(--brand-blue);
  box-shadow:0 12px 36px rgba(16,29,43,.08);
}
.card:first-child{border-top-color:var(--brand-red)}
h1,h2{color:var(--brand-navy)}
h1::after{content:"";display:block;width:44px;height:4px;background:var(--brand-red);border-radius:99px;margin-top:10px}

button,.button{background:linear-gradient(135deg,var(--brand-red),#f54c28);box-shadow:0 7px 16px rgba(242,31,43,.18);transition:transform .15s ease,box-shadow .15s ease}
button:hover,.button:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(242,31,43,.25)}
.button.secondary{background:var(--brand-navy)}
input[type=text],input[type=password],input[type=file],select{border-color:#b8c8d2}
input:focus,select:focus{outline:3px solid rgba(110,192,234,.35);border-color:#319bd1}
.progress{background:#dfe9ef;height:18px}
.progress span{background:linear-gradient(90deg,var(--brand-blue),var(--brand-red))}
.badge.ok{background:#dff7ee}.badge.bad{background:#ffe2e2}
.event-name{border-left:5px solid var(--brand-red);background:#f6fbfe}
.login{border-top:5px solid var(--brand-red);position:relative;overflow:hidden}
.login::before{content:"";position:absolute;width:110px;height:110px;border:22px solid rgba(110,192,234,.15);border-radius:50%;right:-42px;top:-48px}

footer{color:#65717e;text-align:center;padding:6px 20px 30px;font-size:.88rem}
footer strong{color:var(--brand-red-dark)}
.rr-confirmation{margin-top:28px;padding-top:24px;border-top:1px solid #dce6ec}
.rr-list-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.rr-list-heading h2{margin-bottom:4px}
.rr-list-heading p{margin:0}
.rr-confirmation table{margin-top:14px;background:#fff;border:1px solid #dce6ec;border-radius:10px;overflow:hidden}
.rr-confirmation th{background:var(--brand-navy);color:#fff}

@media(max-width:720px){
  header{position:static}
  header .wrap{display:flex;gap:10px}
  .brand img{width:220px;height:42px}
  nav{margin-top:4px}
  nav a{font-size:.9rem;padding:6px}
}
