/* Club Ample Classic Lounge — inspired by the modular community-chat era. */
.lounge-body { overflow: hidden; }

.flashcoms-lounge {
  --fc-chrome-1: #e9f2f8;
  --fc-chrome-2: #aec8dc;
  --fc-chrome-3: #86abc7;
  --fc-border: #718da3;
  --fc-border-soft: #b7c9d6;
  --fc-panel: #f7fbfe;
  --fc-canvas: #fff;
  --fc-text: #17242e;
  --fc-muted: #667b8b;
  --fc-accent: #ec7b42;
  --fc-accent-2: #268fc5;
  --fc-button: #d7e7f2;
  --fc-button-hover: #f2f8fc;
  --fc-shadow: 0 3px 11px rgba(26,55,75,.25);
  position: relative;
  height: 100%;
  min-height: 0;
  display: grid;
  grid-template-columns: 58px minmax(0,1fr) 258px;
  overflow: hidden;
  border-top: 1px solid var(--fc-border);
  background: var(--fc-chrome-2);
  color: var(--fc-text);
  font-family: Tahoma, Verdana, Arial, sans-serif;
  font-size: 14px;
}

.flashcoms-lounge[data-chat-theme="classic-aqua"] {
  --fc-chrome-1: #dffcf7;
  --fc-chrome-2: #72dcca;
  --fc-chrome-3: #0ab9b5;
  --fc-border: #168e94;
  --fc-border-soft: #8bd8cf;
  --fc-panel: #effffc;
  --fc-canvas: #f8fffe;
  --fc-muted: #587b78;
  --fc-accent: #ff8e00;
  --fc-accent-2: #008da5;
  --fc-button: #bdf0e7;
}

.flashcoms-lounge[data-chat-theme="club-ample"] {
  --fc-chrome-1: #fff4f8;
  --fc-chrome-2: #e9bfd0;
  --fc-chrome-3: #a32a5d;
  --fc-border: #7e244c;
  --fc-border-soft: #dab2c3;
  --fc-panel: #fff9fb;
  --fc-canvas: #fffdfd;
  --fc-muted: #7b6070;
  --fc-accent: #d39a2d;
  --fc-accent-2: #b42664;
  --fc-button: #f1dce5;
}

.flashcoms-lounge[data-chat-theme="midnight"] {
  --fc-chrome-1: #293440;
  --fc-chrome-2: #1d2731;
  --fc-chrome-3: #0d151d;
  --fc-border: #50667a;
  --fc-border-soft: #3c4e5e;
  --fc-panel: #1b252e;
  --fc-canvas: #111920;
  --fc-text: #eef6fc;
  --fc-muted: #9bb0c0;
  --fc-accent: #ff9b62;
  --fc-accent-2: #6cc8f2;
  --fc-button: #2f4050;
  --fc-button-hover: #3b5062;
  --fc-shadow: 0 4px 15px rgba(0,0,0,.46);
}

.fc-tool-rail {
  z-index: 10;
  min-height: 0;
  padding: 7px 5px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  overflow-y: auto;
  border-right: 1px solid var(--fc-border);
  background: linear-gradient(90deg,var(--fc-chrome-2),var(--fc-chrome-1));
}

