/* 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; font-size: var(--cm-font-md); font-weight: var(--cm-weight-bold);
}
.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); }
