/* NetHarbor branding layer for Roundcube Classic.
   Keep Classic layout intact and only override colors, logos, and
   a few stable UI surfaces. */

body {
    background: #e8e0f0 !important;
    color: #222 !important;
    font-family: Arial, Helvetica, sans-serif !important;
}

a,
a:visited {
    color: #6600cc !important;
}

a:hover {
    color: #330066 !important;
}

body > #logo {
    position: absolute !important;
    top: 5px !important;
    left: 16px !important;
    z-index: 4 !important;
    height: 38px !important;
    width: auto !important;
    max-width: 220px !important;
    margin: 0 !important;
}

#taskbar {
    left: 0 !important;
    height: 48px !important;
    padding: 15px 10px 10px 235px !important;
    background: linear-gradient(180deg, #3d0080 0%, #2d0060 100%) !important;
    border-bottom: 0 !important;
    box-sizing: border-box !important;
}

#taskbar a {
    color: #ead7ff !important;
    text-shadow: none !important;
    background-image: none !important;
    padding: 6px 10px !important;
    margin-left: 6px !important;
    border-radius: 3px !important;
}

#taskbar a:hover,
#taskbar a.button-selected {
    color: #fff !important;
    background: rgba(255, 255, 255, 0.14) !important;
}

#taskbar a.button-logout {
    color: #ffdc5c !important;
}

#messagetoolbar,
#quicksearchbar {
    background: linear-gradient(180deg, #f7f2ff 0%, #ece3fb 100%) !important;
    border-bottom: 1px solid #c8afe8 !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    box-sizing: border-box !important;
}

#messagetoolbar a.button:hover,
#messagetoolbar a.button.selected {
    background-color: #e0d0f5 !important;
    border-radius: 3px !important;
}

#mailleftcontainer,
#addressbookleftcontainer {
    background: #f5efff !important;
    border-right: 1px solid #ccb6e8 !important;
}

.boxtitle {
    background: linear-gradient(180deg, #3d0080 0%, #2d0060 100%) !important;
    background-image: none !important;
    color: #fff !important;
    border-bottom: 2px solid #6600cc !important;
    text-shadow: none !important;
    height: auto !important;
    line-height: 16px !important;
    padding: 4px 10px 5px 8px !important;
}

#mailboxlist-title,
#folderlist-title,
#directorylist-title,
#sectionslist-title {
    color: #ffdf6b !important;
    background: linear-gradient(180deg, #3d0080 0%, #2d0060 100%) !important;
    background-image: none !important;
    font-size: 12px !important;
    font-weight: bold !important;
    letter-spacing: 0.2px !important;
}

#mailboxlist-title *,
#folderlist-title *,
#directorylist-title *,
#sectionslist-title * {
    color: #ffdf6b !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

#mailleftcontainer .boxtitle,
#mailleftcontainer .boxsubject,
#mailleftcontainer [id$='-title'] {
    background: linear-gradient(180deg, #3d0080 0%, #2d0060 100%) !important;
    background-image: none !important;
    color: #ffdf6b !important;
}

#mailleftcontainer .boxtitle *,
#mailleftcontainer .boxsubject *,
#mailleftcontainer [id$='-title'] * {
    color: #ffdf6b !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

#mailboxlist-title.boxtitle {
    background: #e6dbf4 !important;
    background-image: none !important;
    color: #4f1499 !important;
    border-bottom: 1px solid #b89cd9 !important;
}

#mailboxlist-title.boxtitle,
#mailboxlist-title.boxtitle * {
    color: #4f1499 !important;
    text-shadow: none !important;
}

.boxtitle a,
.boxtitle .rightalign a {
    color: #d7b8ff !important;
}

.boxtitle a:hover {
    color: #fff !important;
}

.folderlist li {
    background: transparent !important;
    border-bottom: 1px solid #eadff8 !important;
}

.folderlist li a {
    color: #2d0060 !important;
    background-color: transparent !important;
}

.folderlist li a:hover {
    background: #e5d8f8 !important;
    color: #1a0035 !important;
}

.folderlist li.selected,
.folderlist li.selected > a {
    background: #2d0060 !important;
    color: #fff !important;
}

.folderlist li.selected > a:hover {
    background: #3d0080 !important;
}

.unreadcount {
    background: #6600cc !important;
    color: #fff !important;
    border-radius: 9px !important;
}

#mailboxlist-footer,
.boxfooter,
#messagelistfooter,
#statusbar,
.statusbar {
    background: #f5efff !important;
    border-top: 1px solid #ccb6e8 !important;
    color: #6d4f97 !important;
}

