﻿/* finalbuildgames SOGo CRT theme (green phosphor) */
:root {
  --glass: #050705;
  --glass-2: #070b07;
  --panel: rgba(5, 10, 6, 0.82);
  --panel-2: rgba(5, 10, 6, 0.62);

  --phosphor: #89ff89;
  --phosphor-2: #4cff8d;
  --ink: #d9ffe2;
  --dim: rgba(137, 255, 137, 0.62);
  --muted: rgba(137, 255, 137, 0.42);

  --border: rgba(137, 255, 137, 0.22);
  --border-2: rgba(137, 255, 137, 0.12);
  --focus: rgba(76, 255, 141, 0.55);
  --danger: #ff6b6b;
  --warn: #ffd166;

  --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

body.main {
  background: radial-gradient(1200px 700px at 45% 15%, rgba(76, 255, 141, 0.10), transparent 55%),
              radial-gradient(900px 520px at 60% 85%, rgba(76, 255, 141, 0.07), transparent 50%),
              var(--glass);
  color: var(--phosphor);
  font-family: var(--mono);
  letter-spacing: 0.01em;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
  caret-color: var(--phosphor-2);
}

/* Scanlines + subtle noise */
body.main::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background:
    repeating-linear-gradient(
      to bottom,
      rgba(255, 255, 255, 0.00) 0px,
      rgba(255, 255, 255, 0.00) 2px,
      rgba(0, 0, 0, 0.25) 3px
    );
  opacity: 0.11;
  mix-blend-mode: overlay;
  z-index: 9999;
}

body.main::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image:
    radial-gradient(rgba(255, 255, 255, 0.07) 1px, transparent 1px);
  background-size: 3px 3px;
  opacity: 0.025;
  z-index: 9998;
}

/* Links */
body.main a {
  color: var(--phosphor-2);
}
body.main a:hover {
  text-decoration: underline;
}

/* Default surfaces: kill the "paper" feel */
body.main .md-whiteframe-1dp,
body.main .md-whiteframe-2dp,
body.main .md-whiteframe-3dp,
body.main .md-whiteframe-4dp,
body.main .md-whiteframe-6dp,
body.main .md-whiteframe-8dp,
body.main .md-whiteframe-12dp,
body.main .md-whiteframe-16dp,
body.main .md-whiteframe-24dp {
  box-shadow: none !important;
}

body.main md-content,
body.main .md-content {
  background: transparent !important;
  color: var(--phosphor) !important;
}

/* Toolbars */
body.main md-toolbar,
body.main .md-toolbar-tools {
  background: rgba(0, 0, 0, 0.55) !important;
  color: var(--phosphor) !important;
  border-bottom: 1px solid var(--border) !important;
}

body.main .md-toolbar-tools::before {
  content: ">";
  color: var(--phosphor-2);
  margin-right: 10px;
  opacity: 0.9;
}

/* Buttons */
body.main .md-button {
  border: 1px solid var(--border) !important;
  background: transparent !important;
  color: var(--phosphor) !important;
  border-radius: 4px !important;
  text-transform: none !important;
  font-family: var(--mono) !important;
  letter-spacing: 0.01em !important;
}

body.main .md-button:hover {
  background: rgba(76, 255, 141, 0.08) !important;
  border-color: rgba(76, 255, 141, 0.35) !important;
}

body.main .md-button.md-primary,
body.main .md-button.md-accent {
  border-color: rgba(76, 255, 141, 0.45) !important;
}

body.main .md-button.md-warn {
  border-color: rgba(255, 107, 107, 0.55) !important;
  color: #ffd7d7 !important;
}

/* Inputs */
body.main md-input-container label {
  color: var(--dim) !important;
  font-family: var(--mono) !important;
}

body.main md-input-container .md-icon,
body.main md-icon,
body.main .md-icon {
  color: var(--dim) !important;
  fill: currentColor !important;
}

body.main md-input-container input,
body.main md-input-container textarea {
  color: var(--ink) !important;
  font-family: var(--mono) !important;
  text-shadow: 0 0 10px rgba(76, 255, 141, 0.16);
}

