:root {
  --dk-bg: #0f172a;
  --dk-bg-deep: #0b1120;
  --dk-card: rgba(30, 41, 59, 0.82);
  --dk-card-solid: #1e293b;
  --dk-card-hover: #26344a;
  --dk-border: rgba(148, 163, 184, 0.22);
  --dk-border-strong: rgba(129, 140, 248, 0.42);
  --dk-text: #f8fafc;
  --dk-muted: #94a3b8;
  --dk-primary: #818cf8;
  --dk-primary-2: #c084fc;
  --dk-danger: #ef4444;
  --dk-success: #22c55e;
  --dk-shadow: 0 18px 55px rgba(2, 6, 23, 0.34);
  --dk-radius: 8px;
}

html,
body,
#layout {
  background: var(--dk-bg);
  color: var(--dk-text);
  font-family: "Inter", sans-serif;
  min-width: 0 !important;
  overflow-x: hidden;
}

body {
  letter-spacing: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
.header-title,
#login-form label,
.username {
  font-family: "Space Grotesk", "Inter", sans-serif;
}

#layout {
  background:
    radial-gradient(circle at 18% 10%, rgba(129, 140, 248, 0.18), transparent 34rem),
    radial-gradient(circle at 82% 0%, rgba(192, 132, 252, 0.12), transparent 30rem),
    linear-gradient(180deg, var(--dk-bg) 0%, var(--dk-bg-deep) 100%);
}

a,
.listing li a,
.messagelist td.subject a {
  color: var(--dk-text);
}

a:hover,
.listing li a:hover,
.menu a:hover,
.toolbar a:hover {
  color: var(--dk-primary);
}

.btn-primary,
button.btn-primary,
.button.submit,
input.button,
.formbuttons .button,
.formbuttons button,
.action-buttons .compose,
#taskmenu a.compose,
#login-form input[type="submit"] {
  background: linear-gradient(135deg, var(--dk-primary), var(--dk-primary-2)) !important;
  border: 0 !important;
  border-radius: var(--dk-radius) !important;
  color: #fff !important;
  font-weight: 700;
  box-shadow: 0 12px 28px rgba(129, 140, 248, 0.24);
}

.btn-primary:hover,
button.btn-primary:hover,
.button.submit:hover,
input.button:hover,
.formbuttons button:hover,
#taskmenu a.compose:hover,
#login-form input[type="submit"]:hover {
  filter: brightness(1.06);
  transform: translateY(-1px);
}

input,
textarea,
select,
.form-control,
.custom-select,
.input-group-text,
.searchbar input {
  background-color: rgba(30, 41, 59, 0.88) !important;
  border-color: var(--dk-border) !important;
  border-radius: var(--dk-radius) !important;
  color: var(--dk-text) !important;
}

input:focus,
textarea:focus,
select:focus,
.form-control:focus {
  border-color: var(--dk-border-strong) !important;
  box-shadow: 0 0 0 3px rgba(129, 140, 248, 0.18) !important;
}

::placeholder {
  color: var(--dk-muted) !important;
}

.header,
.footer,
.listbox .header,
#layout-menu,
#layout-sidebar,
#layout-list,
#layout-content,
.popupmenu,
.popover,
.ui-dialog,
.ui-widget-content {
  background: rgba(15, 23, 42, 0.76) !important;
  border-color: var(--dk-border) !important;
  color: var(--dk-text) !important;
}

#layout-menu {
  background: rgba(11, 17, 32, 0.94) !important;
  border-right: 1px solid var(--dk-border) !important;
  box-shadow: var(--dk-shadow);
}

#layout-menu .popover-header {
  border-bottom: 1px solid var(--dk-border);
  background: transparent !important;
}

#layout-menu #logo {
  max-width: 42px;
  max-height: 42px;
  object-fit: contain;
}

#taskmenu a,
.toolbar a.button,
.button.icon,
.menu a {
  border-radius: var(--dk-radius) !important;
  color: var(--dk-muted) !important;
}

#taskmenu a:hover,
#taskmenu a.selected,
.toolbar a.button:hover,
.toolbar a.button.selected,
.button.icon:hover {
  background: rgba(129, 140, 248, 0.12) !important;
  color: var(--dk-primary) !important;
}

.listbox,
.scroller,
.listing,
.records-table,
table,
tbody,
tr,
td,
th {
  background-color: transparent !important;
  color: var(--dk-text);
}

.listing li,
.messagelist tr,
.records-table tr,
.table tr {
  border-color: rgba(148, 163, 184, 0.14) !important;
}

.listing li:hover,
.messagelist tr:hover,
.records-table tr:hover {
  background: rgba(129, 140, 248, 0.08) !important;
}

.listing li.selected,
.messagelist tr.selected,
.records-table tr.selected,
.listing li.selected > a {
  background: rgba(129, 140, 248, 0.16) !important;
  color: var(--dk-text) !important;
}

