
:root{
  --auth-bg:#f5f4ef;
  --auth-panel:#fafaf7;
  --auth-ink:#10271f;
  --auth-muted:#66736d;
  --auth-green:#0c6849;
  --auth-green-dark:#074934;
  --auth-soft:#e4efe8;
  --auth-line:#dce4df;
  --auth-gold:#caa76c;
  --auth-shadow:0 28px 80px rgba(10,38,28,.14);
}

*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body.auth-page{
  min-height:100vh;
  font-family:"Instrument Sans",sans-serif;
  color:var(--auth-ink);
  background:var(--auth-bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.auth-page.modal-open{overflow:hidden}

.micro-label{
  display:inline-block;
  margin-bottom:14px;
  font-size:10px;
  line-height:1;
  font-weight:700;
  letter-spacing:.17em;
}
.micro-label.light{color:rgba(255,255,255,.7)}
.micro-label.dark{color:var(--auth-green)}

.btn{
  min-height:50px;
  border:1px solid transparent;
  border-radius:999px;
  padding:0 22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  font-size:13px;
  transition:transform .24s ease,box-shadow .24s ease,background .24s ease,border-color .24s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--auth-green);color:#fff}
.btn-primary:hover{background:var(--auth-green-dark);box-shadow:0 12px 28px rgba(12,104,73,.18)}
.full{width:100%}

.auth-main,
.auth-shell{min-height:100vh}

.auth-shell{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(500px,.92fr);
}

/* LEFT VISUAL */
.auth-visual{
  position:relative;
  min-height:100vh;
  overflow:hidden;
  color:#fff;
  padding:34px 42px 30px;
  display:flex;
  flex-direction:column;
}
.auth-visual-media{
  position:absolute;
  inset:-3%;
  background:
    radial-gradient(circle at 72% 18%,rgba(202,167,108,.22),transparent 25%),
    url("https://images.unsplash.com/photo-1566073771259-6a8506099945?auto=format&fit=crop&w=1800&q=88") center/cover;
  animation:authDrift 20s ease-in-out infinite alternate;
}
.auth-visual-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(4,29,21,.87),rgba(4,29,21,.36)),
    linear-gradient(0deg,rgba(4,29,21,.66),transparent 52%);
}
@keyframes authDrift{
  from{transform:scale(1.02) translate3d(0,0,0)}
  to{transform:scale(1.07) translate3d(-1%,-.6%,0)}
}
.auth-back,
.auth-brand-block,
.auth-visual-copy,
.auth-visual-footer{position:relative;z-index:2}
.auth-back{
  display:inline-flex;
  align-items:center;
  gap:9px;
  width:max-content;
  color:rgba(255,255,255,.74);
  font-size:12px;
  font-weight:600;
  transition:.2s;
}
.auth-back:hover{color:#fff;transform:translateX(-3px)}

.auth-brand-block{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:44px;
}
.auth-brand-mark{
  width:46px;
  height:46px;
  border-radius:15px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(12px);
  color:#fff;
  font-weight:700;
  letter-spacing:-.04em;
}
.auth-brand-block>div:last-child,
.auth-mobile-brand>div:last-child{
  display:flex;
  flex-direction:column;
  line-height:1.08;
}
.auth-brand-block strong{font-size:15px}
.auth-brand-block small{
  margin-top:4px;
  color:rgba(255,255,255,.52);
  font-size:9px;
}

.auth-visual-copy{
  margin-top:auto;
  max-width:740px;
  padding:70px 0 48px;
}
.auth-visual-copy h1{
  margin:0 0 22px;
  max-width:760px;
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(62px,6.5vw,98px);
  line-height:.92;
  letter-spacing:-.04em;
  font-weight:700;
}
.auth-visual-copy h1 em{
  color:var(--auth-gold);
  font-style:normal;
}
.auth-visual-copy>p{
  max-width:600px;
  margin:0;
  color:rgba(255,255,255,.7);
  font-size:15px;
  line-height:1.65;
}
.auth-feature-strip{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:9px;
  margin-top:32px;
}
.auth-feature-strip div{
  padding:14px;
  border-radius:15px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.07);
  backdrop-filter:blur(12px);
  transition:background .25s,transform .25s;
}
.auth-feature-strip div:hover{
  background:rgba(255,255,255,.11);
  transform:translateY(-3px);
}
.auth-feature-strip span,
.auth-feature-strip strong{display:block}
.auth-feature-strip span{
  margin-bottom:5px;
  color:rgba(255,255,255,.4);
  font-size:9px;
}
.auth-feature-strip strong{font-size:11px}
.auth-visual-footer{
  display:flex;
  justify-content:space-between;
  gap:18px;
  color:rgba(255,255,255,.35);
  font-size:9px;
}