body.main md-input-container .md-input {
  border-bottom: 1px solid var(--border) !important;
}

body.main md-input-container.md-input-focused .md-input {
  border-bottom-color: rgba(76, 255, 141, 0.65) !important;
  box-shadow: 0 1px 0 0 rgba(76, 255, 141, 0.35) !important;
}

/* Select */
body.main md-select {
  color: var(--ink) !important;
  font-family: var(--mono) !important;
}

body.main md-select-value {
  border-bottom-color: var(--border) !important;
}

/* Menus / dropdowns */
body.main md-menu-content,
body.main md-select-menu,
body.main md-dialog {
  background: rgba(0, 0, 0, 0.92) !important;
  border: 1px solid var(--border) !important;
  color: var(--ink) !important;
}

body.main md-option {
  color: var(--ink) !important;
  font-family: var(--mono) !important;
}

body.main md-option:hover,
body.main md-option.md-focused,
body.main md-option[selected] {
  background: rgba(76, 255, 141, 0.10) !important;
}

/* Lists */
body.main md-list,
body.main md-list-item {
  background: transparent !important;
  color: var(--ink) !important;
  font-family: var(--mono) !important;
}

body.main md-list-item:hover {
  background: rgba(76, 255, 141, 0.06) !important;
}

/* Scrollbars (webkit only) */
body.main ::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
body.main ::-webkit-scrollbar-thumb {
  background: rgba(76, 255, 141, 0.18);
  border: 1px solid rgba(76, 255, 141, 0.22);
}
body.main ::-webkit-scrollbar-thumb:hover {
  background: rgba(76, 255, 141, 0.28);
}
body.main ::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.35);
}

/* Login */
body.main #loginContent {
  border: 1px solid var(--border) !important;
  background: var(--panel) !important;
}

body.main .sg-logo {
  background:
    radial-gradient(650px 420px at 50% 35%, rgba(76, 255, 141, 0.16), transparent 60%),
    linear-gradient(to bottom, rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0.25)) !important;
  border-right: 1px solid var(--border) !important;
}

body.main .sg-logo img {
  max-width: 260px;
  filter: drop-shadow(0 0 14px rgba(76, 255, 141, 0.22));
}

body.main .sg-login {
  background: var(--panel-2) !important;
}

/* Dividers */
body.main hr,
body.main .md-divider {
  border-color: var(--border-2) !important;
}

/* Focus rings */
body.main a:focus,
body.main button:focus,
body.main input:focus,
body.main textarea:focus,
body.main md-select:focus {
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(76, 255, 141, 0.25) !important;
}


/* Terminal CRT theme fixes (panes + viewer)
   Goal: prevent SOGo Material surfaces from staying  light in side-nav and message viewer. */

/* Left folders/account sidenav */
body.main md-sidenav.md-sidenav-left {
  background: rgba(0, 0, 0, 0.74) !important;
  color: var(--ink) !important;
  border-right: 1px solid var(--border) !important;
}

body.main md-sidenav.md-sidenav-left md-toolbar,
body.main md-sidenav.md-sidenav-left .md-toolbar-tools {
  background: rgba(0, 0, 0, 0.65) !important;
  border-bottom: 1px solid var(--border) !important;
}

body.main md-sidenav.md-sidenav-left md-content,
body.main md-sidenav.md-sidenav-left .md-content,
body.main md-sidenav.md-sidenav-left md-list,
body.main md-sidenav.md-sidenav-left md-list-item {
  background: transparent !important;
  color: var(--ink) !important;
}

body.main md-sidenav.md-sidenav-left md-divider {
  border-color: var(--border) !important;
}

body.main md-sidenav.md-sidenav-left .sg-account-section {
  border-bottom: 1px solid var(--border-2) !important;
}

body.main md-sidenav.md-sidenav-left .sg-no-wrap {
  color: var(--ink) !important;
  text-shadow: 0 0 10px rgba(76, 255, 141, 0.12);
}

body.main md-sidenav.md-sidenav-left .sg-mailbox-list-item {
  background: transparent !important;
  color: var(--ink) !important;
}

