/* ELVONIX skin overrides for Roundcube Elastic 1.6.x */
:root {
  --elvonix-ink: #001f1d;
  --elvonix-deep: #001a18;
  --elvonix-panel: #003a37;
  --elvonix-teal: #00c5b5;
  --elvonix-teal-light: #4dddd2;
  --elvonix-gold: #f0ba4a;
  --elvonix-white: #f7fffe;
}

/* Login: premium, calm and consistent with the Plesk login. */
body.task-login {
  min-height: 100vh;
  color: var(--elvonix-white);
  background: var(--elvonix-ink);
}

.task-login #layout-content {
  min-height: 100vh;
  overflow: auto;
  background-color: var(--elvonix-ink);
  background-image: url("../images/login-background.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.task-login #logo {
  top: 11vh;
  width: min(300px, 68vw);
  max-width: 300px;
  max-height: 92px;
  filter: drop-shadow(0 12px 30px rgba(0, 0, 0, .24));
}

.task-login #login-form {
  top: 14vh;
  box-sizing: border-box;
  max-width: 390px;
  padding: 30px;
  border: 1px solid rgba(77, 221, 210, .22);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(0, 58, 55, .92), rgba(0, 31, 29, .90));
  box-shadow: 0 24px 80px rgba(0, 0, 0, .38), inset 0 1px 0 rgba(255, 255, 255, .05);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.task-login #login-form::before {
  content: "WEBMAIL";
  display: block;
  margin: 0 0 22px;
  color: var(--elvonix-teal-light);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .24em;
}

.task-login #login-form .input-group {
  margin-bottom: 12px;
}

.task-login #login-form .input-group-text,
.task-login #login-form .form-control {
  min-height: 48px;
  color: var(--elvonix-white);
  border-color: rgba(77, 221, 210, .25);
  background-color: rgba(255, 255, 255, .07);
}

.task-login #login-form .form-control::placeholder {
  color: rgba(247, 255, 254, .58);
}

.task-login #login-form .form-control:focus {
  border-color: var(--elvonix-teal);
  background-color: rgba(255, 255, 255, .10);
  box-shadow: 0 0 0 3px rgba(0, 197, 181, .18);
}

.task-login #rcmloginsubmit {
  min-height: 49px;
  margin-top: 5px;
  border: 0;
  border-radius: 9px;
  color: var(--elvonix-ink);
  font-weight: 750;
  letter-spacing: .035em;
  background: linear-gradient(135deg, var(--elvonix-teal-light), var(--elvonix-teal));
  box-shadow: 0 10px 28px rgba(0, 197, 181, .19);
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}

.task-login #rcmloginsubmit:hover,
.task-login #rcmloginsubmit:focus {
  color: var(--elvonix-ink);
  filter: brightness(1.08);
  transform: translateY(-1px);
  box-shadow: 0 14px 34px rgba(0, 197, 181, .28);
}

.task-login #login-footer {
  margin-top: 18px;
  color: rgba(247, 255, 254, .56);
  font-size: .78rem;
}

.task-login #login-footer a {
  color: var(--elvonix-teal-light);
}

/* Logged-in app: restrained branding without changing Roundcube's layout. */
#layout-menu {
  background: linear-gradient(180deg, var(--elvonix-panel), var(--elvonix-ink));
  box-shadow: inset -1px 0 rgba(77, 221, 210, .10);
}

#layout-menu .popover-header,
#layout-menu .header {
  background-color: transparent;
}

#layout-menu a:hover,
#layout-menu a:focus,
#layout-menu .selected > a,
#layout-menu a.selected {
  color: var(--elvonix-white);
  background-color: rgba(0, 197, 181, .15);
}

.btn-primary,
button.btn-primary,
input.btn-primary {
  border-color: #009f93;
  background-color: #009f93;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:not(:disabled):not(.disabled):active {
  border-color: var(--elvonix-teal);
  background-color: var(--elvonix-teal);
}

a,
.listing li a:hover,
.listing tbody tr:hover td {
  accent-color: var(--elvonix-teal);
}

*:focus-visible {
  outline-color: var(--elvonix-teal) !important;
}

@media (max-width: 480px) {
  .task-login #logo {
    top: 8vh;
    max-height: 72px;
  }

  .task-login #login-form {
    top: 10vh;
    width: calc(100% - 28px);
    padding: 24px 20px;
    border-radius: 15px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .task-login #rcmloginsubmit {
    transition: none;
  }
}
