.security-modal-open{overflow:hidden}
.security-confirm-overlay{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px;background:rgba(16,44,58,.42)}
.security-confirm-modal{width:min(100%,410px);max-height:min(90vh,680px);overflow:auto;background:var(--white);border:1px solid var(--line);padding:27px 29px 28px;box-shadow:0 24px 70px rgba(16,44,58,.16)}
.security-confirm-modal .eyebrow{margin:0 0 7px}
.security-confirm-modal h2{margin:0;font:400 31px/1.12 var(--serif);letter-spacing:-.025em}
.security-confirm-facts{margin:20px 0 22px}
.security-confirm-facts div{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;align-items:baseline;padding:12px 0;border-top:1px solid var(--line)}
.security-confirm-facts div:last-child{border-bottom:1px solid var(--line)}
.security-confirm-facts dt{color:var(--ink-soft);font-size:12px}
.security-confirm-facts dd{margin:0;color:var(--ink);font-size:16px;line-height:1.4;overflow-wrap:anywhere}
.security-confirm-facts div:first-child dd{font-weight:700;letter-spacing:.025em}
.security-confirm-actions{display:flex;justify-content:flex-end;gap:10px}
.security-confirm-actions .button{min-width:86px}
.auth-main{padding-bottom:0}
.auth-flow{max-width:540px;padding-top:50px;padding-bottom:56px}
.auth-flow .eyebrow{margin-bottom:10px}
.auth-flow .app-title{font-size:clamp(34px,3vw,42px);line-height:1.14}
.auth-company-context{margin:23px 0 0;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.auth-company-context p{margin:0 0 7px;color:var(--ink-soft);font-size:12px}
.auth-company-context strong{display:block;font:400 25px/1.2 var(--serif)}
.auth-company-context span{display:block;margin-top:4px;color:var(--ink-soft);font-size:13px}
.auth-flow .auth-card{margin-top:22px;padding:0;border:0;background:transparent}
.auth-flow .auth-card>p:first-child{margin:0 0 20px;font-size:14px;line-height:1.5}
.auth-flow .field{max-width:440px}
.auth-flow .field input{border-color:var(--line)}
.auth-flow .status{min-height:1.4em;margin:13px 0 0}
.auth-back{margin-top:22px}
.auth-loading,.auth-error{margin:20px 0 0;color:var(--ink-soft);font-size:14px;line-height:1.5}
.auth-error{color:#9a493d}
.account-overview{max-width:640px}
.account-overview .app-title{margin-bottom:28px}
.account-section{padding:23px 0;border-top:1px solid var(--line)}
.account-section h2{margin:0 0 13px;font:400 23px/1.2 var(--serif);color:var(--ink)}
.account-email{margin:0;color:var(--ink);font-size:15px;overflow-wrap:anywhere}
.account-company-note{margin:13px 0 0;color:var(--ink-soft);font-size:13px}
.account-entitlement{margin:5px 0;padding:25px 28px 27px;background:var(--white);border:1px solid var(--line)}
.account-entitlement h2{margin-bottom:22px}
.account-entitlement-label{margin:0;color:var(--ink-soft);font-size:14px}
.account-entitlement-count{margin:3px 0 12px;font:400 62px/1 var(--serif);letter-spacing:-.04em;color:var(--navy)}
.account-entitlement-count span:not(.account-unavailable){font:400 20px var(--sans);letter-spacing:0}
.account-entitlement-count .account-unavailable{font:500 18px/1.5 var(--sans);letter-spacing:0}
.account-entitlement-note{margin:0 0 22px;color:var(--ink-soft);font-size:13px}
.account-pricing{min-height:44px}
.account-operations .quiet-button{padding:6px 0}
.account-operations p{margin:0;color:var(--ink-soft);font-size:14px}
@media(max-width:600px){
  .security-confirm-overlay{align-items:end;padding:0}
  .security-confirm-modal{width:100%;max-height:90dvh;border-radius:14px 14px 0 0;padding:24px 22px calc(24px + env(safe-area-inset-bottom));box-shadow:0 -18px 50px rgba(16,44,58,.14)}
  .security-confirm-actions{display:grid;grid-template-columns:1fr 1fr}
  .security-confirm-actions .button{min-height:46px}
  .auth-flow{padding-top:32px;padding-bottom:42px}
  .auth-flow .auth-card .button{width:100%}
  .account-entitlement{padding:23px 20px 25px}
  .account-entitlement-count{font-size:56px}
  .account-pricing{width:100%}
}

/* Keep the existing account layout; add only verification form states. */
#auth-code-form[hidden]{display:none}
#auth-code-form{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.auth-code-hint{max-width:440px;margin:0 0 16px;color:var(--ink-soft);font-size:14px;line-height:1.6}
#auth-code{min-height:48px;font-size:20px;font-variant-numeric:tabular-nums;letter-spacing:.18em}
.auth-flow #auth-form .button,.auth-flow #auth-code-form .button{min-height:44px}
.auth-flow .status.auth-code-error{color:#9a493d}
#auth-code[aria-invalid="true"]{border-color:#9a493d}
#auth-code:focus-visible{outline:2px solid var(--navy);outline-offset:3px}

/* Official Google HTML configurator, light rectangular standard button. */
.gsi-material-button {
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  -webkit-appearance: none;
  background-color: WHITE;
  background-image: none;
  border: 1px solid #747775;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #1f1f1f;
  cursor: pointer;
  font-family: 'Roboto', arial, sans-serif;
  font-size: 14px;
  height: 40px;
  letter-spacing: 0.25px;
  outline: none;
  overflow: hidden;
  padding: 0 12px;
  position: relative;
  text-align: center;
  -webkit-transition: background-color .218s, border-color .218s, box-shadow .218s;
  transition: background-color .218s, border-color .218s, box-shadow .218s;
  vertical-align: middle;
  white-space: nowrap;
  width: auto;
  max-width: 400px;
  min-width: min-content;
}

.gsi-material-button .gsi-material-button-icon {
  height: 20px;
  margin-right: 10px;
  min-width: 20px;
  width: 20px;
}

.gsi-material-button .gsi-material-button-content-wrapper {
  -webkit-align-items: center;
  align-items: center;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  height: 100%;
  justify-content: space-between;
  position: relative;
  width: 100%;
}

.gsi-material-button .gsi-material-button-contents {
  -webkit-flex-grow: 1;
  flex-grow: 1;
  font-family: 'Roboto', arial, sans-serif;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: top;
}

.gsi-material-button .gsi-material-button-state {
  -webkit-transition: opacity .218s;
  transition: opacity .218s;
  bottom: 0;
  left: 0;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.gsi-material-button:disabled {
  cursor: default;
  background-color: #ffffff61;
  border-color: #1f1f1f1f;
}

.gsi-material-button:disabled .gsi-material-button-contents {
  opacity: 38%;
}

.gsi-material-button:disabled .gsi-material-button-icon {
  opacity: 38%;
}

.gsi-material-button:not(:disabled):active .gsi-material-button-state, 
.gsi-material-button:not(:disabled):focus .gsi-material-button-state {
  background-color: #303030;
  opacity: 12%;
}

.gsi-material-button:not(:disabled):hover {
  -webkit-box-shadow: 0 1px 2px 0 rgba(60, 64, 67, .30), 0 1px 3px 1px rgba(60, 64, 67, .15);
  box-shadow: 0 1px 2px 0 rgba(60, 64, 67, .30), 0 1px 3px 1px rgba(60, 64, 67, .15);
}

.gsi-material-button:not(:disabled):hover .gsi-material-button-state {
  background-color: #303030;
  opacity: 8%;
}

/* Visible keyboard focus; unrelated controls retain existing styles. */
.gsi-material-button:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