body.main md-sidenav.md-sidenav-left .sg-mailbox-list-item:hover {
  background: rgba(76, 255, 141, 0.06) !important;
}

/* Selected folder: make it feel like a prompt cursor */
body.main md-sidenav.md-sidenav-left .sg-mailbox-list-item.md-bg,
body.main md-sidenav.md-sidenav-left .sg-mailbox-list-item.sg-selected {
  background: rgba(76, 255, 141, 0.10) !important;
  border-left: 2px solid rgba(76, 255, 141, 0.55) !important;
}

/* Right pane: no-mailbox and mail viewer should never be white */
body.main section[ui-view=mailbox],
body.main section[ui-view=mailbox] md-content,
body.main section[ui-view=mailbox] .md-content {
  background: rgba(0, 0, 0, 0.55) !important;
  color: var(--ink) !important;
}

/* Message viewer: md-card defaults are bright; pin them to glass */
body.main md-card {
  background: rgba(0, 0, 0, 0.62) !important;
  border: 1px solid var(--border) !important;
  box-shadow: none !important;
  color: var(--ink) !important;
}

body.main md-card md-card-actions {
  border-bottom: 1px solid var(--border-2) !important;
}

body.main md-card md-card-content {
  color: var(--ink) !important;
}

body.main md-card .sg-md-headline {
  color: var(--phosphor) !important;
  letter-spacing: 0.02em;
}

body.main md-card .msg-date,
body.main md-card time {
  color: var(--muted) !important;
}

/* Message body viewport: keep content legible, but contained */
body.main .msg-body {
  background: transparent !important;
}

body.main .mailer_mailcontent {
  background: transparent !important;
}

body.main .sg-mail-part {
  background: rgba(0, 0, 0, 0.38) !important;
  border: 1px solid var(--border-2) !important;
  border-radius: 6px !important;
  padding: 14px 14px !important;
  color: var(--ink) !important;
}

body.main .sg-mail-part a {
  color: var(--phosphor-2) !important;
}

/* Chips tend to revert to light surfaces */
body.main md-chips .md-chip {
  background: rgba(0, 0, 0, 0.55) !important;
  border: 1px solid var(--border-2) !important;
  color: var(--ink) !important;
  font-family: var(--mono) !important;
}

body.main md-chips .md-chip .md-chip-remove md-icon {
  color: var(--dim) !important;
}


/* Terminal CRT theme fixes (md-subheader + detailView)
   Targets MailerUI panes that still had light md-colors backgrounds. */

/* Message list header strip ( 1 messages, sort info) */
body.main #messagesList md-subheader {
  background-color: rgba(0, 0, 0, 0.68) !important;
  color: var(--ink) !important;
  border-bottom: 1px solid var(--border) !important;
}

body.main #messagesList md-subheader .md-truncate,
body.main #messagesList md-subheader span,
body.main #messagesList md-subheader md-icon {
  color: var(--ink) !important;
}

body.main #messagesList md-subheader md-icon {
  opacity: 0.85;
}

/* Right message pane background (the big empty area under the card) */
body.main #detailView {
  background-color: var(--glass) !important;
  color: var(--ink) !important;
}

body.main #detailView md-content,
body.main #detailView .md-content {
  background-color: transparent !important;
  color: var(--ink) !important;
}

/* Make viewer cards more glass (less dependent on underlying background) */
body.main #detailView md-card {
  background: rgba(0, 0, 0, 0.84) !important;
}


/* Terminal CRT fixes (message HTML overrides)
   Many emails ship with inline black text / white backgrounds. Override inside the message part.
   This intentionally trades off original email styling for terminal consistency. */

body.main .sg-mail-part {
  color: var(--ink) !important;
}

body.main .sg-mail-part * {
  color: inherit !important;
  background-color: transparent !important;
  border-color: var(--border-2) !important;
  box-shadow: none !important;
}

body.main .sg-mail-part a,
body.main .sg-mail-part a * {
  color: var(--phosphor-2) !important;
}

body.main .sg-mail-part hr {
  border: 0 !important;
  border-top: 1px solid var(--border-2) !important;
}

