:root{
  --green-900:#083825;
  --green-800:#0b4630;
  --green-700:#105a3c;
  --green-050:#eff7f2;
  --paper:#fffdf8;
  --beige:#f2ecda;
  --line:#ded3b8;
  --control-line:var(--green-700);
  --gold:#c2a14d;
  --ink:#1d2a24;
  --muted:#686458;
}

*{box-sizing:border-box}
html{min-width:320px;background:var(--beige)}
body{margin:0;min-width:320px;background:var(--beige);color:var(--ink);font-family:Jost,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
button,input{font:inherit}
button{color:inherit}
[hidden]{display:none!important}
[inert]{pointer-events:none;user-select:none}

body.auth-pending{overflow:hidden}
body.auth-pending>.skip-link,
body.auth-pending>.app-shell,
body.auth-pending>#mobileDock,
body.auth-pending>#scrim,
body.auth-pending>dialog:not(#operationalScopeDialog){visibility:hidden}
body.auth-pending>#operationalScopeDialog[open]{visibility:visible}

.v2-auth-gate{
  position:fixed;
  z-index:120;
  inset:0;
  display:grid;
  place-items:center;
  overflow:auto;
  overscroll-behavior:contain;
  padding:22px;
  background:linear-gradient(145deg,rgba(7,51,36,.98),rgba(16,90,60,.96));
}
.v2-auth-gate[hidden]{display:none!important}
.v2-auth-card{
  width:min(470px,100%);
  margin:auto;
  padding:30px;
  border:1px solid rgba(242,236,218,.45);
  border-radius:26px;
  background:var(--paper);
  box-shadow:0 30px 90px rgba(0,0,0,.3);
}
.v2-auth-card>img{display:block;width:170px;height:88px;margin:0 auto 12px;object-fit:contain}
.v2-auth-card>.eyebrow{margin:0 0 4px;color:#7d473f;font-size:10px;font-weight:800;letter-spacing:.14em;text-align:center;text-transform:uppercase}
.v2-auth-card h1{margin:3px 0 7px;color:var(--green-800);font:700 34px/1.05 "Cormorant Garamond",Georgia,serif;text-align:center}
.v2-auth-card>p:not(.eyebrow){margin:0 auto 20px;color:var(--muted);font-size:13px;line-height:1.5;text-align:center}
/* Keep the gate readable when workspace styles remain loaded after sign-out. */
.v2-auth-gate .v2-auth-card>small{display:block;margin-top:13px;color:var(--muted);font-size:13px;line-height:1.5;text-align:center}

.v2-auth-message{margin-bottom:13px;padding:11px 13px;border:1px solid #e2bf6b;border-radius:12px;background:#fff7dc;color:#6b5319;font-size:14px;line-height:1.5}
.v2-auth-message.success{border-color:#b9d1c2;background:var(--green-050);color:var(--green-800)}
.v2-auth-gate .v2-auth-field{display:grid;gap:8px;margin-top:11px}
.v2-auth-field[hidden]{display:none!important}
.v2-auth-gate .v2-auth-field span{color:var(--green-800);font-size:13px;font-weight:800;line-height:1.5;letter-spacing:normal;text-transform:none}
.v2-auth-gate .v2-auth-field input{width:100%;min-height:50px;padding:11px 13px;border:1px solid var(--control-line);border-radius:13px;background:#fff;color:var(--ink);font-size:16px}
.v2-auth-field input:focus-visible,
.v2-auth-card button:focus-visible{outline:3px solid var(--green-700);outline-offset:3px}
.v2-auth-gate:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:7px;padding:10px 18px;border:1px solid transparent;border-radius:999px;background:var(--green-700);color:#fff;font-size:12px;font-weight:700;cursor:pointer;touch-action:manipulation}
.button.secondary{border-color:var(--line);background:var(--paper);color:var(--green-800)}
.button:disabled{cursor:not-allowed;opacity:.55}
.v2-auth-gate .v2-auth-card .button{min-height:48px;font-size:14px;line-height:1.5;white-space:normal}
.v2-auth-gate .v2-auth-card :is(input,button){scroll-margin-block:8px}
.v2-auth-submit{width:100%;margin-top:17px}
.v2-auth-gate .v2-auth-link{display:block;min-height:44px;margin:5px auto 0;padding:8px;border:0;background:transparent;color:var(--green-800);font-size:14px;font-weight:700;line-height:1.5;text-decoration:underline;cursor:pointer;touch-action:manipulation}
.v2-auth-link[hidden]{display:none!important}
.v2-auth-gate .v2-auth-password-toggle{display:block;min-height:44px;max-width:100%;margin:4px 0 0 auto;padding:8px 12px;border:1px solid var(--green-700);border-radius:10px;background:var(--paper);color:var(--green-800);font-size:14px;font-weight:700;line-height:1.5;white-space:normal;cursor:pointer;touch-action:manipulation}
.v2-auth-password-toggle:disabled{cursor:not-allowed;opacity:.55}
.v2-auth-password-state{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.v2-auth-gate .v2-auth-card>.v2-auth-password-help{margin:4px 0 0;text-align:left}

.v2-preview-access{margin-top:10px;padding:15px;border:1px solid #d8c98f;border-radius:15px;background:#fff8e3;text-align:center}
.v2-preview-access[hidden]{display:none!important}
.v2-auth-gate .v2-preview-access b{display:block;color:var(--green-800);font-size:14px;line-height:1.5}
.v2-auth-gate .v2-preview-access p{margin:5px 0 11px;color:var(--muted);font-size:13px;line-height:1.5}
.v2-preview-access .button{width:100%}

@media(max-width:820px){
  .v2-auth-gate{
    place-items:start center;
    padding-top:max(16px,env(safe-area-inset-top));
    padding-right:max(16px,env(safe-area-inset-right));
    padding-bottom:max(16px,env(safe-area-inset-bottom));
    padding-left:max(16px,env(safe-area-inset-left));
  }
  .v2-auth-card{margin:auto 0}
}

@media(max-width:520px){
  .v2-auth-card{padding:22px 18px;border-radius:20px}
  .v2-auth-card>img{width:146px;height:72px}
  .v2-auth-card h1{font-size:30px}
}

@media(max-height:680px){
  .v2-auth-card{padding-top:20px;padding-bottom:20px}
  .v2-auth-card>img{height:58px;margin-bottom:5px}
}

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