.messagelist tr.unread,
.listing li.unread {
  color: #fff !important;
  font-weight: 700;
}

.messagelist .fromto,
.messagelist .date,
.messagelist .size,
.listing .description,
.listing .count,
.quota-widget,
#login-footer,
.hint,
.formcontent .hint,
.text-muted,
.secondary {
  color: var(--dk-muted) !important;
}

#messagelist-header,
#layout-sidebar .header,
#layout-content .header {
  backdrop-filter: blur(18px);
}

#mailsearchform,
.searchbar {
  background: rgba(30, 41, 59, 0.64) !important;
  border-color: var(--dk-border) !important;
}

.iframe-wrapper,
.iframe-wrapper iframe {
  background: #fff !important;
}

.popupmenu,
.dropdown-menu,
.ui-dialog,
.ui-dialog-content,
.ui-dialog-titlebar {
  background: rgba(30, 41, 59, 0.96) !important;
  border: 1px solid var(--dk-border) !important;
  border-radius: var(--dk-radius) !important;
  box-shadow: var(--dk-shadow);
}

.popupmenu li a:hover,
.dropdown-menu a:hover {
  background: rgba(129, 140, 248, 0.12) !important;
}

.badge,
.count,
.unreadcount {
  background: rgba(129, 140, 248, 0.16) !important;
  color: var(--dk-primary) !important;
  border-radius: 999px;
}

#message-header > .subject,
#message-header > .subject a,
#message-header > .subject .rcmContactAddress,
#message-header > .subject .rcmContactAddress a {
  color: #f8fafc !important;
}

#message-header > .subject {
  font-weight: 700;
  line-height: 1.2;
}

#message-header > .header {
  background: rgba(15, 23, 42, 0.78) !important;
  border: 1px solid rgba(148, 163, 184, 0.14) !important;
  border-radius: 8px !important;
  padding: 10px 12px !important;
}

#message-header > .header,
#message-header > .header * {
  color: #e2e8f0 !important;
}

#message-header .header-summary,
#message-header .header-summary span,
#message-header .header-summary .from,
#message-header .header-summary .to,
#message-header .header-summary .date,
#message-header .header-summary .label,
#message-header .header-summary a,
#message-header .header-headers,
#message-header .header-headers span,
#message-header .header-headers td,
#message-header .header-headers th {
  color: #e2e8f0 !important;
}

#message-header .header-summary .date,
#message-header .header-summary .more,
#message-header .header-headers .value,
#message-header .header-headers td:last-child,
#message-header .header-summary .text-muted,
#message-header .header-summary .header-summary-more {
  color: #94a3b8 !important;
}

#message-header .header-headers .header-title,
#message-header .header-headers th,
#message-header .header-headers td:first-child {
  color: #cbd5e1 !important;
}

#message-header .header-links a,
#message-header .header-links a:visited {
  color: #818cf8 !important;
}

#message-header .header-links a:hover,
#message-header .header-links a:focus {
  color: #c4b5fd !important;
}

#message-header .header-summary strong,
#message-header .header-summary b,
#message-header .header-summary .name,
#message-header .header-summary .email {
  color: #f8fafc !important;
}

#message-header img.contactphoto {
  background: rgba(30, 41, 59, 0.92) !important;
}

.dk-install-app {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 2500;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 16px;
  border: 1px solid rgba(129, 140, 248, 0.28);
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(129, 140, 248, 0.96), rgba(192, 132, 252, 0.96));
  color: #fff !important;
  font-family: "Inter", sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 18px 34px rgba(15, 23, 42, 0.28);
  cursor: pointer;
}

.dk-install-app:hover {
  color: #fff !important;
  filter: brightness(1.05);
  transform: translateY(-1px);
}

.dk-install-app[hidden] {
  display: none !important;
}

.dk-install-app-icon {
  font-size: 16px;
}

html.iframe .dk-install-app,
body.action-print .dk-install-app {
  display: none !important;
}

@media (max-width: 767px) {
  .dk-install-app {
    right: 14px;
    bottom: 14px;
    padding: 10px 14px;
    font-size: 13px;
  }
}

#taskmenu .special-buttons a.theme,
#taskmenu .special-buttons a.about {
  display: none !important;
}

body.task-login #layout {
  min-height: 100vh;
  width: 100vw !important;
  max-width: 100vw !important;
  min-width: 0 !important;
  display: grid;
  place-items: center;
  padding: 24px;
}

body.task-login #layout-content,
body.task-login div#layout-content.selected.no-navbar {
  width: min(calc(100vw - 48px), 430px) !important;
  max-width: calc(100vw - 48px) !important;
  min-width: 0 !important;
  box-sizing: border-box;
  position: relative;
  background: var(--dk-card) !important;
  border: 1px solid rgba(148, 163, 184, 0.18) !important;
  border-radius: var(--dk-radius) !important;
  box-shadow: var(--dk-shadow);
  padding: 28px;
  min-height: auto !important;
  height: auto !important;
  margin: 0 !important;
  inset: auto !important;
  transform: none !important;
  display: block !important;
  backdrop-filter: blur(22px);
}