body.main .sg-mail-part pre,
body.main .sg-mail-part code {
  font-family: var(--mono) !important;
  background: rgba(0, 0, 0, 0.55) !important;
  border: 1px solid var(--border-2) !important;
  border-radius: 6px !important;
  color: var(--phosphor) !important;
}

body.main .sg-mail-part blockquote {
  margin: 10px 0 !important;
  padding: 10px 12px !important;
  border-left: 2px solid rgba(76, 255, 141, 0.35) !important;
  background: rgba(0, 0, 0, 0.25) !important;
  color: var(--ink) !important;
}

/* Some viewer pseudo-fields were still rendering with light backgrounds */
body.main .pseudo-input-container--compact,
body.main .pseudo-input-field {
  background: transparent !important;
  color: var(--ink) !important;
}

body.main .pseudo-input-label {
  color: var(--muted) !important;
  font-family: var(--mono) !important;
}


/* Terminal CRT fixes (subheader specificity)
   Angular Material sometimes wraps md-subheader with .md-subheader elements.
   Cover both so we don't get a white strip. */

body.main #messagesList md-subheader,
body.main #messagesList .md-subheader,
body.main #messagesList .md-subheader-inner {
  background-color: rgba(0, 0, 0, 0.68) !important;
  color: var(--ink) !important;
  border-bottom: 1px solid var(--border) !important;
}


/* Terminal CRT fixes (recipient pills)
   Message header uses Angular Material chips; force them to terminal styling. */

body.main .msg-recipients md-chips,
body.main .msg-recipients .md-chips {
  background: transparent !important;
}

body.main md-chips .md-chip,
body.main md-chips.md-default-theme .md-chip,
body.main .md-chips .md-chip,
body.main md-chip {
  background: rgba(0, 0, 0, 0.55) !important;
  border: 1px solid rgba(76, 255, 141, 0.28) !important;
  border-radius: 999px !important;
  color: var(--ink) !important;
  font-family: var(--mono) !important;
  text-shadow: 0 0 10px rgba(76, 255, 141, 0.12);
}

body.main md-chips .md-chip:hover,
body.main md-chips.md-default-theme .md-chip:hover,
body.main md-chips .md-chip.md-focused {
  background: rgba(76, 255, 141, 0.10) !important;
  border-color: rgba(76, 255, 141, 0.45) !important;
}

body.main md-chips .md-chip .md-chip-content,
body.main md-chips .md-chip .md-chip-content * {
  color: var(--ink) !important;
}

body.main md-chips .md-chip .md-chip-remove md-icon {
  color: var(--dim) !important;
}


/* Terminal CRT fixes (SchedulerUI calendar)
   Scope to calendar module so mail/contacts don’t get unintended overrides. */

/* Calendar module sidenav content uses md-colors (often light). Force it dark. */
body.main [ui-view=calendars] md-sidenav.md-sidenav-left #sidenav-content,
body.main [ui-view=calendars] md-sidenav.md-sidenav-left md-content#sidenav-content {
  background: rgba(0, 0, 0, 0.74) !important;
  color: var(--ink) !important;
}

body.main [ui-view=calendars] md-sidenav.md-sidenav-left md-subheader,
body.main [ui-view=calendars] md-sidenav.md-sidenav-left .md-subheader {
  background: rgba(0, 0, 0, 0.60) !important;
  border-bottom: 1px solid var(--border) !important;
  color: var(--ink) !important;
}

body.main [ui-view=calendars] md-sidenav.md-sidenav-left md-subheader span,
body.main [ui-view=calendars] md-sidenav.md-sidenav-left md-subheader md-icon {
  color: var(--ink) !important;
}

body.main [ui-view=calendars] md-sidenav.md-sidenav-left .sg-calendar-list-item {
  background: transparent !important;
  color: var(--ink) !important;
}

body.main [ui-view=calendars] md-sidenav.md-sidenav-left .sg-calendar-list-item:hover {
  background: rgba(76, 255, 141, 0.06) !important;
}

/* Main calendar surface */
body.main [ui-view=calendars] .view-main,
body.main [ui-view=calendars] .view-main md-content,
body.main [ui-view=calendars] .view-main .md-content {
  background: transparent !important;
  color: var(--ink) !important;
}