/* RIGHT LOGIN PANEL */
.auth-panel{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:48px 34px;
  background:
    radial-gradient(circle at 92% 8%,rgba(12,104,73,.06),transparent 22%),
    var(--auth-panel);
}
.auth-panel-inner{
  width:min(480px,100%);
  animation:panelIn .72s cubic-bezier(.2,.7,.2,1) both;
}
@keyframes panelIn{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:none}
}
.auth-mobile-brand{display:none}

.auth-heading{margin-bottom:28px}
.auth-heading h2{
  margin:0 0 9px;
  font-family:"Cormorant Garamond",serif;
  font-size:56px;
  line-height:.98;
  letter-spacing:-.035em;
}
.auth-heading p{
  margin:0;
  max-width:420px;
  color:var(--auth-muted);
  font-size:13px;
  line-height:1.65;
}

.login-form{display:grid;gap:16px}
.auth-field{display:block}
.auth-field>span,
.field-label-row>span{
  display:block;
  margin-bottom:7px;
  color:var(--auth-ink);
  font-size:10px;
  font-weight:700;
}
.field-label-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.field-label-row a{
  color:var(--auth-green);
  font-size:10px;
  font-weight:700;
}
.input-shell{
  min-height:54px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 14px;
  border:1px solid var(--auth-line);
  border-radius:15px;
  background:#fff;
  transition:border-color .22s,box-shadow .22s,transform .22s;
}
.input-shell:focus-within{
  border-color:var(--auth-green);
  box-shadow:0 0 0 4px rgba(12,104,73,.07);
  transform:translateY(-1px);
}
.input-shell input{
  flex:1;
  min-width:0;
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  padding:15px 0;
  color:var(--auth-ink);
}
.input-shell input::placeholder{color:#9da7a2}
.input-icon{
  width:18px;
  color:var(--auth-green);
  text-align:center;
  font-size:13px;
}
.password-toggle{
  border:0;
  background:none;
  color:var(--auth-green);
  padding:7px 0 7px 8px;
  font-size:10px;
  font-weight:700;
}
.field-error{
  display:block;
  min-height:14px;
  margin-top:4px;
  color:#b24a42;
  font-size:9px;
}

.auth-options{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.remember-option{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--auth-muted);
  font-size:10px;
  cursor:pointer;
}
.remember-option input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.custom-check{
  width:18px;
  height:18px;
  border:1px solid var(--auth-line);
  border-radius:6px;
  background:#fff;
  position:relative;
  transition:.2s;
}
.remember-option input:checked+.custom-check{
  background:var(--auth-green);
  border-color:var(--auth-green);
}
.remember-option input:checked+.custom-check:after{
  content:"✓";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:10px;
  font-weight:700;
}
.secure-note{
  color:var(--auth-muted);
  font-size:9px;
}
.auth-submit{
  min-height:56px;
  justify-content:space-between;
  padding:0 18px 0 23px;
}
.auth-submit b{
  font-size:17px;
  font-weight:400;
  transition:.2s;
}
.auth-submit:hover b{transform:translateX(4px)}
.auth-status{
  min-height:15px;
  color:var(--auth-green);
  font-size:9px;
  font-weight:600;
}

.auth-divider{
  display:flex;
  align-items:center;
  gap:12px;
  margin:26px 0 17px;
  color:var(--auth-muted);
  font-size:9px;
}
.auth-divider:before,
.auth-divider:after{
  content:"";
  flex:1;
  height:1px;
  background:var(--auth-line);
}

.auth-new-account{
  display:grid;
  grid-template-columns:1fr auto;
  gap:18px;
  align-items:center;
  padding:17px;
  border:1px solid var(--auth-line);
  border-radius:17px;
  background:#fff;
}
.auth-new-account strong{
  display:block;
  font-size:12px;
}
.auth-new-account p{
  margin:4px 0 0;
  color:var(--auth-muted);
  font-size:9px;
  line-height:1.5;
}
.btn-auth-secondary{
  min-height:44px;
  border-color:var(--auth-line);
  background:#f7f9f7;
  color:var(--auth-green-dark);
  white-space:nowrap;
}

.auth-role-note{
  display:flex;
  gap:11px;
  margin-top:14px;
  padding:14px 15px;
  border-radius:15px;
  background:#eef3ef;
}
.role-note-icon{
  width:23px;
  height:23px;
  flex:0 0 23px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--auth-green);
  color:#fff;
  font-size:10px;
  font-weight:700;
}
.auth-role-note strong{
  display:block;
  font-size:10px;
}
.auth-role-note p{
  margin:3px 0 0;
  color:var(--auth-muted);
  font-size:9px;
  line-height:1.5;
}
.auth-help{
  margin-top:20px;
  text-align:center;
  color:var(--auth-muted);
  font-size:9px;
}
.auth-help button{
  border:0;
  background:none;
  color:var(--auth-green);
  padding:0 0 0 4px;
  font-weight:700;
}

