* { box-sizing: border-box; }
[hidden] { display: none !important; }
body.allies-shell { margin: 0; background: #f3f6fa; }
.allies-shell-header { background: #fff; border-top: 2px solid #c39a51; border-bottom: 1px solid #d9e2eb; }
.allies-shell-header > div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px 20px;
  flex-wrap: wrap;
  max-width: 1320px;
  min-height: 66px;
  margin-inline: auto;
  padding: 12px clamp(15px, 4vw, 30px);
}
.allies-shell-header a { color: var(--wow-navy); font-size: var(--wow-text-meta); font-weight: 600; text-underline-offset: .24em; }
.allies-brand { display: inline-flex; align-items: center; }
.allies-brand img { display: block; width: 152px; height: auto; }
#allies-shell-main { position: relative; max-width: 1320px; margin: 0 auto; padding: 8px clamp(6px, 2vw, 24px) 20px; }
#allies-shell-main iframe { display: block; border: 0; width: 100%; min-height: 150px; }
#allies-shell-main iframe[data-connecting] {
  position: absolute;
  inset: 0 0 auto;
  opacity: 0;
  pointer-events: none;
}
.allies-shell-loading, .allies-shell-error {
  max-width: 610px;
  margin: 25px auto;
  padding: clamp(17px, 3vw, 28px);
  border: 1px solid #d9e2eb;
  border-top: 2px solid #c39a51;
  border-radius: 12px;
  background: #fff;
}
.allies-shell-error h1 { margin: 0 0 12px; color: var(--wow-navy); font-size: var(--app-type-page, 1.5rem); }
.allies-shell-error p { margin: 0 0 13px; }
.allies-shell-error .allies-shell-kicker { color: #77591d; font-size: var(--wow-text-meta); font-weight: 650; }
.allies-shell-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.allies-shell-actions :is(a, button) {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 9px 14px;
  border-radius: 8px;
  border: 1px solid #092348;
  background: #092348;
  color: white;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
}
.allies-shell-actions [data-ally-direct] { background: white; color: #092348; }
.allies-shell :is(a, button):focus-visible { outline: 2px solid #916d28; outline-offset: 3px; }
