:root {
  --purple:#4c236b;
  --deep:#301448;
  --lavender:#eee7f4;
  --ink:#29212e;
  --muted:#655b6b;
  --line:#ddd4e3;
  --white:#fff;
  --green:#176943;
  --red:#9a2424
}
* {
  box-sizing:border-box
}
body {
  margin:0;
  background:#faf8fc;
  color:var(--ink);
  font-family:Arial,Helvetica,sans-serif;
  font-size:16px;
  line-height:1.6
}
header {
  background:var(--white);
  border-bottom:1px solid var(--line);
  padding:20px max(5vw,20px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px
}
.brand {
  font-size:46px;
  line-height:.9;
  font-weight:800;
  letter-spacing:-3px;
  text-decoration:none;
  color:var(--purple)
}
.brand span {
  display:block;
  font-size:10px;
  letter-spacing:2px;
  margin-top:8px;
  font-weight:400
}
nav {
  display:flex;
  gap:24px;
  flex-wrap:wrap
}
a {
  color:var(--purple);
  text-underline-offset:3px
}
main {
  max-width:1200px;
  margin:48px auto;
  padding:0 24px
}
footer {
  padding:32px 24px;
  text-align:center;
  font-size:14px;
  color:var(--muted)
}
h1,h2,h3 {
  line-height:1.2;
  color:var(--deep)
}
h1 {
  font-size:clamp(28px,4vw,44px);
  letter-spacing:-1px;
  margin-top:8px
}
h2 {
  font-size:24px
}
p {
  max-width:75ch
}
.eyebrow {
  font-size:12px;
  font-weight:bold;
  text-transform:uppercase;
  letter-spacing:2px;
  color:var(--purple)
}
.panel {
  background:var(--white);
  border:1px solid var(--line);
  border-radius:12px;
  padding:32px;
  margin-bottom:24px
}
.narrow {
  max-width:680px;
  margin:0 auto
}
.grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:16px
}
.metric {
  padding:20px;
  border:1px solid var(--line);
  border-radius:8px;
  background:white
}
.metric strong {
  display:block;
  font-size:30px;
  color:var(--purple)
}
.metric span {
  font-size:14px;
  color:var(--muted)
}
.toolbar {
  display:flex;
  gap:16px;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  margin-bottom:24px
}
.actions {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center
}
.actions form {
  display:inline
}
.button,button {
  display:inline-block;
  border:1px solid var(--purple);
  background:var(--purple);
  color:white;
  border-radius:6px;
  padding:11px 20px;
  font:inherit;
  font-weight:bold;
  text-decoration:none;
  cursor:pointer
}
.button.secondary,button.secondary {
  color:var(--purple);
  background:white
}
.danger {
  background:var(--red);
  border-color:var(--red)
}
label {
  display:block;
  font-weight:bold;
  margin:20px 0 6px
}
input,select,textarea {
  width:100%;
  font:inherit;
  padding:10px 12px;
  border:1px solid #9e90a8;
  border-radius:5px;
  background:white;
  color:var(--ink)
}
input[type=checkbox] {
  width:auto;
  margin-right:8px
}
textarea {
  min-height:130px;
  resize:vertical
}
.help {
  font-size:14px;
  color:var(--muted);
  margin:6px 0
}
.notice {
  padding:16px;
  border-left:4px solid var(--purple);
  background:var(--lavender);
  margin:20px 0
}
.error {
  border-color:var(--red);
  color:var(--red)
}
.badge {
  display:inline-block;
  background:var(--lavender);
  color:var(--purple);
  padding:3px 10px;
  border-radius:20px;
  font-size:13px
}
.table-wrap {
  overflow-x:auto
}
table {
  width:100%;
  border-collapse:collapse;
  font-size:14px
}
th,td {
  text-align:left;
  padding:14px 12px;
  border-bottom:1px solid var(--line)
}
th {
  color:var(--muted)
}
.steps {
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  font-size:14px;
  color:var(--muted);
  margin:24px 0
}
.steps .current {
  font-weight:bold;
  color:var(--purple)
}
.hp {
  position:absolute;
  left:-10000px
}
.skip {
  position:absolute;
  top:-100px
}
.skip:focus {
  top:0;
  background:white;
  padding:12px;
  z-index:10
}
:focus-visible {
  outline:3px solid #bc76e8;
  outline-offset:3px
}
dl {
  display:grid;
  grid-template-columns:minmax(120px,1fr) 2fr;
  gap:12px
}
dt {
  font-weight:bold
}
dd {
  margin:0;
  overflow-wrap:anywhere
}
.email-preview {
  white-space:pre-wrap
}
.filters {
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  align-items:end
}
.filters>div {
  flex:1;
  min-width:150px
}
@media(max-width:600px) {
  header {
  align-items:start
}
.panel {
  padding:22px
}
main {
  margin-top:28px
}
nav {
  gap:12px
}
dl {
  grid-template-columns:1fr
}
dd {
  margin-bottom:12px
}

}


.mail-preview{max-width:600px;padding:32px;background:#ffffff;color:#3c1053;border-radius:12px;font-family:Arial,Helvetica,sans-serif}.mail-preview a{color:#3c1053}.mail-brand{display:block;max-width:100%;height:auto;margin-bottom:40px}.mail-preview .email-preview{font-size:20px;line-height:1.6;overflow-wrap:anywhere}.mail-cta{display:inline-block;background:#f56600;padding:16px 24px;border-radius:30px;text-decoration:none;font-size:20px;font-weight:bold}.mail-compliance{border-top:1px solid #785a88;margin-top:28px;padding-top:28px;font-size:14px;line-height:1.6}.mail-compliance img{display:block;width:300px;max-width:100%;height:auto}

.mail-heading{color:#3c1053;font-size:40px;line-height:1.15;overflow-wrap:anywhere}

[hidden]{display:none!important} fieldset{border:1px solid #ddd4e3;border-radius:8px;margin:16px 0;padding:16px} details[data-reminder-email]{border:1px solid #ddd4e3;border-radius:8px;margin:16px 0;padding:16px} details[data-reminder-email] summary{cursor:pointer;font-weight:bold}