/* MODALS */
.auth-dialog-backdrop{
  position:fixed;
  inset:0;
  z-index:100;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(4,24,17,.62);
  backdrop-filter:blur(10px);
  opacity:0;
  visibility:hidden;
  transition:.24s;
}
.auth-dialog-backdrop.open{
  opacity:1;
  visibility:visible;
}
.auth-dialog{
  position:relative;
  width:min(510px,100%);
  padding:30px;
  border-radius:27px;
  background:#fff;
  box-shadow:0 30px 90px rgba(0,0,0,.2);
  transform:translateY(14px) scale(.985);
  transition:.24s;
}
.auth-dialog-backdrop.open .auth-dialog{transform:none}
.auth-dialog h3{
  margin:0 0 11px;
  font-family:"Cormorant Garamond",serif;
  font-size:40px;
  line-height:1;
}
.auth-dialog>p{
  color:var(--auth-muted);
  font-size:12px;
}
.auth-dialog-close{
  position:absolute;
  top:15px;
  right:15px;
  width:36px;
  height:36px;
  border-radius:50%;
  border:1px solid var(--auth-line);
  background:#fff;
  font-size:20px;
}
.support-options{
  display:grid;
  gap:8px;
  margin-top:18px;
}
.support-options button{
  min-height:49px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:0 15px;
  border:1px solid var(--auth-line);
  border-radius:13px;
  background:#f8faf8;
  color:var(--auth-ink);
  font-weight:600;
  transition:.2s;
}
.support-options button:hover{
  transform:translateX(3px);
  background:var(--auth-soft);
}

@media(max-width:1050px){
  .auth-shell{grid-template-columns:minmax(0,1fr) 500px}
  .auth-visual{padding-left:28px;padding-right:28px}
  .auth-feature-strip{grid-template-columns:1fr 1fr}
}

@media(max-width:860px){
  .auth-shell{display:block}
  .auth-visual{display:none}
  .auth-panel{
    min-height:100vh;
    place-items:start center;
    padding:28px 18px 40px;
  }
  .auth-panel-inner{width:min(520px,100%)}
  .auth-mobile-brand{
    display:flex;
    align-items:center;
    gap:11px;
    margin-bottom:48px;
  }
  .auth-mobile-brand .auth-brand-mark{background:var(--auth-green)}
  .auth-mobile-brand strong{font-size:14px}
  .auth-mobile-brand small{
    margin-top:4px;
    color:var(--auth-muted);
    font-size:9px;
  }
}

@media(max-width:540px){
  .auth-heading h2{font-size:48px}
  .auth-options{align-items:flex-start;flex-direction:column}
  .secure-note{display:none}
  .auth-new-account{grid-template-columns:1fr}
  .btn-auth-secondary{width:100%}
}

@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}