/* Grid containers */
body.main [ui-view=calendars] .calendarView,
body.main [ui-view=calendars] .daysView,
body.main [ui-view=calendars] .daysView .days,
body.main [ui-view=calendars] .allDaysView,
body.main [ui-view=calendars] .allDaysView .days {
  background: rgba(0, 0, 0, 0.55) !important;
}

/* Day columns and borders */
body.main [ui-view=calendars] .daysView .days .day {
  border-left: 1px solid rgba(76, 255, 141, 0.14) !important;
}

body.main [ui-view=calendars] .hours .hour {
  background: rgba(0, 0, 0, 0.72) !important;
  color: var(--muted) !important;
  border-bottom: 1px solid rgba(76, 255, 141, 0.10) !important;
}

/* Clickable hour cells (the white blocks in week/day view) */
body.main [ui-view=calendars] .clickableHourCell,
body.main [ui-view=calendars] .hourCells > div {
  background: rgba(0, 0, 0, 0.40) !important;
  border-bottom: 1px solid rgba(76, 255, 141, 0.08) !important;
}

/* Quarter markers (replace tan dotted line) */
body.main [ui-view=calendars] .minutes15,
body.main [ui-view=calendars] .minutes30,
body.main [ui-view=calendars] .minutes45 {
  background: transparent !important;
}

body.main [ui-view=calendars] .minutes30 {
  border-bottom: 1px dotted rgba(76, 255, 141, 0.16) !important;
}

/* Day labels text that defaults to black in some views */
body.main [ui-view=calendars] .multicolumnDay,
body.main [ui-view=calendars] .dayLabels,
body.main [ui-view=calendars] .dayLabels * {
  color: var(--ink) !important;
}

/* Month view tiles often default to light */
body.main [ui-view=calendars] .monthView md-grid-tile,
body.main [ui-view=calendars] .monthView md-grid-tile.dayOfAnotherMonth {
  background: rgba(0, 0, 0, 0.55) !important;
  border-right: 1px solid rgba(76, 255, 141, 0.10) !important;
  border-bottom: 1px solid rgba(76, 255, 141, 0.10) !important;
}

body.main [ui-view=calendars] .monthView .dayLabels {
  border-bottom: 1px solid rgba(76, 255, 141, 0.12) !important;
}


/* Terminal CRT fixes (SchedulerUI list view strip)
   The  Next 7 days bar is an md-subheader inside the calendars list view. */

body.main [ui-view=calendars] [ui-view=listView] md-subheader,
body.main [ui-view=calendars] [ui-view=listView] .md-subheader,
body.main [ui-view=calendars] [ui-view=listView] .md-subheader-inner {
  background: rgba(0, 0, 0, 0.68) !important;
  color: var(--ink) !important;
  border-bottom: 1px solid var(--border) !important;
}

body.main [ui-view=calendars] [ui-view=listView] md-subheader *,
body.main [ui-view=calendars] [ui-view=listView] .md-subheader * {
  color: var(--ink) !important;
}

/* Tabs header bar can also render as a light strip */
body.main [ui-view=calendars] md-tabs md-tabs-wrapper,
body.main [ui-view=calendars] md-tabs .md-tabs-navigation,
body.main [ui-view=calendars] md-tabs .md-tabs-wrapper {
  background: rgba(0, 0, 0, 0.72) !important;
  border-bottom: 1px solid var(--border) !important;
}

body.main [ui-view=calendars] md-tabs md-ink-bar {
  background: rgba(76, 255, 141, 0.55) !important;
}

body.main [ui-view=calendars] md-tabs md-tab-item {
  color: var(--dim) !important;
  font-family: var(--mono) !important;
}

body.main [ui-view=calendars] md-tabs md-tab-item.md-active {
  color: var(--ink) !important;
}


/* Terminal CRT fixes (ContactsUI address books + contacts list)
   Contacts module uses md-colors default-background-* which defaults to light. */