body.task-login #layout-content:before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(129, 140, 248, 0.18), transparent 42%, rgba(192, 132, 252, 0.14));
}

body.task-login #login-form,
body.task-login .dk-login-intro {
  position: relative;
  z-index: 1;
}

body.task-login #login-form {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  inset: auto !important;
  transform: none !important;
  display: block !important;
  overflow: hidden;
}

body.task-login #login-form * {
  box-sizing: border-box;
  max-width: 100%;
}

.dk-login-intro {
  text-align: left;
  margin-bottom: 22px;
}

body.task-login #logo {
  width: 58px;
  height: 58px;
  position: static !important;
  display: block !important;
  object-fit: contain;
  max-width: 58px !important;
  max-height: 58px !important;
  margin-bottom: 14px;
}

.dk-login-kicker {
  margin: 0;
  color: var(--dk-text);
  font-family: "Space Grotesk", "Inter", sans-serif;
  font-size: 1.65rem;
  font-weight: 700;
  line-height: 1.1;
}

.dk-login-subtitle {
  margin: 8px 0 0;
  color: var(--dk-muted);
  font-size: 0.94rem;
  line-height: 1.45;
  max-width: 100%;
}

body.task-login #login-form table {
  width: 100%;
  table-layout: fixed;
  margin: 0 !important;
  display: block !important;
}

body.task-login #login-form tbody,
body.task-login #login-form tr {
  display: block !important;
  width: 100% !important;
}

body.task-login #login-form td.title {
  display: none !important;
}

body.task-login #login-form .title {
  display: none !important;
}

body.task-login #login-form td.input {
  display: block !important;
  width: 100%;
  max-width: 100% !important;
  padding: 0 0 14px !important;
}

body.task-login #login-form td.input:before,
body.task-login #login-form td.input:after {
  content: none !important;
  display: none !important;
}

body.task-login #login-form .form-group,
body.task-login #login-form .row,
body.task-login #login-form p {
  margin-bottom: 14px;
}

body.task-login #login-form label {
  color: var(--dk-muted);
  font-size: 0.88rem;
  font-weight: 600;
}

body.task-login #login-form .form-control {
  min-height: 44px;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box;
  padding-left: 14px !important;
}

body.task-login #login-form input.button,
body.task-login #login-form button {
  width: 100%;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 44px;
  margin-top: 4px;
}

body.task-login #login-footer {
  margin-top: 18px;
  font-size: 0.8rem;
}

.error,
.warning,
.alert-danger,
#messagestack .error {
  background: rgba(239, 68, 68, 0.12) !important;
  border-color: rgba(239, 68, 68, 0.35) !important;
  color: #fecaca !important;
}

.success,
.alert-success,
#messagestack .confirmation {
  background: rgba(34, 197, 94, 0.12) !important;
  border-color: rgba(34, 197, 94, 0.35) !important;
  color: #bbf7d0 !important;
}

@media (max-width: 800px) {
  body.task-login #layout {
    padding: 14px;
  }

  body.task-login #layout-content,
  body.task-login div#layout-content.selected.no-navbar {
    width: min(calc(100vw - 28px), 340px) !important;
    max-width: min(calc(100vw - 28px), 340px) !important;
    min-width: 0 !important;
    padding: 22px;
    transform: translateX(-48px) !important;
  }

  body.task-login #login-form {
    margin-left: 0 !important;
    width: 100% !important;
  }

  body.task-login #login-form .form-control,
  body.task-login #login-form button {
    width: calc(100% - 58px) !important;
    max-width: calc(100% - 58px) !important;
  }
}

body.task-mail.action-compose .formbuttons a.extwin,
body.task-mail.action-compose .formbuttons a.extwin.btn-link,
body.task-mail.action-compose .formbuttons a.extwin.button {
  background: linear-gradient(135deg, var(--dk-primary), var(--dk-primary-2)) !important;
  border: 0 !important;
  border-radius: var(--dk-radius) !important;
  color: #fff !important;
  font-weight: 700;
  text-decoration: none !important;
  box-shadow: 0 12px 28px rgba(129, 140, 248, 0.24);
}

body.task-mail.action-compose .formbuttons a.extwin .inner,
body.task-mail.action-compose .formbuttons a.extwin:before {
  color: #fff !important;
}

body.task-mail.action-compose .formbuttons a.extwin:hover,
body.task-mail.action-compose .formbuttons a.extwin:focus {
  color: #fff !important;
  filter: brightness(1.06);
  text-decoration: none !important;
}
