/* Central de Comunicacoes Shinobi v2: dock compacto, canais corretos e PM. */
:root {
  --nrmt-comms-gold: #edbd57;
  --nrmt-comms-cyan: #65dcf2;
  --nrmt-comms-green: #78dea0;
  --nrmt-comms-red: #f07b70;
  --nrmt-comms-muted: #859492;
}

body.nrmt-chat-center-ready .nrmt-chat-window,
body.nrmt-chat-center-ready #nrmt-chat-toggle,
body.nrmt-chat-center-ready #nrmt-chat-launcher {
  display: none !important;
}

#nrmt-comms-center {
  position: fixed;
  z-index: 9705;
  left: calc(var(--bi-left) + var(--bi-gap));
  right: calc(var(--bi-right) + var(--bi-gap));
  bottom: 68px;
  height: 46px;
  box-sizing: border-box;
  color: #dce5e2;
  font: 10px/1.35 "Segoe UI", Arial, sans-serif;
  filter: drop-shadow(0 8px 14px rgba(0, 0, 0, .72));
  transition: height .2s ease, filter .2s ease;
}

#nrmt-comms-center[data-expanded="true"] {
  height: min(300px, 40vh);
  filter: drop-shadow(0 14px 26px rgba(0, 0, 0, .88));
}

.nrmt-comms-shell {
  position: relative;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  overflow: hidden;
  border: 1px solid transparent;
  border-image-source: var(--nrmt-hud-window-frame);
  border-image-slice: 126 118;
  border-image-width: 10px;
  border-image-repeat: stretch;
  background:
    radial-gradient(circle at 52% 0, rgba(67, 153, 169, .15), transparent 44%),
    linear-gradient(155deg, rgba(12, 19, 21, .99), rgba(2, 6, 8, .995));
  box-shadow: inset 0 0 24px rgba(0, 0, 0, .68);
}

.nrmt-comms-shell::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 5px;
  pointer-events: none;
  border: 1px solid rgba(85, 190, 208, .12);
}

.nrmt-comms-compact {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  height: 100%;
  padding: 5px 9px;
}

#nrmt-comms-center[data-expanded="true"] .nrmt-comms-compact,
#nrmt-comms-center:not([data-expanded="true"]) .nrmt-comms-expanded {
  display: none;
}

.nrmt-comms-brand,
.nrmt-comms-tool,
.nrmt-comms-quick-channel,
.nrmt-comms-nav button,
.nrmt-comms-send,
.nrmt-comms-notice-action,
.nrmt-comms-contact,
.nrmt-comms-name {
  cursor: pointer;
}

.nrmt-comms-brand {
  display: flex;
  align-items: center;
  gap: 7px;
  height: 31px;
  padding: 0 11px 0 7px;
  border: 1px solid rgba(137, 95, 32, .65);
  background: linear-gradient(120deg, rgba(66, 43, 17, .92), rgba(8, 15, 17, .9));
  color: var(--nrmt-comms-gold);
  font: italic 9px NinjaTitle, Georgia, serif;
  letter-spacing: .08em;
}

.nrmt-comms-brand i {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border: 1px solid rgba(91, 198, 216, .34);
  border-radius: 50%;
  background: rgba(7, 28, 32, .92);
  color: var(--nrmt-comms-cyan);
  font: normal 13px/1 serif;
  box-shadow: inset 0 0 9px rgba(69, 194, 216, .2);
}

.nrmt-comms-peek {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
}

