/* Nova theme per Roundcube Elastic: palette del sito (navy #060B18, ciano #06B6D4/#22D3EE, oro #F59E0B). */
:root {
  --nova-navy: #060B18;
  --nova-deep: #030812;
  --nova-panel: #0F1629;
  --nova-cyan: #06B6D4;
  --nova-cyan-2: #22D3EE;
  --nova-gold: #F59E0B;
}

/* ---- Pagina di accesso ---- */
body.task-login {
  background: var(--nova-deep) !important;
  font-family: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
}
body.task-login .nova-bg { position: fixed; inset: 0; z-index: 0; overflow: hidden; background: var(--nova-deep) url(hero-nova.webp) 70% center / cover no-repeat; }
body.task-login .nova-bg video { width: 100%; height: 100%; object-fit: cover; object-position: 72% center; opacity: .85; }
body.task-login .nova-bg-shade { position: absolute; inset: 0; background: linear-gradient(115deg, rgba(3,8,18,.92) 0%, rgba(6,11,24,.70) 45%, rgba(6,11,24,.35) 100%); }
body.task-login #layout,
body.task-login #layout-content { background: transparent !important; position: relative; z-index: 1; }
body.task-login #login-form {
  background: rgba(15, 22, 41, .72);
  border: 1px solid rgba(34, 211, 238, .22);
  border-radius: 18px;
  padding: 2.25rem 2rem 1.75rem;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .45), 0 0 0 1px rgba(255, 255, 255, .03) inset;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  max-width: 400px;
}
body.task-login #logo { max-height: 120px; width: auto; margin-bottom: 1.25rem; }
body.task-login #login-form .formcontent label,
body.task-login #login-form td,
body.task-login .formbuttons,
body.task-login #login-footer,
body.task-login #login-footer a { color: #cbd5e1 !important; }
body.task-login #login-form input.form-control {
  background: rgba(3, 8, 18, .65) !important;
  border: 1px solid rgba(148, 163, 184, .28) !important;
  color: #f1f5f9 !important;
  border-radius: 10px;
}
body.task-login #login-form input.form-control:focus {
  border-color: var(--nova-cyan-2) !important;
  box-shadow: 0 0 0 3px rgba(34, 211, 238, .25) !important;
}
body.task-login #login-form .input-group-text,
body.task-login #login-form .input-group-prepend i { background: transparent !important; color: var(--nova-cyan-2) !important; border-color: rgba(148, 163, 184, .28) !important; }
body.task-login #rcmloginsubmit {
  background: linear-gradient(135deg, var(--nova-cyan) 0%, var(--nova-cyan-2) 100%) !important;
  border: 0 !important;
  color: var(--nova-deep) !important;
  font-weight: 700;
  border-radius: 10px;
  letter-spacing: .02em;
}
body.task-login #rcmloginsubmit:hover { filter: brightness(1.08); }
body.task-login #login-footer { position: relative; z-index: 1; opacity: .8; }
body.task-login #message, body.task-login .messagestack { z-index: 2; }

/* ---- Dentro la webmail: accenti Nova ---- */
#layout-menu { background-color: var(--nova-navy) !important; }
#layout-menu .menu a, #layout-menu .popover-header { color: #cbd5e1 !important; }
#layout-menu .menu a.selected, #layout-menu .menu a:hover { color: var(--nova-cyan-2) !important; background-color: rgba(34, 211, 238, .08) !important; }
#layout-menu #logo { filter: none; }
.btn-primary, .button.mainaction, .formbuttons .button.mainaction {
  background-color: var(--nova-cyan) !important;
  border-color: var(--nova-cyan) !important;
  color: #fff !important;
}
.btn-primary:hover, .button.mainaction:hover { background-color: #0891b2 !important; border-color: #0891b2 !important; }
.listing li.selected > a, table.records-table tr.selected td, .listing li.selected { background-color: rgba(6, 182, 212, .12) !important; }
a, .listing li a:focus { color: #0891b2; }
.unread .subject, .unread .subject a { color: var(--nova-navy); }
html.dark-mode a { color: var(--nova-cyan-2); }
