/* Pagina di login standalone. Richiede theme.css. */
.cm-login-page {
  min-height: 100vh; background: var(--cm-color-surface-page); display: flex; flex-direction: column;
  align-items: center; justify-content: center; padding: var(--cm-space-5) var(--cm-space-4); box-sizing: border-box; gap: var(--cm-space-4);
}
.cm-login-brand { display: flex; align-items: center; gap: 11px; }
.cm-login-logo {
  width: 34px; height: 34px; border-radius: var(--cm-radius-md); background: var(--cm-color-brand); color: var(--cm-color-on-brand);
  display: flex; align-items: center; justify-content: center;
}
.cm-login-logo svg { display: block; }
.cm-login-brand-text { font-size: var(--cm-font-lg); font-weight: var(--cm-weight-bold); color: var(--cm-color-text-primary); letter-spacing: var(--cm-tracking-title); }
.cm-login-card {
  width: 100%; max-width: 400px; background: var(--cm-color-surface-raised); border: 1px solid var(--cm-color-border-default); border-radius: var(--cm-radius-lg);
  box-shadow: var(--cm-shadow-sm); padding: var(--cm-space-4); box-sizing: border-box;
  display: flex; flex-direction: column; gap: var(--cm-space-4);
}
.cm-login-card-head { display: flex; flex-direction: column; gap: 5px; }
.cm-login-card-title { font-size: var(--cm-font-md); font-weight: var(--cm-weight-bold); color: var(--cm-color-text-primary); }
.cm-login-card > .cm-alert { margin-bottom: 0; }
.cm-login-field { display: flex; flex-direction: column; gap: 7px; }
.cm-login-field .cm-field-label { margin-bottom: 0; }
.cm-login-pass-wrap { position: relative; display: flex; align-items: center; }
.cm-login-pass-wrap input { padding-right: 76px; }
.cm-login-reveal-btn {
  position: absolute; right: 8px; min-height: 24px; background: transparent; border: 0; padding: 4px 6px;
  font-family: var(--cm-font-family-sans); font-size: var(--cm-font-sm); font-weight: var(--cm-weight-semibold); letter-spacing: var(--cm-tracking-label);
  text-transform: uppercase; color: var(--cm-color-text-subtle); cursor: pointer;
}
.cm-login-reveal-btn:hover { color: var(--cm-color-brand); }
/* Registrazione, conferma email e password dimenticata riusano la scheda del login. */
a.cm-login-brand { text-decoration: none; }
.cm-login-text { margin: 0; font-size: var(--cm-font-sm); line-height: var(--cm-leading-normal); color: var(--cm-color-text-secondary); }
.cm-login-links { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--cm-space-2); font-size: var(--cm-font-sm); }
.cm-login-links a { color: var(--cm-color-brand); }
.cm-login-inline-form { display: flex; flex-direction: column; gap: var(--cm-space-3); }
/* Campo trappola per i bot: fuori dallo schermo, non display:none (alcuni bot lo saltano). */
.cm-login-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