#messagelistheader {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: linear-gradient(180deg, #4a009a 0%, #2d0060 100%) !important;
    color: #fff !important;
    border-bottom: 1px solid #5d16aa !important;
    text-align: center !important;
}

.widescreen #messagelistheader {
    display: block !important;
    height: 24px !important;
    line-height: 24px !important;
    background: linear-gradient(180deg, #4a009a 0%, #2d0060 100%) !important;
    border-bottom: 1px solid #5d16aa !important;
}

#messagelistheader td,
#messagelistheader div,
#messagelistheader a {
    color: #fff !important;
    text-align: center !important;
    font-weight: bold !important;
    text-shadow: none !important;
}

#messagelistheader td {
    padding: 6px 10px !important;
}

.nh-login-links {
    margin-top: 12px;
    text-align: right;
    font-size: 12px;
}

.nh-login-links a {
    color: #5b15b3 !important;
    font-weight: bold;
}

.nh-login-links a:hover {
    color: #330066 !important;
}

.widescreen #messagelistheader,
.widescreen #messagelistheader a,
.widescreen #messagelistheader span,
.widescreen #messagelistheader div {
    color: #fff !important;
    font-weight: bold !important;
    text-align: center !important;
    text-shadow: none !important;
}

#messagelistheader .listmenu,
.widescreen #messagelistheader .listmenu {
    display: none !important;
}

#messagelistheader #countcontrols,
#messagelistheader #rcmcountdisplay,
.widescreen #messagelistheader #countcontrols,
.widescreen #messagelistheader #rcmcountdisplay {
    display: inline-block !important;
    position: static !important;
    float: none !important;
    margin: 0 auto !important;
    text-align: center !important;
    width: auto !important;
}

#messagelistheader #countcontrols,
.widescreen #messagelistheader #countcontrols {
    min-width: 100% !important;
    line-height: 24px !important;
}

#messagelistheader #countcontrols *,
.widescreen #messagelistheader #countcontrols * {
    color: #fff !important;
    text-shadow: none !important;
}

table.messagelist {
    background: #fff !important;
}

table.messagelist thead td,
table.messagelist thead th,
table.messagelist tr.thead td {
    background: linear-gradient(180deg, #4a009a 0%, #2d0060 100%) !important;
    color: #fff !important;
    border-right: 1px solid #5d16aa !important;
}

table.messagelist thead a {
    color: #ead5ff !important;
}

table.messagelist tbody tr:hover td {
    background: #f2e8ff !important;
}

table.messagelist tbody tr.selected td {
    background: #ddd0f5 !important;
    color: #1a0035 !important;
}

table.messagelist tbody tr td {
    font-weight: normal !important;
    color: #2a2138 !important;
    border-bottom: 1px solid #ece4ff !important;
}

table.messagelist tbody tr.unread td {
    background: #f4ecff !important;
    color: #16002f !important;
    font-weight: 700 !important;
    border-bottom: 1px solid #d8c0ff !important;
}

table.messagelist tbody tr.unread td:first-child {
    box-shadow: inset 4px 0 0 #7a30dc !important;
}

table.messagelist tbody tr:hover td {
    background: #f2e8ff !important;
}

table.messagelist tbody tr.unread:hover td {
    background: #eadcff !important;
}

table.messagelist tbody tr.unread td {
    color: #16002f !important;
}

table.messagelist tbody tr td.from,
table.messagelist tbody tr td.from *,
table.messagelist tbody tr td.sender,
table.messagelist tbody tr td.sender *,
.widescreen .messagelist td.subject span.fromto {
    color: #2a2138 !important;
    font-weight: normal !important;
}

table.messagelist tbody tr.unread td.from,
table.messagelist tbody tr.unread td.from *,
table.messagelist tbody tr.unread td.sender,
table.messagelist tbody tr.unread td.sender *,
.widescreen .messagelist tr.unread td.subject span.fromto {
    color: #16002f !important;
    font-weight: 700 !important;
}

table.messagelist tbody tr:hover td.from,
table.messagelist tbody tr:hover td.from *,
table.messagelist tbody tr:hover td.sender,
table.messagelist tbody tr:hover td.sender *,
.widescreen .messagelist tr:hover td.subject span.fromto {
    color: #1f1630 !important;
}

table.messagelist tbody tr.selected td.from,
table.messagelist tbody tr.selected td.from *,
table.messagelist tbody tr.selected td.sender,
table.messagelist tbody tr.selected td.sender *,
.widescreen .messagelist tr.selected td.subject span.fromto {
    color: #1a0035 !important;
}

#messageheader,
.message-headers,
#messagebody .headers-table {
    background: #f7f2ff !important;
    border-bottom: 1px solid #ccb6e8 !important;
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
select,
textarea {
    background: #fcfaff !important;
    border: 1px solid #c7b0e6 !important;
    color: #222 !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
select:focus,
textarea:focus {
    border-color: #6600cc !important;
    outline: none !important;
    background: #fff !important;
}

input.button,
input.mainaction,
input[type="submit"],
button {
    background: linear-gradient(180deg, #7b2fd0 0%, #5c11b1 100%) !important;
    color: #fff !important;
    border: 1px solid #4a0090 !important;
}

input.button:hover,
input.mainaction:hover,
input[type="submit"]:hover,
button:hover {
    background: linear-gradient(180deg, #8b42df 0%, #6a1ec4 100%) !important;
}

body#nh-login-page {
    min-height: 100vh !important;
    background:
        radial-gradient(circle at top, rgba(255, 220, 92, 0.22), transparent 34%),
        linear-gradient(180deg, #20003f 0%, #3b0074 100%) !important;
}

body#nh-login-page .wrap {
    width: min(100%, 460px);
    margin: 0 auto;
    padding: 56px 18px 32px !important;
}

body#nh-login-page .brand {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 100%;
    margin: 0 auto 18px !important;
    padding: 0;
    box-sizing: border-box;
}

body#nh-login-page .brand a {
    display: inline-block;
}

body#nh-login-page .brand img {
    display: block;
    width: 100%;
    max-width: 280px !important;
    height: auto;
    margin: 0 auto;
    transform: none;
    filter: drop-shadow(0 10px 18px rgba(32, 0, 63, 0.18));
}

