/* Contractor Web Solutions brand on top of Elastic: navy sidebar, orange actions.
   Rules are scoped so they never recolor body text or links — an earlier global
   `a { color }` made the sidebar unreadable and dark mode muddy. */

/* Sidebar (task menu): navy, white text, orange compose, selected = lighter navy */
#layout-menu, #layout-menu .popover-header, #layout-menu .special-buttons, #layout-menu .special-buttons a { background-color: #0f1f38 !important; }
#taskmenu a, #taskmenu a span, #layout-menu .special-buttons a { color: #fff !important; }
#taskmenu a.selected, #taskmenu a:focus, #taskmenu a:hover,
#layout-menu .special-buttons a:hover { background-color: #1a3a6b !important; color: #fff !important; }
#taskmenu a.compose, #taskmenu a.compose span { color: #f07020 !important; }
#taskmenu a.about { display: none !important; }          /* confuses customers */

/* Primary buttons: orange */
.btn-primary, .btn-primary:focus, .btn-primary:active,
button.btn-primary, .ui-dialog .btn-primary, #login-form .btn-primary {
  background-color: #f07020 !important; border-color: #f07020 !important; color: #fff !important;
}
.btn-primary:hover { background-color: #d9611a !important; border-color: #d9611a !important; }
.btn-primary:focus { box-shadow: 0 0 0 .2rem rgba(240,112,32,.35) !important; }
.form-control:focus { border-color: #f07020 !important; box-shadow: 0 0 0 .2rem rgba(240,112,32,.25) !important; }
.custom-control-input:checked ~ .custom-control-label::before { background-color: #f07020 !important; border-color: #f07020 !important; }
.floating-action-buttons a.compose { background-color: #f07020 !important; color: #fff !important; }

/* Plain-text messages: the normal font, not a typewriter one */
#messagebody div.pre { font-family: inherit !important; font-size: 1rem; line-height: 1.5; }

/* Login page */
#login-form .logo { max-width: 340px; height: auto; margin-bottom: 1.2rem; }
#login-footer { display: none; }

/* Phones: bigger, roomier message rows and body text */
@media (max-width: 767px) {
  .messagelist tbody tr td { padding-top: .8rem !important; padding-bottom: .8rem !important; }
  .messagelist td.subject span.subject, .messagelist td.subject span.subject a { font-size: 1.22rem !important; line-height: 1.35; }
  .messagelist td.subject span.fromto, .messagelist td.subject span.fromto a { font-size: 1.08rem !important; }
  .messagelist td.subject span.date { font-size: 1rem !important; }
  .messagelist td.subject span.subject { margin-top: .3rem; }
  #messagebody, #messagebody div.pre, #messagebody .message-part { font-size: 1.12rem !important; line-height: 1.55; }
  #message-header .subject, #layout-content .header .header-title { font-size: 1.25rem; }
  #searchbar input, #searchbar .searchbar input { font-size: 1.08rem; }
  #layout-content > .header .logo { max-height: 30px; }
}

/* ---- Polish: Gmail/Outlook-style list and message header ---------------- */

/* Initials avatars */
.cws-avatar { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px;
  border-radius: 50%; color: #fff; font-weight: 700; font-size: .95rem; letter-spacing: .02em; flex: 0 0 auto; }
.cws-avatar-lg { width: 48px; height: 48px; font-size: 1.1rem; margin-right: .75rem; }
#messagelist td.subject { position: relative; }
#messagelist tr.cws-row td.subject { padding-left: 60px !important; }
#messagelist tr.cws-row td.subject > .cws-avatar { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); }
#messagelist td.subject span.size { display: none !important; }

/* Search: rounded pill like Gmail */
#layout-list .searchbar, #searchbar { border-radius: 999px; background: #f1f3f4; margin: 6px 8px; border: 0; }
#layout-list .searchbar input, #searchbar input { background: transparent; }

/* Message header: bigger subject, calmer meta line */
#message-header h2.subject { font-size: 1.35rem; font-weight: 700; line-height: 1.3; margin-bottom: .6rem; }
#message-header .header { align-items: center; }
#message-header .header-summary { font-size: 1rem; }
#messagebody { padding-top: .5rem; }

/* Phones */
@media (max-width: 767px) {
  #messagelist tr.cws-row td.subject { padding-left: 64px !important; }
  #messagelist tr.cws-row td.subject > .cws-avatar { left: 14px; width: 42px; height: 42px; font-size: 1rem; }
  #messagelist tbody tr { border-bottom: 1px solid #edf0f3; }
  #messagelist td.subject span.fromto { font-weight: 600; color: #1f2937; }
  #messagelist td.subject span.date { color: #6b7280; }
  #messagelist tr.unread td.subject span.subject { font-weight: 700; }
  #messagelist tr:not(.unread) td.subject span.subject { color: #4b5563; }
  #layout-list .footer.pagenav { font-size: .85rem; }
  #message-header h2.subject { font-size: 1.3rem; }
}
/* Dark mode keeps its own text colours */
html.dark-mode #messagelist td.subject span.fromto, html.dark-mode #messagelist tr:not(.unread) td.subject span.subject { color: inherit; }
html.dark-mode #layout-list .searchbar, html.dark-mode #searchbar { background: rgba(255,255,255,.08); }
html.dark-mode #messagelist tbody tr { border-bottom-color: rgba(255,255,255,.08); }