.server-login-error{
  margin-bottom:2px;
  padding:11px 13px;
  border-radius:12px;
  border:1px solid #eed3cf;
  background:#fff5f3;
  color:#9d413a;
  font-size:10px;
  font-weight:600;
}

/* FIRST ADMIN SETUP */
.setup-page{
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(520px,.88fr) minmax(0,1.12fr);
  background:#f8f8f4;
}
.setup-card{
  min-height:100vh;
  padding:54px clamp(30px,6vw,86px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  max-width:780px;
  margin:auto;
}
.setup-brand{
  display:flex;
  align-items:center;
  gap:11px;
  margin-bottom:56px;
}
.setup-logo{
  width:44px;height:44px;border-radius:14px;background:var(--auth-green);color:#fff;
  display:grid;place-items:center;font-size:13px;font-weight:700;
}
.setup-brand>div:last-child{display:flex;flex-direction:column;line-height:1.08}
.setup-brand strong{font-size:13px}
.setup-brand small{font-size:9px;color:var(--auth-muted);margin-top:4px}
.setup-card h1{
  margin:0 0 14px;
  font-family:"Cormorant Garamond",serif;
  font-size:56px;line-height:.96;letter-spacing:-.035em;
}
.setup-intro{color:var(--auth-muted);font-size:12px;max-width:580px;line-height:1.7;margin-bottom:26px}
.setup-alert{padding:13px 14px;border-radius:13px;margin-bottom:18px;display:flex;flex-direction:column;gap:3px;font-size:10px}
.setup-alert.danger{border:1px solid #eed3cf;background:#fff5f3;color:#8f3b35}
.setup-alert small{opacity:.8}
.setup-form{display:grid;gap:14px}
.setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.setup-form label>span{display:block;font-size:10px;font-weight:700;margin-bottom:6px}
.setup-form label>span em{font-style:normal;color:var(--auth-muted);font-weight:400}
.setup-form input{
  width:100%;min-height:50px;padding:0 13px;border:1px solid var(--auth-line);border-radius:13px;background:#fff;outline:0;
}
.setup-form input:focus{border-color:var(--auth-green);box-shadow:0 0 0 4px rgba(12,104,73,.07)}
.setup-form .error{display:block;color:#a9443c;font-size:9px;margin-top:4px}
.password-rules{display:flex;gap:7px;flex-wrap:wrap}
.password-rules span{padding:6px 9px;border-radius:999px;background:#eef1ef;color:var(--auth-muted);font-size:8px;transition:.2s}
.password-rules span.ok{background:var(--auth-soft);color:var(--auth-green)}
.setup-submit{
  min-height:54px;border:0;border-radius:999px;background:var(--auth-green);color:#fff;
  display:flex;align-items:center;justify-content:space-between;padding:0 18px 0 22px;font-weight:700;margin-top:4px;
}
.setup-submit:hover{background:var(--auth-green-dark)}
.setup-security{color:var(--auth-muted);font-size:8px;text-align:center}
.setup-side{
  position:relative;
  min-height:100vh;
  color:#fff;
  padding:60px;
  display:flex;
  align-items:flex-end;
  background:
    linear-gradient(0deg,rgba(5,34,24,.88),rgba(5,34,24,.18)),
    url("https://images.unsplash.com/photo-1566073771259-6a8506099945?auto=format&fit=crop&w=1600&q=88") center/cover;
}
.setup-side>div{position:relative;z-index:2;max-width:650px}
.setup-side h2{font-family:"Cormorant Garamond",serif;font-size:54px;line-height:.98;margin:0 0 16px;letter-spacing:-.035em}
.setup-side p{color:rgba(255,255,255,.68);font-size:12px;max-width:580px}
.setup-checks{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:26px}
.setup-checks span{padding:11px 12px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.07);backdrop-filter:blur(10px);border-radius:12px;font-size:9px}
@media(max-width:900px){
  .setup-page{display:block}.setup-side{display:none}.setup-card{min-height:100vh;padding:36px 20px}.setup-brand{margin-bottom:42px}
}
@media(max-width:560px){.setup-grid{grid-template-columns:1fr}.setup-card h1{font-size:48px}}


/* ==========================================================
   LCG OFFICIAL LOGO — AUTH / SETUP
   ========================================================== */

.auth-brand-logo-block {
  display: block;
  margin-top: 42px;
}

.auth-brand-logo {
  display: block;
  width: min(360px, 72%);
  height: auto;
  object-fit: contain;
  object-position: left center;
}

/*
The generated white lockup keeps the logo geometry intact and provides
maximum contrast over resort imagery.
*/
.auth-brand-logo-light {
  opacity: .96;
}

.auth-mobile-brand-logo {
  display: block;
  margin-bottom: 54px;
}

.auth-mobile-logo {
  width: 255px;
  max-width: 82vw;
  height: auto;
  display: block;
}

.setup-brand-logo {
  display: block;
  margin-bottom: 52px;
}

.setup-brand-logo img {
  display: block;
  width: 300px;
  max-width: 76vw;
  height: auto;
  margin-bottom: 10px;
}

.setup-brand-logo small {
  display: block;
  color: var(--auth-muted);
  font-size: 9px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

@media(max-width:860px) {
  .auth-mobile-brand-logo {
    display: block;
  }
}

@media(max-width:560px) {
  .auth-mobile-logo {
    width: 230px;
  }

  .setup-brand-logo img {
    width: 250px;
  }
}

/* Voucher Invitation / Guest Signup V1 */
.transfer-invite-visual .auth-visual-media{filter:saturate(.9) contrast(1.03)}.transfer-invite-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:20px}.transfer-invite-steps>div{padding:9px;border:1px solid rgba(255,255,255,.15);border-radius:10px;background:rgba(255,255,255,.06);backdrop-filter:blur(6px)}.transfer-invite-steps span,.transfer-invite-steps strong{display:block}.transfer-invite-steps span{color:#d8b777;font-size:8px}.transfer-invite-steps strong{margin-top:3px;font-size:9px;color:#fff}.transfer-invite-summary{display:grid;gap:1px;margin:16px 0;overflow:hidden;border:1px solid #e5ece8;border-radius:12px;background:#e5ece8}.transfer-invite-summary>div{padding:11px;background:#fff}.transfer-invite-summary span,.transfer-invite-summary strong{display:block}.transfer-invite-summary span{font-size:8px;color:#788a82}.transfer-invite-summary strong{margin-top:4px;font-size:10px}.transfer-existing-account{display:flex;gap:10px;align-items:flex-start;margin:14px 0;padding:12px;border-radius:12px;background:#edf8f2;border:1px solid #d4eade}.transfer-existing-account>span{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#d7f2e5;color:#0c7653;font-weight:800}.transfer-existing-account strong{font-size:10px}.transfer-existing-account p{margin:3px 0 0;color:#6d7f77;font-size:9px;line-height:1.5}.transfer-guest-name-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.transfer-guest-name-row>div{padding:10px;border:1px solid #e4ebe7;border-radius:11px;background:#f8fbf9}.transfer-guest-name-row span,.transfer-guest-name-row strong{display:block}.transfer-guest-name-row span{font-size:8px;color:#798a83}.transfer-guest-name-row strong{margin-top:3px;font-size:9.5px}.transfer-terms-check{display:flex;gap:8px;align-items:flex-start;margin:12px 0;color:#6d7e77;font-size:9px;line-height:1.55}.transfer-payment-note{margin-top:15px}@media(max-width:650px){.transfer-invite-steps,.transfer-guest-name-row{grid-template-columns:1fr 1fr}}

/* ==========================================================
   PORTAL SETUP V1
   ========================================================== */
.portal-setup-page{min-height:100vh;display:grid;place-items:center;padding:34px 20px;background:radial-gradient(circle at 10% 0%,rgba(13,112,78,.10),transparent 28%),radial-gradient(circle at 96% 8%,rgba(202,167,108,.09),transparent 25%),linear-gradient(180deg,#f7faf8,#eef5f1)}
.portal-setup-shell{width:min(760px,100%);padding:28px;border:1px solid #d9e5de;border-radius:24px;background:rgba(255,255,255,.96);box-shadow:0 28px 70px rgba(11,57,42,.12),inset 0 1px 0 rgba(255,255,255,.98)}
.portal-setup-brand{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid #ebf0ed}.portal-setup-brand img{width:165px;height:auto}.portal-setup-brand span{color:var(--auth-green);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.portal-setup-heading{padding:24px 0 6px}.portal-setup-heading h1{margin:0;font-family:"Cormorant Garamond",serif;font-size:46px;line-height:1;letter-spacing:-.035em}.portal-setup-heading p{margin:10px 0 0;color:var(--auth-muted);font-size:12px;line-height:1.65}
.portal-setup-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:18px 0;overflow:hidden;border:1px solid #e2eae5;border-radius:15px;background:#e2eae5}.portal-setup-summary>div{padding:12px;background:#f9fbfa}.portal-setup-summary span,.portal-setup-summary strong{display:block}.portal-setup-summary span{color:var(--auth-muted);font-size:8.5px;text-transform:uppercase;letter-spacing:.055em}.portal-setup-summary strong{margin-top:4px;font-size:10.5px;line-height:1.4}
.portal-setup-form{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:18px}.portal-setup-form.compact{display:block}.portal-setup-form label{display:block}.portal-setup-form label>span{display:block;margin-bottom:6px;font-size:10px;font-weight:800}.portal-setup-form input{width:100%;min-height:48px;padding:0 13px;border:1px solid #d6e2dc;border-radius:12px;background:#fff;color:var(--auth-ink);outline:none}.portal-setup-form input:focus{border-color:#65aa8d;box-shadow:0 0 0 4px rgba(37,139,102,.08)}.portal-setup-form input[readonly]{background:#f5f8f6;color:#6d7b74}.portal-setup-form .full,.portal-password-rule{grid-column:1/-1}.portal-password-rule{color:var(--auth-muted);font-size:9px;line-height:1.5}.portal-setup-form .btn{margin-top:3px;border-radius:12px}
.portal-existing-account{display:flex;gap:12px;align-items:flex-start;margin:18px 0;padding:14px;border:1px solid #d7e7df;border-radius:14px;background:#eff8f4}.portal-existing-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:12px;background:#d9efe4;color:#0c7553;font-weight:800}.portal-existing-account strong,.portal-existing-account p{display:block}.portal-existing-account strong{font-size:11px}.portal-existing-account p{margin:4px 0 0;color:var(--auth-muted);font-size:9.5px;line-height:1.55}
.portal-setup-security{display:flex;gap:8px;align-items:flex-start;margin-top:17px;padding-top:15px;border-top:1px solid #edf1ef;color:var(--auth-muted)}.portal-setup-security p{margin:0;font-size:9px;line-height:1.55}
.portal-setup-alert{margin:18px 0 0;padding:12px 14px;border:1px solid #cfe7db;border-radius:12px;background:#edf9f3}.portal-setup-alert strong,.portal-setup-alert span{display:block}.portal-setup-alert strong{font-size:10.5px}.portal-setup-alert span{margin-top:3px;color:#315e4d;font-size:9px;line-height:1.5}.portal-setup-alert.danger{border-color:#efcbc5;background:#fff3f0;color:#943f35}.portal-setup-alert.danger span{color:#943f35}
.portal-setup-state{text-align:center;padding:38px 10px 18px}.portal-setup-state>span{width:64px;height:64px;margin:0 auto;display:grid;place-items:center;border-radius:20px;background:#fff1d8;color:#9b6817;font-size:24px;font-weight:800}.portal-setup-state h1{margin:17px 0 7px;font-family:"Cormorant Garamond",serif;font-size:38px}.portal-setup-state p{max-width:520px;margin:0 auto;color:var(--auth-muted);font-size:11px;line-height:1.65}.portal-setup-state a{display:inline-flex;margin-top:17px;color:var(--auth-green);font-size:10px;font-weight:800}.portal-setup-state.error>span{background:#ffe8e3;color:#a5493f}
@media(max-width:700px){.portal-setup-shell{padding:20px;border-radius:19px}.portal-setup-brand{align-items:flex-start;flex-direction:column}.portal-setup-heading h1{font-size:39px}.portal-setup-summary{grid-template-columns:1fr 1fr}.portal-setup-form{grid-template-columns:1fr}.portal-setup-form .full,.portal-password-rule{grid-column:auto}}
@media(max-width:460px){.portal-setup-summary{grid-template-columns:1fr}}