.fc-tool-rail a,.fc-tool-rail button {
  position: relative;
  width: 47px;
  min-height: 49px;
  padding: 4px 2px;
  display: grid;
  place-items: center;
  border: 1px solid var(--fc-border);
  border-radius: 6px;
  background: linear-gradient(#f8fcff,var(--fc-button));
  color: var(--fc-text);
  text-decoration: none;
  box-shadow: inset 0 1px rgba(255,255,255,.8),0 1px 2px rgba(34,72,98,.15);
}

.fc-tool-rail a:hover,.fc-tool-rail button:hover,.fc-tool-rail .active {
  background: linear-gradient(#fff,var(--fc-button-hover));
  border-color: var(--fc-accent-2);
}

.fc-tool-rail .active { box-shadow: inset 3px 0 var(--fc-accent),inset 0 1px white,0 1px 3px rgba(34,72,98,.2); }
.fc-tool-rail a > span,.fc-tool-rail button > span { font-size: 21px; line-height: 1; }
.fc-tool-rail small { font-size: 7px; font-weight: 800; letter-spacing: -.02em; }
.fc-tool-rail .nav-badge { top: -5px; right: -4px; }

.flashcoms-lounge .rooms {
  position: absolute;
  z-index: 75;
  top: 7px;
  left: 63px;
  width: min(330px,calc(100vw - 78px));
  max-height: calc(100% - 14px);
  padding: 0 12px 14px;
  display: block;
  overflow-y: auto;
  border: 1px solid var(--fc-border);
  border-radius: 7px;
  background: var(--fc-panel);
  color: var(--fc-text);
  box-shadow: 0 13px 35px rgba(19,45,63,.32);
}

.flashcoms-lounge .rooms > header { position: sticky; z-index: 2; top: 0; margin: 0 -12px 10px; padding: 8px 9px 8px 14px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--fc-border); background: linear-gradient(var(--fc-chrome-1),var(--fc-chrome-2)); }
.flashcoms-lounge .rooms > header button { width: 27px; height: 27px; padding: 0; border: 1px solid var(--fc-border); border-radius: 50%; background: #d96b69; color: white; font-size: 18px; }
.flashcoms-lounge .room-brand { padding: 0; border: 0; }
.flashcoms-lounge .room-brand strong { color: var(--fc-text); font: 700 18px Tahoma,Verdana,sans-serif; }
.flashcoms-lounge .room-brand small { color: var(--fc-accent-2); font-size: 8px; }
.flashcoms-lounge .room-label { margin: 12px 5px 7px; color: var(--fc-muted); }
.flashcoms-lounge .room-button { min-height: 60px; border: 1px solid transparent; border-radius: 4px; color: var(--fc-text); }
.flashcoms-lounge .room-button:hover { border-color: var(--fc-border-soft); background: var(--fc-button); }
.flashcoms-lounge .room-button.active { border-color: var(--fc-border); background: linear-gradient(90deg,var(--fc-button),var(--fc-panel)); color: var(--fc-accent-2); }
.flashcoms-lounge .room-button small { color: var(--fc-muted); }
.flashcoms-lounge .upgrade-box { border: 1px solid var(--fc-border-soft); background: var(--fc-button); color: var(--fc-text); }
.flashcoms-lounge .upgrade-box p { color: var(--fc-muted); }
.flashcoms-lounge .upgrade-box a { color: var(--fc-accent-2); }

.flashcoms-lounge .chat-column {
  min-width: 0;
  min-height: 0;
  height: 100%;
  display: grid;
  grid-template-rows: 36px 42px minmax(0,1fr) auto;
  overflow: hidden;
  border-right: 1px solid var(--fc-border);
  background: var(--fc-canvas);
}

.fc-room-tabs {
  min-width: 0;
  display: flex;
  align-items: end;
  gap: 3px;
  overflow-x: auto;
  border-bottom: 1px solid var(--fc-border);
  background: linear-gradient(var(--fc-chrome-1),var(--fc-chrome-2));
}

.fc-room-tab,.fc-top-action {
  min-width: max-content;
  height: 31px;
  padding: 5px 10px;
  border: 1px solid var(--fc-border-soft);
  border-bottom: 0;
  border-radius: 5px 5px 0 0;
  background: var(--fc-button);
  color: var(--fc-text);
  font-size: 10px;
  font-weight: 700;
}

.fc-room-tab.active { height: 34px; background: var(--fc-canvas); color: var(--fc-accent-2); }
.fc-room-tab.locked { opacity: .52; }
.fc-room-tab span { margin-right: 5px; }
.fc-room-tabs-spacer { min-width: 12px; flex: 1; }
.fc-top-action { flex: none; height: 27px; margin: 0 3px 4px 0; border: 0; background: transparent; }
.fc-top-action:hover { background: rgba(255,255,255,.58); }

.flashcoms-lounge .chat-head {
  min-height: 0;
  padding: 5px 9px;
  border-bottom: 1px solid var(--fc-border-soft);
  background: linear-gradient(90deg,var(--fc-chrome-1),var(--fc-panel));
}

.fc-window-title { min-width: 0; display: flex; align-items: center; gap: 7px; }
.fc-window-title > span { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 5px; background: var(--fc-accent-2); color: white; font-weight: 900; }
.flashcoms-lounge .chat-head h1 { font: 700 13px Tahoma,Verdana,sans-serif; }
.flashcoms-lounge .chat-head p { color: var(--fc-muted); font-size: 8px; }
.flashcoms-lounge .session-pill { max-width: 45%; padding: 5px 7px; overflow: hidden; border-color: var(--fc-border-soft); color: var(--fc-muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }

.flashcoms-lounge .messages {
  min-width: 0;
  min-height: 0;
  padding: 8px 10px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: var(--fc-canvas);
  color: var(--fc-text);
  font-size: var(--chat-font-size,14px);
  scrollbar-color: var(--fc-chrome-3) var(--fc-panel);
}

.flashcoms-lounge .chat-message { min-width: 0; }
.flashcoms-lounge .chat-avatar { border: 1px solid var(--fc-border-soft); background: var(--fc-button); }
.flashcoms-lounge .chat-bubble { position: relative; min-width: 0; color: var(--fc-text); }
.flashcoms-lounge .chat-bubble > p:not(.chat-media-caption) { color: var(--message-font-color,var(--fc-text)); }
.flashcoms-lounge .chat-meta button { color: var(--message-name-color,var(--fc-accent-2)); font-family: Tahoma,Verdana,sans-serif; }
.flashcoms-lounge .chat-meta time { color: var(--fc-muted); }
.flashcoms-lounge .reaction-row button { border-color: var(--fc-border-soft); background: var(--fc-panel); color: var(--fc-text); }
.flashcoms-lounge .reaction-row button:hover { background: var(--fc-button); }
.flashcoms-lounge .reaction-badges { display: flex; align-items: center; gap: 3px; }
.flashcoms-lounge .reaction-badges button { min-width: 29px; padding: 2px 6px; border: 1px solid var(--fc-border); border-radius: 999px; background: var(--fc-panel); color: var(--fc-text); font: 700 9px Tahoma,Verdana,sans-serif; box-shadow: 0 2px 5px rgba(23,49,65,.16); }
.flashcoms-lounge .reaction-badges button.mine { border-color: var(--fc-accent-2); background: color-mix(in srgb,var(--fc-accent-2) 13%,var(--fc-panel)); }
.flashcoms-lounge .reaction-badges button:hover { transform: translateY(-1px); }
.flashcoms-lounge .chat-media { border: 1px solid var(--fc-border-soft); background: white; }

.flashcoms-lounge[data-message-view="classic"] .chat-message {
  position: relative;
  margin: 0;
  padding: 3px 52px 3px 2px;
  display: grid;
  grid-template-columns: 27px minmax(0,1fr);
  align-items: start;
  gap: 6px;
  border-bottom: 1px solid transparent;
}

.flashcoms-lounge[data-message-view="classic"] .chat-message:hover { border-bottom-color: color-mix(in srgb,var(--fc-border-soft) 55%,transparent); background: color-mix(in srgb,var(--fc-button) 36%,transparent); }
.flashcoms-lounge[data-message-view="classic"] .chat-message.mine { justify-content: stretch; }
.flashcoms-lounge[data-message-view="classic"] .chat-message .chat-avatar { grid-column: 1; grid-row: 1; width: 24px; height: 24px; font-size: 14px; }
.flashcoms-lounge[data-message-view="classic"] .chat-message .chat-bubble { grid-column: 2; grid-row: 1; max-width: none; padding: 1px 0; border: 0; background: transparent; box-shadow: none; }
.flashcoms-lounge[data-message-view="classic"] .chat-message.mine .chat-bubble { background: transparent; }
.flashcoms-lounge[data-message-view="classic"] .chat-meta { min-height: 18px; margin: 0 6px 0 0; display: inline-flex; vertical-align: top; }
.flashcoms-lounge[data-message-view="classic"] .chat-meta::after { content: "›"; color: var(--fc-muted); font-weight: 800; }
.flashcoms-lounge[data-message-view="classic"] .chat-meta button { font-size: inherit; }
.flashcoms-lounge[data-message-view="classic"] .chat-author-badge { display: none; }
.flashcoms-lounge[data-message-view="classic"] .chat-meta time { position: absolute; top: 6px; right: 5px; }
.flashcoms-lounge[data-message-view="classic"] .chat-bubble > p:not(.chat-media-caption) { display: inline; font-size: inherit; line-height: 1.45; }
.flashcoms-lounge[data-message-view="classic"] .chat-media { margin-top: 5px; }
.flashcoms-lounge[data-message-view="classic"] .reaction-row { margin-top: 3px; }
.flashcoms-lounge[data-message-view="classic"] .reaction-badges { margin: 4px 0 1px; }

.flashcoms-lounge[data-message-view="bubbles"] .messages { padding: 12px; }
.flashcoms-lounge[data-message-view="bubbles"] .chat-message { margin: 0 auto 11px; display: flex; align-items: flex-end; gap: 7px; }
.flashcoms-lounge[data-message-view="bubbles"] .chat-message.has-reactions { margin-bottom: 24px; }
.flashcoms-lounge[data-message-view="bubbles"] .chat-message.mine { justify-content: flex-end; }
.flashcoms-lounge[data-message-view="bubbles"] .chat-avatar { width: 34px; height: 34px; }
.flashcoms-lounge[data-message-view="bubbles"] .chat-bubble { max-width: min(690px,78%); padding: 8px 10px; border: 1px solid var(--fc-border-soft); border-radius: 10px; background: var(--message-bubble-color,color-mix(in srgb,var(--fc-button) 60%,white)); box-shadow: 0 2px 5px rgba(25,55,75,.1); }
.flashcoms-lounge[data-message-view="bubbles"] .chat-message.mine .chat-bubble { background: var(--message-bubble-color,color-mix(in srgb,var(--fc-accent) 16%,white)); }
.flashcoms-lounge[data-message-view="bubbles"] .chat-bubble::after { content: ""; position: absolute; z-index: 0; left: -8px; bottom: 9px; width: 0; height: 0; border-style: solid; border-width: 6px 8px 6px 0; border-color: transparent var(--message-bubble-color,color-mix(in srgb,var(--fc-button) 60%,white)) transparent transparent; }
.flashcoms-lounge[data-message-view="bubbles"] .chat-message.mine .chat-bubble::after { left: auto; right: -8px; border-width: 6px 0 6px 8px; border-color: transparent transparent transparent var(--message-bubble-color,color-mix(in srgb,var(--fc-accent) 16%,white)); }
.flashcoms-lounge[data-message-view="bubbles"] .reaction-badges { position: absolute; z-index: 3; left: 9px; bottom: -16px; }
.flashcoms-lounge[data-message-view="bubbles"] .chat-message.mine .reaction-badges { right: 9px; left: auto; }

.flashcoms-lounge[data-hide-avatars="true"] .chat-avatar { display: none !important; }
.flashcoms-lounge[data-hide-avatars="true"][data-message-view="classic"] .chat-message { grid-template-columns: minmax(0,1fr); }
.flashcoms-lounge[data-hide-avatars="true"][data-message-view="classic"] .chat-message .chat-bubble { grid-column: 1; }
.flashcoms-lounge[data-hide-times="true"] .chat-meta time { display: none; }
.flashcoms-lounge[data-compact="true"] .chat-message { padding-top: 1px; padding-bottom: 1px; }

.flashcoms-lounge .composer {
  z-index: 9;
  min-width: 0;
  padding: 0;
  border-top: 1px solid var(--fc-border);
  background: var(--fc-panel);
}

.fc-compose-toolbar { min-height: 31px; padding: 2px 6px; display: flex; align-items: center; gap: 2px; border-bottom: 1px solid var(--fc-border-soft); background: linear-gradient(var(--fc-chrome-1),var(--fc-button)); }
.fc-compose-toolbar button { min-width: 35px; height: 26px; padding: 2px 6px; display: flex; align-items: center; gap: 4px; border: 1px solid transparent; border-radius: 3px; background: transparent; color: var(--fc-text); font-size: 14px; }
.fc-compose-toolbar button:hover { border-color: var(--fc-border); background: var(--fc-button-hover); }
.fc-compose-toolbar button.locked { opacity: .45; }
.fc-compose-toolbar button span { font-size: 8px; font-weight: 700; }
.fc-compose-toolbar button b { color: var(--fc-accent-2); font-size: 9px; }

.flashcoms-lounge .composer-main { min-height: 67px; padding: 5px 7px; display: grid; grid-template-columns: 84px minmax(0,1fr) 58px; gap: 6px; align-items: stretch; }
.fc-send-to { display: flex; flex-direction: column; gap: 4px; color: var(--fc-text); font-size: 9px; font-weight: 700; }
.fc-send-to select { min-width: 0; height: 26px; padding: 2px; border: 1px solid var(--fc-border); background: white; color: #1b2831; font-size: 9px; }
.flashcoms-lounge .composer textarea { min-height: 54px; max-height: 120px; padding: 7px; border: 1px solid var(--fc-border); border-radius: 0; background: var(--fc-canvas); color: var(--fc-text); font-size: var(--chat-font-size,14px); box-shadow: inset 0 1px 3px rgba(32,61,80,.12); }
.flashcoms-lounge .composer textarea:focus { outline: 2px solid color-mix(in srgb,var(--fc-accent-2) 45%,transparent); outline-offset: -2px; }
.flashcoms-lounge #sendBtn { min-width: 58px; padding: 5px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; border: 1px solid var(--fc-border); border-radius: 4px; background: linear-gradient(#fff,var(--fc-button)); color: var(--fc-text); box-shadow: inset 0 1px white; }
.flashcoms-lounge #sendBtn span { color: var(--fc-accent-2); font-size: 20px; line-height: 1; }
.flashcoms-lounge .composer-note { margin: 0; padding: 3px 7px 5px; color: var(--fc-muted); font-size: 8px; }
.flashcoms-lounge .emoji-panel { bottom: 109px; left: 6px; border-color: var(--fc-border); background: var(--fc-panel); color: var(--fc-text); }

.flashcoms-lounge .online-column {
  min-width: 0;
  min-height: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-left: 0;
  background: var(--fc-panel);
  color: var(--fc-text);
}

.fc-panel-title { min-height: 36px; padding: 6px 7px 5px 10px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--fc-border); background: linear-gradient(var(--fc-chrome-1),var(--fc-chrome-2)); }
.flashcoms-lounge .online-column .fc-panel-title h2 { font: 700 13px Tahoma,Verdana,sans-serif; }
.fc-panel-title button { display: none; width: 25px; height: 25px; padding: 0; border: 1px solid var(--fc-border); border-radius: 50%; background: #d96b69; color: white; }
.fc-people-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-bottom: 1px solid var(--fc-border); background: var(--fc-chrome-1); }
.fc-people-tabs button { min-width: 0; padding: 7px 3px; border: 0; border-right: 1px solid var(--fc-border-soft); border-bottom: 2px solid transparent; background: transparent; color: var(--fc-muted); font: 800 8px Tahoma,Verdana,sans-serif; white-space: nowrap; }
.fc-people-tabs button:last-child { border-right: 0; }
.fc-people-tabs button:hover { background: var(--fc-button-hover); color: var(--fc-text); }
.fc-people-tabs button.active { border-bottom-color: var(--fc-accent-2); background: var(--fc-panel); color: var(--fc-text); }
.fc-user-search { margin: 7px; display: grid; grid-template-columns: 24px minmax(0,1fr); align-items: center; border: 1px solid var(--fc-border); background: var(--fc-canvas); }
.fc-user-search span { text-align: center; color: var(--fc-muted); font-size: 18px; }
.fc-user-search input { min-width: 0; margin: 0; padding: 5px 4px; border: 0; background: transparent; color: var(--fc-text); font-size: 10px; }
.fc-user-search input:focus { outline: 0; }
.fc-user-group { min-height: 112px; flex: 1 1 42%; display: flex; flex-direction: column; overflow: hidden; border-top: 1px solid var(--fc-border-soft); border-bottom: 1px solid var(--fc-border); }
.fc-group-toggle { min-height: 26px; padding: 4px 6px; display: grid; grid-template-columns: 13px 1fr auto; align-items: center; border: 0; background: var(--fc-button); color: var(--fc-text); text-align: left; }
.fc-group-toggle b { font-size: 10px; }
.fc-group-toggle strong { color: var(--fc-muted); font-size: 8px; font-weight: 700; }
.fc-user-group #onlinePeople { min-height: 0; flex: 1; overflow-y: auto; }
.flashcoms-lounge .online-person { min-height: 42px; padding: 5px 7px; grid-template-columns: 38px 1fr; border-top-color: var(--fc-border-soft); color: var(--fc-text); }
.flashcoms-lounge .online-person:hover,.flashcoms-lounge .online-person.selected { background: var(--fc-button); }
.flashcoms-lounge .online-person .mini-avatar { width: 32px; height: 32px; border: 1px solid var(--fc-border); background: white; }
.flashcoms-lounge .online-person b { font-size: 11px; }
.flashcoms-lounge .online-person small { color: var(--fc-muted); }
.flashcoms-lounge .online-person.friend b::after { content: " ★"; color: #d39a2d; }
.flashcoms-lounge .online-person.blocked { opacity: .72; }
.flashcoms-lounge .online-person.blocked b { text-decoration: line-through; text-decoration-thickness: 1px; }

.fc-selected-user { min-height: 145px; flex: 1 1 34%; padding: 10px; overflow-y: auto; background: color-mix(in srgb,var(--fc-panel) 88%,var(--fc-chrome-2)); }
.fc-selected-placeholder { height: 100%; display: grid; place-items: center; align-content: center; color: var(--fc-muted); text-align: center; }
.fc-selected-placeholder span { font-size: 34px; opacity: .45; }
.fc-selected-placeholder b { color: var(--fc-text); font-size: 11px; }
.fc-selected-placeholder small { max-width: 170px; font-size: 8px; }
.fc-selected-head { display: grid; grid-template-columns: 64px 1fr; gap: 10px; align-items: center; }
.fc-selected-avatar { width: 64px; height: 64px; display: grid; place-items: center; overflow: hidden; border: 2px solid white; background: var(--fc-button); box-shadow: 0 0 0 1px var(--fc-border); font-size: 31px; }
.fc-selected-head h3 { margin: 0; color: var(--fc-text); font-size: 14px; }
.fc-selected-head p { margin: 2px 0 0; color: var(--fc-muted); font-size: 9px; }
.fc-selected-bio { margin: 9px 0; color: var(--fc-text); font-size: 9px; line-height: 1.45; }
.fc-selected-actions { display: grid; gap: 4px; }
.fc-selected-actions button { padding: 5px 7px; border: 0; background: transparent; color: var(--fc-text); font-size: 9px; text-align: left; }
.fc-selected-actions button:hover { background: var(--fc-button); }
.fc-selected-actions button:disabled { opacity: .45; }
.fc-selected-actions .danger { color: #a3223f; }

.fc-my-card { flex: none; border-top: 1px solid var(--fc-border); background: var(--fc-button); }
.fc-my-card header { min-height: 26px; padding: 4px 7px; display: flex; align-items: center; justify-content: space-between; background: linear-gradient(var(--fc-chrome-1),var(--fc-chrome-2)); }
.fc-my-card header b { font-size: 9px; }
.fc-my-card #myLoungeIdentity { padding: 7px; display: grid; grid-template-columns: 35px 1fr; align-items: center; gap: 7px; }
.fc-my-avatar { width: 34px; height: 34px; display: grid; place-items: center; overflow: hidden; border: 1px solid var(--fc-border); background: white; }
.fc-my-card strong,.fc-my-card small { display: block; }
.fc-my-card strong { font-size: 10px; }
.fc-my-card small { color: var(--fc-muted); font-size: 8px; }
.fc-my-card > a { display: block; padding: 0 7px 6px 49px; color: var(--fc-accent-2); font-size: 8px; }

.fc-dialog { width: min(920px,calc(100vw - 24px)); color: var(--ink); }
.fc-dialog .dialog-card { padding: 0; border: 1px solid #70899d; background: #e7f0f6; }
.fc-dialog .dialog-card > header { min-height: 43px; padding: 7px 10px; border-bottom: 1px solid #7894aa; background: linear-gradient(#f4f9fc,#adc6d9); }
.fc-dialog .dialog-card > header h2 { font: 700 18px Tahoma,Verdana,sans-serif; }
.fc-dialog .dialog-card > header .kicker { color: #416d8b; }
.fc-settings-tabs { padding: 8px 12px 0; display: flex; gap: 3px; border-bottom: 1px solid #8fa8bb; }
.fc-settings-tabs span { padding: 6px 12px; border: 1px solid #9aafbe; border-bottom: 0; border-radius: 5px 5px 0 0; background: #cbdde9; font-size: 10px; }
.fc-settings-tabs .active { background: white; }
.fc-settings-grid { margin: 0 12px; padding: 16px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; background: white; }
.fc-settings-grid fieldset { min-width: 0; margin: 0; padding: 12px; border: 1px solid #bdcbd5; }
.fc-settings-grid fieldset:nth-of-type(1) { grid-column: 1; grid-row: 1; }
.fc-settings-grid fieldset:nth-of-type(2) { grid-column: 1; grid-row: 2; }
.fc-settings-grid fieldset:nth-of-type(3) { grid-column: 1; grid-row: 3; }
.fc-settings-grid legend { padding: 0 5px; font-size: 11px; font-weight: 800; }
.fc-settings-grid label { margin: 8px 0; font-size: 10px; }
.fc-settings-grid select { margin-top: 3px; }
.fc-color-controls { margin-top: 10px; padding-top: 9px; display: grid; grid-template-columns: 1fr 1fr; gap: 6px 8px; border-top: 1px solid #d4dee5; }
.fc-color-controls > strong,.fc-color-controls > small { grid-column: 1/-1; }
.fc-color-controls > strong { font-size: 10px; }
.fc-color-controls label { margin: 0; display: grid; grid-template-columns: 1fr 34px; align-items: center; gap: 6px; }
.fc-color-controls input[type="color"] { width: 34px; height: 27px; margin: 0; padding: 2px; border: 1px solid #9bafbc; background: white; }
.fc-color-controls button { grid-column: 1/-1; justify-self: start; }
.fc-color-controls small { color: #71899a; font-size: 8px; line-height: 1.35; }
.fc-theme-choice { display: grid !important; grid-template-columns: auto 43px 1fr; align-items: center; gap: 8px; }
.theme-preview { width: 43px; height: 23px; border: 1px solid #718da3; background: linear-gradient(135deg,#edf6fb 50%,#a9c6da 50%); }
.theme-preview.classic-aqua { background: linear-gradient(135deg,#effffc 50%,#56d2c1 50%); }
.theme-preview.club-ample { background: linear-gradient(135deg,#fff4f8 50%,#b42664 50%); }
.theme-preview.midnight { background: linear-gradient(135deg,#2d3b48 50%,#101820 50%); }
.fc-settings-preview { grid-column: 2; grid-row: 1/4; min-height: 210px; padding: 12px; border: 1px solid #bdcbd5; background: #f9fcfe; }
.fc-settings-preview small { color: #71899a; font-size: 8px; font-weight: 900; }
.fc-settings-preview > div { margin-top: 10px; padding: 12px; border: 1px solid #ccd7df; background: white; }
.fc-settings-preview p { margin: 5px 0; font-size: 11px; }
.fc-settings-preview #chatColorPreview p:first-child { padding: 8px 10px; border: 1px solid #c2d2dd; border-radius: 9px; background: var(--preview-bubble-color,#e8f4fb); color: var(--preview-font-color,#24313a); }
.fc-settings-preview #chatColorPreview p:first-child b { color: inherit; }
.sample-orange { color: #ef641f; }.sample-blue { color: #157bd4; }.sample-green { color: #248b3a; }
.fc-dialog .form-actions { padding: 11px 12px; }
.fc-history-search { margin: 12px; display: grid; grid-template-columns: 30px 1fr; align-items: center; border: 1px solid #8da4b5; background: white; }
.fc-history-search span { text-align: center; font-size: 20px; color: #6c8291; }
.fc-history-search input { margin: 0; border: 0; }
.fc-history-results { max-height: min(58vh,520px); margin: 0 12px; overflow-y: auto; border: 1px solid #9eafbb; background: white; }
.fc-history-row { padding: 8px 10px; display: grid; grid-template-columns: 110px 1fr 65px; gap: 8px; border-bottom: 1px solid #e2e8ec; font-size: 10px; }
.fc-history-row b { color: #247da8; }
.fc-history-row time { color: #82929e; text-align: right; }
.fc-history-dialog .fine-print { margin: 8px 12px 12px; }

@media (max-width:1050px) {
  .flashcoms-lounge { grid-template-columns: 54px minmax(0,1fr) 225px; }
  .fc-tool-rail a,.fc-tool-rail button { width: 43px; }
  .fc-compose-toolbar button span { display: none; }
}

@media (max-width:760px) {
  .lounge-body { overflow: hidden; }
  .flashcoms-lounge { grid-template-columns: 45px minmax(0,1fr); }
  .fc-tool-rail { padding: 5px 3px; }
  .fc-tool-rail a,.fc-tool-rail button { width: 38px; min-height: 42px; }
  .fc-tool-rail a > span,.fc-tool-rail button > span { font-size: 18px; }
  .fc-tool-rail small { display: none; }
  .flashcoms-lounge .chat-column { grid-template-rows: 35px 39px minmax(0,1fr) auto; }
  .fc-room-tab { padding: 5px 8px; }
  .fc-room-tab:nth-of-type(n+3) { display: none; }
  .fc-top-action { font-size: 0; }
  .fc-top-action::first-letter { font-size: 13px; }
  .flashcoms-lounge .session-pill { max-width: 43%; }
  .flashcoms-lounge .online-column { position: absolute; z-index: 70; inset: 0 0 0 auto; width: min(310px,calc(100vw - 45px)); transform: translateX(102%); transition: transform .18s ease; box-shadow: -8px 0 28px rgba(20,46,64,.3); }
  .flashcoms-lounge.people-panel-open .online-column { transform: none; }
  .fc-panel-title button { display: block; }
  .flashcoms-lounge .rooms { left: 49px; width: min(330px,calc(100vw - 57px)); }
  .flashcoms-lounge .messages { padding: 6px; }
  .flashcoms-lounge[data-message-view="classic"] .chat-message { padding-right: 4px; }
  .flashcoms-lounge[data-message-view="classic"] .chat-meta time { position: static; }
  .flashcoms-lounge .composer-main { min-height: 62px; grid-template-columns: minmax(0,1fr) 54px; }
  .fc-send-to { display: none; }
  .flashcoms-lounge .composer textarea { min-height: 50px; }
  .fc-compose-toolbar { overflow-x: auto; }
  .fc-compose-toolbar button { flex: none; }
  .flashcoms-lounge .emoji-panel { bottom: 101px; }
  .fc-settings-grid { grid-template-columns: 1fr; }
  .fc-settings-grid fieldset:nth-of-type(1),.fc-settings-grid fieldset:nth-of-type(2),.fc-settings-grid fieldset:nth-of-type(3) { grid-column: 1; grid-row: auto; }
  .fc-settings-preview { grid-column: 1; grid-row: auto; }
  .fc-history-row { grid-template-columns: 78px 1fr; }
  .fc-history-row time { grid-column: 1/3; text-align: left; }
}

@media (max-width:460px) {
  .fc-room-tab:nth-of-type(n+2) { display: none; }
  .flashcoms-lounge .chat-head p { display: none; }
  .flashcoms-lounge .session-pill { max-width: 52%; }
  .fc-compose-toolbar button { min-width: 31px; padding-inline: 4px; }
}
