/* CABOOK Leitor — account and access layout, 2026-09-05.
   Scoped to the reader. No changes to authentication, plans or payments. */
body.cabook-reader-standard .login-dialog .dialog-card,
body.cabook-reader-standard .profile-card {
  box-sizing: border-box;
  min-width: 0;
  color: #17352b;
  overflow-wrap: anywhere;
}
body.cabook-reader-standard .login-dialog .dialog-card > p,
body.cabook-reader-standard .profile-card p:not(.form-status) {
  color: #40594f !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}
body.cabook-reader-standard .login-dialog .reader-auth-tabs button {
  min-height: 44px !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  white-space: normal !important;
}
body.cabook-reader-standard .login-dialog .dialog-card label > span:first-child,
body.cabook-reader-standard .profile-card label > span:first-child {
  color: #284c40 !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}
body.cabook-reader-standard .login-dialog .remember-row,
body.cabook-reader-standard .profile-card .remember-row {
  align-items: flex-start;
  gap: 9px;
}
body.cabook-reader-standard .login-dialog .remember-row input[type="checkbox"],
body.cabook-reader-standard .profile-card .remember-row input[type="checkbox"] {
  flex: 0 0 18px;
  width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  padding: 0 !important;
  margin: 2px 0 0;
  accent-color: #0b4a35;
}
body.cabook-reader-standard .login-dialog .remember-row span,
body.cabook-reader-standard .profile-card .remember-row span {
  flex: 1;
  min-width: 0;
  font-size: 12px !important;
  line-height: 1.5 !important;
}
body.cabook-reader-standard .login-dialog input:not([type="checkbox"]),
body.cabook-reader-standard .profile-card input:not([type="checkbox"]) {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 44px !important;
  font-size: 16px !important;
}
body.cabook-reader-standard .login-dialog .password-field input,
body.cabook-reader-standard .login-dialog .cabook-password-control input {
  padding-right: 92px !important;
}
body.cabook-reader-standard .profile-card [data-profile-preferences] {
  display: grid;
  gap: 14px;
  margin-top: 20px;
}
body.cabook-reader-standard .profile-card input:not([type="checkbox"]) {
  padding: 10px 12px;
  border: 1px solid #c9bda9;
  border-radius: 11px;
  background: #fff;
  color: #17352b;
}
body.cabook-reader-standard .profile-card input:focus-visible {
  outline: 3px solid #c99a45;
  outline-offset: 2px;
}
body.cabook-reader-standard .profile-card .secondary-button {
  background: #fffdf8 !important;
  color: #0b4a35 !important;
  border-color: #c9bda9 !important;
}
body.cabook-reader-standard .login-dialog .primary-button,
body.cabook-reader-standard .profile-card button {
  max-width: 100%;
  min-width: 0;
  min-height: 44px !important;
  white-space: normal;
  overflow-wrap: anywhere;
  font-size: 14px !important;
  line-height: 1.35 !important;
}

/* The panel follows the CABOOK green/gold identity and grows with its text. */
body.cabook-reader-standard .login-dialog .cabook-premium {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: start !important;
  height: auto !important;
  max-height: none !important;
  min-width: 0;
  max-width: 100%;
  margin: 18px 0 0 !important;
  padding: 16px !important;
  border: 1px solid #c99a45;
  background: linear-gradient(145deg, #073828, #0b4a35) !important;
  color: #fffdf8 !important;
}
body.cabook-reader-standard .login-dialog .cabook-premium > * {
  grid-column: 1 !important;
  grid-row: auto !important;
  min-width: 0;
  max-width: 100%;
}
body.cabook-reader-standard .login-dialog .cabook-premium h2 {
  color: #efd28a !important;
  margin: 0 !important;
  font-size: 24px !important;
  line-height: 1.2 !important;
}
body.cabook-reader-standard .login-dialog .cabook-premium__eyebrow {
  color: #efd28a !important;
  font-size: 11px !important;
  line-height: 1.5;
  letter-spacing: .08em;
}
body.cabook-reader-standard .login-dialog .cabook-premium p {
  display: block !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
  white-space: normal !important;
  margin: 0 !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  color: #edf4f0 !important;
}
body.cabook-reader-standard .login-dialog .cabook-premium__prices {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  align-items: stretch;
  margin: 2px 0 !important;
}
body.cabook-reader-standard .login-dialog .cabook-premium__price {
  box-sizing: border-box;
  min-width: 0;
  padding: 12px !important;
  gap: 5px;
  background: #fffdf8 !important;
  color: #17352b !important;
  border: 1px solid #e3dbcd !important;
}
body.cabook-reader-standard .login-dialog .cabook-premium__price.plan-quarterly {
  background: #edf4f0 !important;
  border-color: #c99a45 !important;
}
body.cabook-reader-standard .login-dialog .cabook-premium__price small,
body.cabook-reader-standard .login-dialog .cabook-premium__price s {
  margin: 0;
  color: #40594f !important;
  font-size: 12px !important;
  line-height: 1.45;
}
body.cabook-reader-standard .login-dialog .cabook-premium__price b {
  color: #0b4a35 !important;
  font-size: 19px !important;
  line-height: 1.3;
}
body.cabook-reader-standard .login-dialog .cabook-premium__price em {
  margin: 0 0 3px;
  padding: 5px 7px;
  background: #efd28a;
  color: #17352b;
  font-size: 11px;
  line-height: 1.3;
  white-space: normal;
  overflow-wrap: anywhere;
}
body.cabook-reader-standard .login-dialog .cabook-premium__action {
  box-sizing: border-box;
  width: 100% !important;
  min-height: 44px;
  padding: 12px 14px !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
  text-align: center;
  font-size: 14px !important;
  line-height: 1.45;
  background: #efd28a !important;
  color: #17352b !important;
}
body.cabook-reader-standard .login-dialog .cabook-premium .cabook-renewal-note {
  padding: 12px !important;
  background: #fff8e8;
  color: #284c40 !important;
  border: 1px solid #e3dbcd;
}
body.cabook-reader-standard .login-dialog .cabook-renewal-note a {
  color: #07553e !important;
  text-decoration: underline;
}
body.cabook-reader-standard .login-dialog a:focus-visible,
body.cabook-reader-standard .login-dialog button:focus-visible,
body.cabook-reader-standard .profile-card button:focus-visible {
  outline: 3px solid #c99a45;
  outline-offset: 3px;
}

/* Profile values may be names or e-mails much longer than their labels. */
body.cabook-reader-standard .profile-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr);
  gap: 8px 14px;
  align-items: start;
}
body.cabook-reader-standard .profile-row > * {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  white-space: normal;
  line-height: 1.5;
}
body.cabook-reader-standard .profile-row span {
  color: #40594f;
  font-size: 13px;
}
body.cabook-reader-standard .profile-row strong {
  color: #17352b;
  font-size: 14px;
}
@media (max-width: 480px) {
  body.cabook-reader-standard .profile-row { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  body.cabook-reader-standard .profile-row strong { text-align: left; }
}
@media (max-width: 380px) {
  body.cabook-reader-standard .login-dialog .cabook-premium__prices { grid-template-columns: minmax(0, 1fr) !important; }
}