/* Left address books sidenav background + headers */
body.main main.view[ui-view=addressbooks] md-sidenav.md-sidenav-left md-content,
body.main main.view[ui-view=addressbooks] md-sidenav.md-sidenav-left md-content.md-content,
body.main main.view[ui-view=addressbooks] md-sidenav.md-sidenav-left .md-content {
  background: rgba(0, 0, 0, 0.74) !important;
  color: var(--ink) !important;
}

body.main main.view[ui-view=addressbooks] md-sidenav.md-sidenav-left md-subheader,
body.main main.view[ui-view=addressbooks] md-sidenav.md-sidenav-left .md-subheader,
body.main main.view[ui-view=addressbooks] md-sidenav.md-sidenav-left .md-subheader-inner {
  background: rgba(0, 0, 0, 0.60) !important;
  border-bottom: 1px solid var(--border) !important;
  color: var(--ink) !important;
}

body.main main.view[ui-view=addressbooks] md-sidenav.md-sidenav-left md-subheader *,
body.main main.view[ui-view=addressbooks] md-sidenav.md-sidenav-left .md-subheader * {
  color: var(--ink) !important;
}

body.main main.view[ui-view=addressbooks] md-sidenav.md-sidenav-left md-list,
body.main main.view[ui-view=addressbooks] md-sidenav.md-sidenav-left md-list-item {
  background: transparent !important;
  color: var(--ink) !important;
}

body.main main.view[ui-view=addressbooks] md-sidenav.md-sidenav-left md-list-item:hover {
  background: rgba(76, 255, 141, 0.06) !important;
}

/* Middle contacts list header strip (No contact / X contacts / matching contacts) */
body.main main.view[ui-view=addressbooks] [ui-view=addressbook] #contactsList md-subheader,
body.main main.view[ui-view=addressbooks] [ui-view=addressbook] #contactsList .md-subheader,
body.main main.view[ui-view=addressbooks] [ui-view=addressbook] #contactsList .md-subheader-inner {
  background: rgba(0, 0, 0, 0.68) !important;
  color: var(--ink) !important;
  border-bottom: 1px solid var(--border) !important;
}

body.main main.view[ui-view=addressbooks] [ui-view=addressbook] #contactsList md-subheader *,
body.main main.view[ui-view=addressbooks] [ui-view=addressbook] #contactsList .md-subheader * {
  color: var(--ink) !important;
}

body.main main.view[ui-view=addressbooks] [ui-view=addressbook] #contactsList {
  background: transparent !important;
  color: var(--ink) !important;
}

/* Right contact detail pane (fix md-colors default-background-200) */
body.main main.view[ui-view=addressbooks] #detailView[ui-view=card],
body.main main.view[ui-view=addressbooks] [ui-view=card]#detailView {
  background: var(--glass) !important;
  color: var(--ink) !important;
}

body.main main.view[ui-view=addressbooks] #detailView[ui-view=card] md-content,
body.main main.view[ui-view=addressbooks] #detailView[ui-view=card] .md-content {
  background: transparent !important;
  color: var(--ink) !important;
}

body.main main.view[ui-view=addressbooks] #detailView[ui-view=card] .sg-md-title {
  color: var(--muted) !important;
  font-family: var(--mono) !important;
}


/* Terminal CRT fixes (MailerUI recipient chip specificity)
   Some chip skins set backgrounds on inner content; lock it down in the message header. */

body.main .msg-recipients md-chips md-chip,
body.main .msg-recipients md-chips .md-chip,
body.main .msg-recipients md-chips .md-chip-content {
  background: rgba(0, 0, 0, 0.55) !important;
  background-color: rgba(0, 0, 0, 0.55) !important;
  border: 1px solid rgba(76, 255, 141, 0.28) !important;
  border-radius: 999px !important;
  color: var(--ink) !important;
}

body.main .msg-recipients md-chips .md-chip-content,
body.main .msg-recipients md-chips .md-chip-content * {
  color: var(--ink) !important;
}


/* Terminal CRT fixes (MailerUI compose dialog + CKEditor) */

body.main #mailEditor.sg-mail-editor,
body.main .sg-mail-editor {
  background: rgba(0, 0, 0, 0.84) !important;
  color: var(--ink) !important;
  border: 1px solid var(--border) !important;
}