.nrmt-comms-peek-channel {
  min-width: 68px;
  color: var(--nrmt-comms-cyan);
  font: 8px NinjaTitle, Georgia, serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.nrmt-comms-peek-message {
  overflow: hidden;
  color: #aab7b4;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nrmt-comms-peek-message b { color: #e8ca7d; }

.nrmt-comms-compact-tools,
.nrmt-comms-head-tools {
  display: flex;
  align-items: center;
  gap: 5px;
}

.nrmt-comms-quick-channel,
.nrmt-comms-tool {
  position: relative;
  min-width: 31px;
  height: 29px;
  padding: 0 8px;
  border: 1px solid rgba(80, 105, 107, .68);
  background: linear-gradient(145deg, rgba(19, 31, 33, .96), rgba(4, 9, 11, .98));
  color: #a9b5b2;
  font: 8px NinjaTitle, Georgia, serif;
}

.nrmt-comms-quick-channel:hover,
.nrmt-comms-quick-channel.is-active,
.nrmt-comms-tool:hover,
.nrmt-comms-tool.is-active {
  border-color: rgba(226, 174, 70, .78);
  color: #f2cf7a;
  box-shadow: inset 0 -2px rgba(86, 205, 226, .38);
}

.nrmt-comms-badge {
  position: absolute;
  top: -6px;
  right: -5px;
  min-width: 14px;
  height: 14px;
  box-sizing: border-box;
  padding: 1px 3px;
  border: 1px solid #f4c35e;
  border-radius: 8px;
  background: #7b221f;
  color: #fff4d7;
  font: 7px/10px Arial, sans-serif;
  text-align: center;
}

.nrmt-comms-expanded {
  height: 100%;
  display: grid;
  grid-template-rows: 42px minmax(0, 1fr);
  padding: 5px 7px 7px;
  box-sizing: border-box;
}

.nrmt-comms-head {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  padding: 0 5px 4px;
  border-bottom: 1px solid rgba(92, 187, 201, .26);
}

.nrmt-comms-head-seal {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  border: 1px solid rgba(216, 161, 60, .62);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(56, 120, 131, .35), rgba(7, 12, 14, .96) 70%);
  color: var(--nrmt-comms-gold);
  font-size: 14px;
}

.nrmt-comms-head-title {
  min-width: 0;
  margin-right: auto;
}

.nrmt-comms-head-title small {
  display: block;
  color: #61c9de;
  font-size: 6px;
  font-weight: 800;
  letter-spacing: .17em;
}

.nrmt-comms-head-title strong {
  display: block;
  overflow: hidden;
  color: #f0c968;
  font: italic 11px NinjaTitle, Georgia, serif;
  letter-spacing: .07em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nrmt-audio-volume {
  width: 66px;
  height: 3px;
  accent-color: #e5b84d;
}

.nrmt-comms-grid {
  min-height: 0;
  display: grid;
  grid-template-columns: 124px minmax(0, 1fr) 174px;
  gap: 7px;
  padding-top: 6px;
}

.nrmt-comms-grid.is-no-contacts { grid-template-columns: 124px minmax(0, 1fr); }
.nrmt-comms-grid.is-no-contacts .nrmt-comms-side { display: none; }

.nrmt-comms-nav,
.nrmt-comms-side {
  min-height: 0;
  box-sizing: border-box;
  border: 1px solid rgba(58, 81, 83, .7);
  background: rgba(3, 8, 9, .72);
}

.nrmt-comms-nav {
  display: flex;
  flex-direction: column;
  padding: 5px;
  gap: 3px;
}

.nrmt-comms-nav button {
  position: relative;
  min-height: 27px;
  padding: 4px 7px 4px 25px;
  border: 1px solid transparent;
  background: linear-gradient(90deg, rgba(19, 29, 30, .88), rgba(7, 12, 13, .88));
  color: #8f9b99;
  font: 8px NinjaTitle, Georgia, serif;
  letter-spacing: .04em;
  text-align: left;
}

.nrmt-comms-nav button::before {
  content: attr(data-icon);
  position: absolute;
  left: 8px;
  color: #5cbdd0;
  font: 11px serif;
}

.nrmt-comms-nav button:hover,
.nrmt-comms-nav button.is-active {
  border-color: rgba(139, 98, 34, .65);
  background: linear-gradient(90deg, rgba(65, 43, 18, .8), rgba(7, 16, 18, .94));
  color: #f0cf7d;
  box-shadow: inset 3px 0 var(--nrmt-comms-cyan);
}

.nrmt-comms-nav-count {
  float: right;
  color: #ff8a78;
  font: 7px Arial, sans-serif;
}

.nrmt-comms-main {
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  border: 1px solid rgba(57, 80, 82, .68);
  background: rgba(2, 7, 8, .78);
}

.nrmt-comms-context {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 27px;
  padding: 3px 8px;
  border-bottom: 1px solid rgba(50, 75, 78, .68);
  background: linear-gradient(90deg, rgba(57, 39, 18, .56), rgba(7, 17, 19, .75));
}

.nrmt-comms-context strong {
  margin-right: auto;
  color: #e7c26b;
  font: 8px NinjaTitle, Georgia, serif;
  letter-spacing: .06em;
}

.nrmt-comms-context span { color: #7d918f; font-size: 8px; }

.nrmt-comms-context button {
  padding: 3px 7px;
  border: 1px solid rgba(100, 129, 130, .55);
  background: #10191a;
  color: #8bd7e5;
  font-size: 7px;
  cursor: pointer;
}

.nrmt-comms-log {
  min-height: 0;
  overflow: auto;
  padding: 6px 8px;
  scrollbar-width: thin;
  scrollbar-color: #8b682d #05090a;
}

.nrmt-comms-message {
  display: grid;
  grid-template-columns: 43px auto minmax(0, 1fr);
  gap: 6px;
  align-items: baseline;
  margin: 0 0 5px;
  color: #aab6b3;
  overflow-wrap: anywhere;
}

.nrmt-comms-message time {
  color: #52615f;
  font-size: 8px;
  font-variant-numeric: tabular-nums;
}

.nrmt-comms-channel-tag {
  color: #63c9dd;
  font-size: 7px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.nrmt-comms-message[data-kind="private"] .nrmt-comms-channel-tag { color: #d98ee9; }
.nrmt-comms-message[data-kind="combat"] .nrmt-comms-channel-tag { color: #f07b70; }
.nrmt-comms-message[data-kind="loot"] .nrmt-comms-channel-tag { color: #76dd92; }
.nrmt-comms-message[data-kind="notice"] .nrmt-comms-channel-tag { color: #f2c55f; }

.nrmt-comms-message p {
  display: inline;
  margin: 0;
  color: #aeb9b6;
}

.nrmt-comms-name {
  display: inline;
  margin: 0 4px 0 0;
  padding: 0;
  border: 0;
  background: none;
  color: #ebcd7f;
  font: inherit;
  font-weight: 700;
}

.nrmt-comms-name:hover { color: #70dced; text-decoration: underline; }

.nrmt-comms-empty {
  display: grid;
  place-items: center;
  min-height: 100%;
  padding: 14px;
  box-sizing: border-box;
  color: #647371;
  font-size: 9px;
  text-align: center;
}

.nrmt-comms-compose {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px;
  padding: 5px 7px;
  border-top: 1px solid rgba(48, 71, 73, .72);
  background: rgba(6, 12, 13, .94);
}

.nrmt-comms-compose[hidden] { display: none; }

.nrmt-comms-compose input {
  min-width: 0;
  height: 28px;
  box-sizing: border-box;
  padding: 0 9px;
  border: 1px solid rgba(94, 72, 38, .8);
  outline: none;
  background: rgba(3, 8, 10, .96);
  color: #e5eae7;
  font-size: 10px;
}

.nrmt-comms-compose input:focus {
  border-color: rgba(85, 198, 217, .78);
  box-shadow: 0 0 0 2px rgba(75, 184, 204, .1);
}

.nrmt-comms-send,
.nrmt-comms-notice-action {
  border: 1px solid rgba(142, 101, 35, .76);
  background: linear-gradient(145deg, #493218, #0b1517);
  color: #efd078;
  font: 8px NinjaTitle, Georgia, serif;
}

.nrmt-comms-send { min-width: 63px; }

.nrmt-comms-side {
  overflow: auto;
  padding: 6px;
}

.nrmt-comms-side-title {
  display: block;
  margin-bottom: 5px;
  color: #687b79;
  font-size: 7px;
  font-weight: 800;
  letter-spacing: .1em;
}

.nrmt-comms-contact {
  display: grid;
  grid-template-columns: 8px minmax(0, 1fr) auto;
  align-items: center;
  gap: 5px;
  width: 100%;
  min-height: 27px;
  margin-bottom: 3px;
  padding: 4px 6px;
  border: 1px solid rgba(47, 67, 69, .76);
  background: rgba(9, 16, 18, .9);
  color: #aab5b2;
  font-size: 8px;
  text-align: left;
}

.nrmt-comms-contact:hover,
.nrmt-comms-contact.is-active {
  border-color: rgba(126, 93, 37, .8);
  color: #efce78;
}

.nrmt-comms-online {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #41504e;
}

.nrmt-comms-online.is-online { background: #53d582; box-shadow: 0 0 7px #48d57a; }

.nrmt-comms-contact small { color: #6a7977; font-size: 7px; }

.nrmt-comms-notices {
  display: grid;
  gap: 6px;
}

.nrmt-comms-notice {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  padding: 7px 8px;
  border: 1px solid rgba(76, 91, 78, .65);
  border-left: 3px solid #d6a742;
  background: linear-gradient(100deg, rgba(58, 43, 19, .5), rgba(7, 13, 14, .9));
}

.nrmt-comms-notice[data-category="event"] { border-left-color: #df6e5e; }
.nrmt-comms-notice[data-category="donation"] { border-left-color: #5dcbe4; }
.nrmt-comms-notice[data-status="upcoming"] { border-left-color: #9e79e8; }

.nrmt-comms-notice-state {
  color: #eac25e;
  font: 7px NinjaTitle, Georgia, serif;
  letter-spacing: .08em;
}

.nrmt-comms-notice-copy { min-width: 0; }
.nrmt-comms-notice-copy strong { display: block; color: #dfdfd7; font-size: 9px; }
.nrmt-comms-notice-copy p { margin: 2px 0 0; color: #8e9b98; font-size: 8px; }
.nrmt-comms-notice-action { min-height: 27px; padding: 3px 8px; }

.nrmt-comms-toast {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 7px);
  transform: translateX(-50%);
  padding: 6px 11px;
  border: 1px solid rgba(110, 188, 198, .58);
  background: rgba(5, 15, 17, .97);
  color: #afe4ec;
  font-size: 9px;
  white-space: nowrap;
  box-shadow: 0 7px 18px #000a;
}

@media (max-width: 1500px) {
  .nrmt-comms-grid { grid-template-columns: 112px minmax(0, 1fr) 150px; }
  .nrmt-comms-grid.is-no-contacts { grid-template-columns: 112px minmax(0, 1fr); }
  .nrmt-comms-nav button { padding-left: 22px; font-size: 7px; }
  .nrmt-comms-notice { grid-template-columns: 62px minmax(0, 1fr) auto; }
}

@media (max-width: 1100px) {
  #nrmt-comms-center {
    left: 7px;
    right: 7px;
    bottom: 78px;
  }
  #nrmt-comms-center[data-expanded="true"] { height: min(330px, 48vh); }
  .nrmt-comms-grid { grid-template-columns: 104px minmax(0, 1fr); }
  .nrmt-comms-side { display: none; }
}

body.nrmt-display-mobile #nrmt-comms-center,
body[data-nrmt-display-preference="mobile"] #nrmt-comms-center {
  left: 4px;
  right: 4px;
  bottom: calc(var(--bi-bottom) + 5px);
  height: 44px;
}

body.nrmt-display-mobile #nrmt-comms-center[data-expanded="true"],
body[data-nrmt-display-preference="mobile"] #nrmt-comms-center[data-expanded="true"] {
  height: min(420px, 58vh);
}

body.nrmt-display-mobile .nrmt-comms-compact,
body[data-nrmt-display-preference="mobile"] .nrmt-comms-compact {
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding-inline: 7px;
}

body.nrmt-display-mobile .nrmt-comms-quick-channel,
body[data-nrmt-display-preference="mobile"] .nrmt-comms-quick-channel,
body.nrmt-display-mobile .nrmt-audio-volume,
body[data-nrmt-display-preference="mobile"] .nrmt-audio-volume {
  display: none;
}

body.nrmt-display-mobile .nrmt-comms-grid,
body[data-nrmt-display-preference="mobile"] .nrmt-comms-grid {
  grid-template-columns: 1fr;
  grid-template-rows: auto minmax(0, 1fr);
}

body.nrmt-display-mobile .nrmt-comms-nav,
body[data-nrmt-display-preference="mobile"] .nrmt-comms-nav {
  flex-direction: row;
  overflow-x: auto;
  padding: 3px;
}

body.nrmt-display-mobile .nrmt-comms-nav button,
body[data-nrmt-display-preference="mobile"] .nrmt-comms-nav button {
  flex: 0 0 auto;
  min-height: 25px;
  padding: 4px 7px 4px 23px;
}

body.nrmt-display-mobile .nrmt-comms-message,
body[data-nrmt-display-preference="mobile"] .nrmt-comms-message {
  grid-template-columns: 36px auto minmax(0, 1fr);
}

@media (prefers-reduced-motion: reduce) {
  #nrmt-comms-center { transition: none; }
}
