/* ZotecSoft brand for Roundcube Elastic */
:root {
  --zs-ink: #111111;          /* wordmark black */
  --zs-violet: #7c5cfc;       /* readable accent from logo lavender */
  --zs-violet-dark: #5b3fd6;
  --zs-holo: linear-gradient(135deg, #f5a9e6 0%, #c3a8f5 50%, #9fe3f0 100%);
}

/* Logo sizing */
#logo, #layout-menu #logo, #login-form #logo { height: 55px !important; max-height: 55px !important; width: auto !important; object-fit: contain; }
#login-form #logo { margin-bottom: 1rem; }
html.dark-mode #login-form #logo { filter: invert(1) hue-rotate(180deg); }
/* Sidebar icon (after login) */
#layout-menu #logo { max-width: 100% !important; padding: 4px; box-sizing: border-box; }

/* Login page */
body.task-login { background: #faf9ff; }
body.task-login #layout-content::before {
  content: ""; position: fixed; top: 0; left: 0; right: 0; height: 6px; background: var(--zs-holo);
}
html.dark-mode body.task-login { background: #121018; }

/* Primary buttons */
.btn-primary, .btn.btn-primary, button.btn-primary, input.btn-primary,
.formbuttons .btn.mainaction, .btn.mainaction {
  background-color: var(--zs-ink) !important; border-color: var(--zs-ink) !important; color: #fff !important;
}
.btn-primary:hover, .btn.mainaction:hover {
  background-color: var(--zs-violet-dark) !important; border-color: var(--zs-violet-dark) !important;
}
html.dark-mode .btn-primary, html.dark-mode .btn.mainaction {
  background-color: var(--zs-violet) !important; border-color: var(--zs-violet) !important;
}

/* Links, focus, active nav */
a, a:visited, .link { color: var(--zs-violet); }
a:hover { color: var(--zs-violet-dark); }
.form-control:focus, input:focus, select:focus, textarea:focus {
  border-color: var(--zs-violet) !important; box-shadow: 0 0 0 .2rem rgba(124,92,252,.25) !important;
}

/* Holographic accent bar on the left menu */
#layout-menu { border-right: 0; box-shadow: inset -3px 0 0 0 transparent; position: relative; }
#layout-menu::after {
  content: ""; position: absolute; top: 0; right: 0; width: 3px; height: 100%; background: var(--zs-holo);
}

/* Selected / focused list rows */
.listing li.selected, table.listing tr.selected td,
.listing li.focused, table.listing tr.focused td,
#folderlist-content li.selected > a {
  background-color: rgba(124,92,252,.12) !important;
}
table.messagelist tr.selected td, table.messagelist tr.selected td a { color: inherit !important; }
#folderlist-content li.selected > a { color: var(--zs-violet-dark) !important; }
.unreadcount, .badge-primary { background-color: var(--zs-violet) !important; color: #fff !important; }

/* Checkboxes / switches */
input[type=checkbox].custom-switch:checked, .custom-control-input:checked ~ .custom-control-label::before {
  background-color: var(--zs-violet) !important; border-color: var(--zs-violet) !important;
}

/* ===== Sidebar (left menu) - readable on dark ===== */
#layout-menu { background-color: #16141f !important; }
#layout-menu .menu a,
#layout-menu .menu a:before,
#layout-menu .menu a span { color: #e9e6f5 !important; }
#layout-menu .menu a:hover,
#layout-menu .menu a:focus { background-color: rgba(255,255,255,.08) !important; color: #ffffff !important; }
#layout-menu .menu a:hover:before { color: #ffffff !important; }
/* active section */
#layout-menu .menu a.selected {
  background-color: rgba(195,168,245,.18) !important; color: #ffffff !important;
  box-shadow: inset 3px 0 0 #c3a8f5;
}
#layout-menu .menu a.selected:before, #layout-menu .menu a.selected span { color: #ffffff !important; }
/* compose = brand pastel highlight */
#layout-menu .menu a.compose, #layout-menu .menu a.compose:before, #layout-menu .menu a.compose span { color: #d8c8ff !important; }
#layout-menu .menu a.compose:hover, #layout-menu .menu a.compose:hover:before { color: #ffffff !important; }
/* logout: soft red readable on dark */
#layout-menu .menu a.logout, #layout-menu .menu a.logout:before, #layout-menu .menu a.logout span { color: #ff8a8a !important; }

/* Folder unread badges: white number on violet */
#folderlist-content .unreadcount,
#folderlist-content li.selected .unreadcount,
.listing li .unreadcount {
  background-color: var(--zs-violet) !important; color: #ffffff !important; font-weight: 600;
}