body.main .sg-mail-editor md-toolbar,
body.main .sg-mail-editor .md-toolbar-tools {
  background: rgba(0, 0, 0, 0.72) !important;
  color: var(--ink) !important;
  border-bottom: 1px solid var(--border) !important;
}

body.main .sg-mail-editor md-dialog-content,
body.main .sg-mail-editor .md-dialog-content,
body.main .sg-mail-editor md-dialog-actions,
body.main .sg-mail-editor .sg-mail-editor-attachments {
  background: transparent !important;
  color: var(--ink) !important;
  border-top-color: var(--border-2) !important;
}

body.main .sg-mail-editor .msg-header-content,
body.main .sg-mail-editor .msg-header-buttons,
body.main .sg-mail-editor .pseudo-input-container,
body.main .sg-mail-editor .pseudo-input-container--compact,
body.main .sg-mail-editor md-input-container {
  color: var(--ink) !important;
  border-bottom-color: var(--border-2) !important;
}

body.main .sg-mail-editor .pseudo-input-label,
body.main .sg-mail-editor md-input-container > label,
body.main .sg-mail-editor .md-placeholder,
body.main .sg-mail-editor ::placeholder {
  color: var(--muted) !important;
}

/* Top identity field currently renders cyan via md-bg/md-hue-1 */
body.main .sg-mail-editor md-toolbar md-autocomplete,
body.main .sg-mail-editor md-toolbar md-autocomplete.md-default-theme,
body.main .sg-mail-editor md-toolbar md-autocomplete.md-default-theme.md-bg,
body.main .sg-mail-editor md-toolbar md-autocomplete .md-autocomplete-wrap,
body.main .sg-mail-editor md-toolbar md-autocomplete input,
body.main .sg-mail-editor md-toolbar .md-autocomplete-wrap {
  background: rgba(0, 0, 0, 0.58) !important;
  color: var(--ink) !important;
  border-color: var(--border-2) !important;
  box-shadow: none !important;
}

body.main .sg-mail-editor md-toolbar md-autocomplete input::placeholder {
  color: var(--muted) !important;
}

body.main .sg-mail-editor md-chips,
body.main .sg-mail-editor md-chips-wrap,
body.main .sg-mail-editor .md-chips {
  background: transparent !important;
}

/* CKEditor chrome */
body.main .sg-mail-editor .cke,
body.main .sg-mail-editor .cke_chrome,
body.main .sg-mail-editor .cke_inner {
  background: rgba(0, 0, 0, 0.72) !important;
  border-color: var(--border) !important;
  box-shadow: none !important;
}

body.main .sg-mail-editor .cke_top,
body.main .sg-mail-editor .cke_bottom {
  background: rgba(0, 0, 0, 0.68) !important;
  border-color: var(--border-2) !important;
}

body.main .sg-mail-editor .cke_toolgroup,
body.main .sg-mail-editor .cke_combo_button,
body.main .sg-mail-editor a.cke_button {
  background: rgba(0, 0, 0, 0.45) !important;
  border: 1px solid rgba(76, 255, 141, 0.24) !important;
  box-shadow: none !important;
}

body.main .sg-mail-editor .cke_toolgroup:hover,
body.main .sg-mail-editor .cke_combo_button:hover,
body.main .sg-mail-editor a.cke_button:hover,
body.main .sg-mail-editor a.cke_button.cke_button_on {
  background: rgba(76, 255, 141, 0.12) !important;
  border-color: rgba(76, 255, 141, 0.45) !important;
}

body.main .sg-mail-editor .cke_button_icon,
body.main .sg-mail-editor .cke_combo_arrow {
  filter: invert(82%) sepia(33%) saturate(657%) hue-rotate(73deg) brightness(102%) contrast(98%);
}

body.main .sg-mail-editor .cke_button_label,
body.main .sg-mail-editor .cke_combo_text,
body.main .sg-mail-editor .cke_path,
body.main .sg-mail-editor .cke_path_item,
body.main .sg-mail-editor .cke_bottom {
  color: var(--ink) !important;
}

body.main .sg-mail-editor .cke_contents,
body.main .sg-mail-editor .cke_wysiwyg_frame {
  background: #050705 !important;
  border-color: var(--border-2) !important;
}