body#nh-login-page .card {
    background: rgba(255, 255, 255, 0.96) !important;
    border: 1px solid #cbb4e9 !important;
    border-radius: 12px !important;
    box-shadow: 0 18px 38px rgba(28, 0, 55, 0.18) !important;
    overflow: hidden !important;
}

body#nh-login-page .card-head {
    margin: 0 !important;
    padding: 14px 18px !important;
    font-size: 15px !important;
    background: linear-gradient(180deg, #3b0074 0%, #28004f 100%) !important;
    color: #fff !important;
    border: 0 !important;
    font-weight: bold !important;
    letter-spacing: 0.2px !important;
}

body#nh-login-page .card-body {
    padding: 18px 18px 28px !important;
    background: transparent !important;
}

.nh-login-copy {
    margin: 0 0 14px !important;
    line-height: 1.5 !important;
    font-size: 14px !important;
    color: #22163a !important;
}

#login-form form {
    margin: 0 !important;
}

#login-form table,
#login-form tbody,
#login-form tr,
#login-form td {
    display: block !important;
    width: 100% !important;
    border: 0 !important;
}

#login-form td.title {
    color: #4c3772 !important;
    font-weight: bold !important;
    font-size: 12px !important;
    margin-bottom: 4px !important;
    padding: 0 !important;
    text-align: left !important;
}

#login-form td.input {
    margin-bottom: 14px !important;
    padding: 0 !important;
}

#rcmloginuser::placeholder {
    color: #9b87b8 !important;
}

#login-form input[type="text"],
#login-form input[type="password"] {
    width: 100% !important;
    padding: 10px 11px !important;
    border: 1px solid #cbb4e9 !important;
    border-radius: 8px !important;
    background: #faf7ff !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
}

#login-form p.formbuttons {
    margin: 0 0 12px !important;
}

#login-form input.mainaction,
#login-form input[type="submit"],
#login-form button.mainaction,
#login-form button[type="submit"] {
    display: block !important;
    background: linear-gradient(180deg, #6420bd 0%, #43008d 100%) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 8px !important;
    width: 100% !important;
    padding: 11px 16px !important;
    margin: 0 !important;
    min-height: 44px !important;
    line-height: 1.2 !important;
    font-size: 14px !important;
    font-weight: bold !important;
    text-align: center !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

#login-form input.mainaction:hover,
#login-form input[type="submit"]:hover,
#login-form button.mainaction:hover,
#login-form button[type="submit"]:hover {
    background: linear-gradient(180deg, #7a30dc 0%, #5700b8 100%) !important;
}

body#nh-login-page .meta {
    text-align: center;
    color: #d9c5fb;
    font-size: 12px;
    margin-top: 16px;
    line-height: 1.5;
}

.nh-login-links {
    margin-top: 20px;
    display: flex;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
    font-size: 13px;
}

.nh-login-links a {
    color: #5b15b3 !important;
    font-weight: bold;
}

.nh-login-links a:hover {
    color: #330066 !important;
}