/* Terminal CRT hardening (compose white-surface fallback)
   Apply outside body.main too, because popup/mail views may use different body class. */

.sg-mail-editor,
.sg-mail-editor md-dialog-content,
.sg-mail-editor .md-dialog-content,
.sg-mail-editor .sg-mail-editor-content,
.sg-mail-editor .sg-mail-editor-content md-input-container {
  background: rgba(0, 0, 0, 0.84) !important;
  color: #d9ffe2 !important;
}

.sg-mail-editor .sg-mail-editor-content textarea.plain-text,
.sg-mail-editor .sg-mail-editor-content textarea,
.sg-mail-editor .sg-mail-editor-content .cke_source,
.sg-mail-editor .sg-mail-editor-content textarea.cke_source {
  background: #050705 !important;
  color: #d9ffe2 !important;
  border-color: rgba(76, 255, 141, 0.20) !important;
}

.sg-mail-editor .cke,
.sg-mail-editor .cke_chrome,
.sg-mail-editor .cke_inner,
.sg-mail-editor .cke_top,
.sg-mail-editor .cke_bottom,
.sg-mail-editor .cke_contents,
.sg-mail-editor iframe.cke_wysiwyg_frame,
.sg-mail-editor .cke_wysiwyg_frame {
  background: #050705 !important;
  background-color: #050705 !important;
  color: #d9ffe2 !important;
  border-color: rgba(76, 255, 141, 0.20) !important;
}


/* Terminal CRT compose lock (target exact live DOM ids/classes) */

#mailEditor,
#mailEditor.sg-mail-editor,
#dialogContent_mailEditor,
md-dialog-content#dialogContent_mailEditor {
  background: #050705 !important;
  background-color: #050705 !important;
  color: #d9ffe2 !important;
}

#dialogContent_mailEditor .msg-header-content,
#dialogContent_mailEditor .pseudo-input-container,
#dialogContent_mailEditor .md-auto-horizontal-margin,
#dialogContent_mailEditor .sg-mail-editor-content {
  background: transparent !important;
  color: #d9ffe2 !important;
}

/* Kill white material wrappers in recipient fields */
#dialogContent_mailEditor .md-whiteframe-z1,
#dialogContent_mailEditor md-autocomplete-wrap,
#dialogContent_mailEditor .md-autocomplete-wrap,
#dialogContent_mailEditor .md-chips,
#dialogContent_mailEditor md-chips-wrap,
#dialogContent_mailEditor .md-chip-input-container,
#dialogContent_mailEditor input.md-input,
#dialogContent_mailEditor input[type=text] {
  background: rgba(0, 0, 0, 0.58) !important;
  background-color: rgba(0, 0, 0, 0.58) !important;
  color: #d9ffe2 !important;
  box-shadow: none !important;
  border-color: rgba(76, 255, 141, 0.22) !important;
}

#dialogContent_mailEditor input.md-input::placeholder,
#dialogContent_mailEditor input[type=text]::placeholder {
  color: rgba(137, 255, 137, 0.42) !important;
}

/* CKEditor frame/chrome in compose */
#dialogContent_mailEditor .cke,
#dialogContent_mailEditor .cke_chrome,
#dialogContent_mailEditor .cke_inner,
#dialogContent_mailEditor .cke_top,
#dialogContent_mailEditor .cke_bottom,
#dialogContent_mailEditor .cke_contents,
#dialogContent_mailEditor .cke_wysiwyg_frame,
#dialogContent_mailEditor iframe.cke_wysiwyg_frame {
  background: #050705 !important;
  background-color: #050705 !important;
  color: #d9ffe2 !important;
  border-color: rgba(76, 255, 141, 0.22) !important;
  box-shadow: none !important;
}

/* Source mode textarea fallback */
#dialogContent_mailEditor .cke_source,
#dialogContent_mailEditor textarea.cke_source,
#dialogContent_mailEditor textarea.plain-text {
  background: #050705 !important;
  color: #d9ffe2 !important;
  border-color: rgba(76, 255, 141, 0.22) !important;
}
