/* Overlay RP BobbaRP — couche au-dessus du client Nitro */
#rp-overlay, #rp-overlay * { box-sizing: border-box; font-family: 'Ubuntu', Verdana, sans-serif; }
#rp-overlay {
  position: fixed; inset: 0; z-index: 2147483000; pointer-events: none;
}
#rp-overlay .rp-panel { pointer-events: auto; }

/* HUD stats */
#rp-hud {
  position: absolute; left: 10px; top: 120px; width: 168px;
  background: rgba(20,22,28,.82); color: #fff; border: 1px solid #000;
  border-radius: 8px; padding: 8px 9px; font-size: 11px; pointer-events: auto;
  box-shadow: 0 3px 10px rgba(0,0,0,.5);
}
#rp-hud .rp-row { display: flex; align-items: center; gap: 6px; margin: 3px 0; }
#rp-hud .rp-lbl { width: 46px; opacity: .85; }
#rp-hud .rp-bar { flex: 1; height: 9px; background: #333; border-radius: 5px; overflow: hidden; }
#rp-hud .rp-bar > span { display: block; height: 100%; transition: width .3s; }
#rp-hud .b-sante   > span { background: #e0454b; }
#rp-hud .b-energie > span { background: #f2b100; }
#rp-hud .b-hygiene > span { background: #2aa5c7; }
#rp-hud .b-sommeil > span { background: #8a63d2; }
#rp-hud .rp-money { margin-top: 6px; border-top: 1px solid #444; padding-top: 5px; }

/* Modales */
#rp-overlay .rp-modal-bg {
  position: absolute; inset: 0; background: rgba(0,0,0,.45);
  display: flex; align-items: center; justify-content: center; pointer-events: auto;
}
#rp-overlay .rp-modal {
  background: #eef1f5; border: 1px solid #0c0f14; border-radius: 10px; min-width: 280px;
  color: #1b2029;                       /* texte sombre par défaut dans toute la modale */
  box-shadow: 0 8px 30px rgba(0,0,0,.5); overflow: hidden;
}
#rp-overlay .rp-modal * { color: inherit; }   /* neutralise le blanc hérité du client Nitro */
#rp-overlay .rp-modal h3 {
  margin: 0; background: #1d7a8c; color: #fff !important; padding: 8px 12px; font-size: 14px;
  display: flex; justify-content: space-between; align-items: center;
}
#rp-overlay .rp-modal h3 * { color: #fff !important; }
#rp-overlay .rp-modal h3 .rp-x { cursor: pointer; opacity: .85; }
#rp-overlay .rp-modal h3 .rp-x:hover { opacity: 1; }
#rp-overlay .rp-modal .rp-body { padding: 12px; }
#rp-overlay .rp-amount {
  width: 100%; text-align: center; font: 700 24px/1.2 'Ubuntu', Verdana, sans-serif;
  letter-spacing: 3px; color: #0e1219 !important;
  padding: 10px 8px; border: 2px solid #9aa6b2; border-radius: 6px;
  background: #fff; margin-bottom: 10px; min-height: 46px;
}
#rp-overlay .rp-keys { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
#rp-overlay .rp-keys button, #rp-overlay .rp-actions button {
  padding: 12px 0; border: 1px solid #9aa6b2; border-radius: 6px; background: #fff;
  color: #1b2029 !important; font: 600 16px/1 'Ubuntu', Verdana, sans-serif; cursor: pointer;
}
#rp-overlay .rp-keys button:hover { background: #f2f5f8; }
#rp-overlay .rp-keys button:active { background: #d6dde4; }
#rp-overlay .rp-actions { display: flex; gap: 8px; margin-top: 10px; }
#rp-overlay .rp-actions .rp-primary { background: #1d7a8c; color: #fff !important; border-color: #14606f; flex: 1; }
#rp-overlay .rp-actions .rp-primary:hover { background: #218da3; }
#rp-overlay .rp-actions .rp-danger  { background: #e0454b; color: #fff !important; border-color: #b7353a; flex: 1; }
#rp-overlay .rp-actions .rp-danger:hover { background: #ec5a60; }
#rp-overlay .rp-info { font-size: 12px; margin: 6px 0; color: #3a424e; }
#rp-overlay .rp-info b { color: #12161d; }

/* Coiffure */
#rp-overlay .rp-coiff { min-width: 340px; max-width: 380px; }
#rp-overlay .rp-coiff-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px;
  max-height: 190px; overflow-y: auto; margin: 8px 0;
}
#rp-overlay .rp-coiff-style, #rp-overlay .rp-coiff-col {
  padding: 6px 2px; border: 1px solid #999; border-radius: 5px; background: #fff;
  font-size: 11px; cursor: pointer;
}
#rp-overlay .rp-coiff-style.sel, #rp-overlay .rp-coiff-col.sel {
  background: #1d7a8c; color: #fff; border-color: #14606f;
}
#rp-overlay .rp-coiff-colors { display: grid; grid-template-columns: repeat(6, 1fr); gap: 4px; margin-bottom: 4px; }
#rp-overlay .rp-call .rp-body { text-align: center; }

/* Casier */
#rp-overlay .rp-casier { min-width: 320px; }
#rp-overlay .rp-cas-row { border: 1px solid #b9c1cc; border-radius: 6px; padding: 8px; margin: 6px 0; background: #fff; }
#rp-overlay .rp-cas-name { font-weight: bold; font-size: 12px; }
#rp-overlay .rp-cas-nums { font-size: 11px; opacity: .8; margin: 3px 0 6px; }
#rp-overlay .rp-cas-ctrl { display: flex; gap: 5px; }
#rp-overlay .rp-cas-ctrl input { width: 56px; border: 1px solid #999; border-radius: 5px; padding: 4px; }
#rp-overlay .rp-cas-ctrl button { flex: 1; padding: 6px 0; font-size: 12px; }

/* Machine à sous */
#rp-overlay .rp-slot .rp-body { text-align: center; }
#rp-overlay .rp-slot-reels { display: flex; justify-content: center; gap: 10px; font-size: 40px; margin: 8px 0 12px; }
#rp-overlay .rp-slot-reels span { width: 56px; height: 56px; line-height: 56px; border: 2px solid #999; border-radius: 8px; background: #fff; }
#rp-overlay .rp-slot-reels .rp-spin { animation: rpspin .5s linear infinite; }
@keyframes rpspin { 0%{opacity:1} 50%{opacity:.3} 100%{opacity:1} }
#rp-overlay .rp-slot-msg { font-size: 13px; min-height: 34px; }

/* ===== Téléphone RP (iPhone) ===== */
#rp-overlay .rp-iphone {
  position: relative; width: 340px; height: 700px; max-height: calc(100vh - 30px);
  background: #050608; border-radius: 52px; padding: 13px;
  box-shadow: 0 30px 80px rgba(0,0,0,.6), inset 0 0 0 2px #23262e; pointer-events: auto;
  --ip-bg: #f2f2f7; --ip-fg: #11151c; --ip-mut: #8a8f99; --ip-card: #ffffff; --ip-line: #e3e5ea;
  --ip-blue: #0a84ff;
}
#rp-overlay .rp-iphone.dark { --ip-bg: #0b0f17; --ip-fg: #e8ebf1; --ip-mut: #7b8494; --ip-card: #161c28; --ip-line: #232b3a; }
#rp-overlay .rp-iphone * { font-family: -apple-system, 'Ubuntu', 'Segoe UI', sans-serif; color: var(--ip-fg); box-sizing: border-box; }
#rp-overlay .rp-ip-notch {
  position: absolute; top: 17px; left: 50%; transform: translateX(-50%);
  width: 108px; height: 30px; background: #050608; border-radius: 18px; z-index: 5;
}
#rp-overlay .rp-ip-status {
  position: absolute; top: 24px; left: 34px; right: 34px; display: flex; align-items: center;
  justify-content: space-between; font-size: 13px; font-weight: 700; color: #fff;
  letter-spacing: .3px; z-index: 4; pointer-events: none;
}
#rp-overlay .rp-ip-status .rp-ip-clock { min-width: 46px; }
#rp-overlay .rp-ip-status .rp-ip-sig { font-size: 11px; opacity: .95; letter-spacing: 1px; }
#rp-overlay .rp-ip-screen {
  position: absolute; inset: 13px; border-radius: 42px; overflow: hidden;
  background: var(--ip-bg); display: flex; flex-direction: column;
}
#rp-overlay .rp-ip-home {
  position: absolute; bottom: 0; left: 50%; transform: translateX(-50%);
  width: 150px; height: 26px; z-index: 7; cursor: pointer;
  display: flex; align-items: flex-end; justify-content: center; padding-bottom: 7px;
}
#rp-overlay .rp-ip-home::before {
  content: ''; width: 132px; height: 5px; border-radius: 3px;
  background: rgba(255,255,255,.85); transition: background .12s, width .12s;
}
#rp-overlay .rp-iphone:not(.dark) .rp-ip-home::before { background: rgba(0,0,0,.4); }
#rp-overlay .rp-ip-home:hover::before { background: #fff; width: 138px; }
#rp-overlay .rp-iphone:not(.dark) .rp-ip-home:hover::before { background: rgba(0,0,0,.65); }

/* --- écran d'accueil --- */
#rp-overlay .rp-ip-grid {
  flex: 1; overflow-y: auto; display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 20px 6px; padding: 58px 14px 40px; align-content: start;
}
#rp-overlay .rp-ip-app { display: flex; flex-direction: column; align-items: center; gap: 6px; cursor: pointer; }
#rp-overlay .rp-ip-app:active { transform: scale(.9); }
#rp-overlay .rp-ip-ico {
  position: relative; width: 66px; height: 66px;
  background: center / contain no-repeat;
  filter: drop-shadow(0 4px 7px rgba(0,0,0,.4));
}
#rp-overlay .rp-ip-app span {
  font-size: 12px; font-weight: 600; color: #fff; text-shadow: 0 1px 3px rgba(0,0,0,.7);
  line-height: 1.1; text-align: center;
}
#rp-overlay .rp-iphone:not(.dark) .rp-ip-grid { background:
  linear-gradient(160deg, #6aa9ff, #a06bff); }
#rp-overlay .rp-iphone.dark .rp-ip-grid { background: linear-gradient(160deg, #1b2740, #2a1b40); }
#rp-overlay .rp-ip-badge {
  position: absolute; top: -3px; right: 0; min-width: 19px; height: 19px; padding: 0 5px;
  background: #ff3b30; color: #fff; font-size: 11px; font-weight: 700; line-height: 19px;
  text-align: center; border-radius: 10px; border: 2px solid rgba(255,255,255,.9);
}

/* --- vue appli --- */
#rp-overlay .rp-ip-hd {
  display: flex; align-items: center; gap: 8px; padding: 46px 14px 10px; border-bottom: 1px solid var(--ip-line);
  font-size: 16px; background: var(--ip-bg);
}
#rp-overlay .rp-ip-hd b { flex: 1; text-align: center; font-size: 16px; }
#rp-overlay .rp-ip-back { color: var(--ip-blue); font-size: 26px; line-height: 1; cursor: pointer; width: 28px; }
#rp-overlay .rp-ip-hr { width: 28px; text-align: right; color: var(--ip-blue); }
#rp-overlay .rp-ip-new { cursor: pointer; font-size: 18px; }
#rp-overlay .rp-ip-hd { flex: 0 0 auto; }
#rp-overlay .rp-ip-list, #rp-overlay .rp-ip-pad, #rp-overlay .rp-ip-radio,
#rp-overlay .rp-ip-grid, #rp-overlay .rp-ip-chat {
  flex: 1 1 auto; overflow-y: auto; min-height: 0;
}
#rp-overlay .rp-ip-send, #rp-overlay .rp-ip-dial { flex: 0 0 auto; }
#rp-overlay .rp-ip-pad .rp-ip-list, #rp-overlay .rp-ip-pad .rp-ip-chat { flex: none; overflow: visible; padding: 0; }
#rp-overlay .rp-ip-list, #rp-overlay .rp-ip-radio { padding: 6px 0 20px; }
#rp-overlay .rp-ip-pad { padding: 14px; }
#rp-overlay .rp-ip-empty { padding: 40px 24px; text-align: center; color: var(--ip-mut); font-size: 13px; }
#rp-overlay .rp-ip-sect { padding: 14px 16px 4px; font-size: 11px; font-weight: 700; text-transform: uppercase; color: var(--ip-mut); }

#rp-overlay .rp-ip-row {
  display: flex; align-items: center; gap: 8px; padding: 11px 16px; border-bottom: 1px solid var(--ip-line);
  cursor: pointer;
}
#rp-overlay .rp-ip-row:active { background: rgba(127,127,127,.12); }
#rp-overlay .rp-ip-rmain { flex: 1; min-width: 0; }
#rp-overlay .rp-ip-rmain b { display: block; font-size: 14px; font-weight: 600; }
#rp-overlay .rp-ip-rmain span { display: block; font-size: 12px; color: var(--ip-mut); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#rp-overlay .rp-ip-row i { font-size: 11px; color: var(--ip-mut); font-style: normal; white-space: nowrap; }
#rp-overlay .rp-ip-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--ip-blue); vertical-align: middle; }
#rp-overlay .rp-ip-st { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #c7ccd4; }
#rp-overlay .rp-ip-st.on { background: #34c759; }
#rp-overlay .rp-ip-mini { font-size: 18px; padding: 4px 6px; cursor: pointer; }

/* chat / bulles */
#rp-overlay .rp-ip-chat { display: flex; flex-direction: column; gap: 6px; padding: 12px; }
#rp-overlay .rp-ip-bub {
  max-width: 80%; align-self: flex-start; background: var(--ip-card); border: 1px solid var(--ip-line);
  border-radius: 16px; padding: 7px 11px; font-size: 13px; word-break: break-word;
}
#rp-overlay .rp-ip-bub.me { align-self: flex-end; background: var(--ip-blue); border-color: var(--ip-blue); color: #fff; }
#rp-overlay .rp-ip-bub em { display: block; font-size: 10px; font-weight: 700; opacity: .7; font-style: normal; margin-bottom: 2px; }
#rp-overlay .rp-ip-bub i { display: block; font-size: 9px; opacity: .55; font-style: normal; margin-top: 3px; text-align: right; }
#rp-overlay .rp-ip-mem { display: flex; flex-wrap: wrap; gap: 4px; padding: 8px 12px; border-bottom: 1px solid var(--ip-line); }
#rp-overlay .rp-ip-mem span { font-size: 11px; background: var(--ip-card); border: 1px solid var(--ip-line); border-radius: 10px; padding: 2px 8px; }

/* zone de saisie */
#rp-overlay .rp-ip-send, #rp-overlay .rp-ip-dial {
  display: flex; gap: 8px; padding: 10px 12px; border-top: 1px solid var(--ip-line); background: var(--ip-bg);
  flex: 0 0 auto !important; overflow: visible !important;
}
#rp-overlay .rp-ip-in {
  flex: 1; background: var(--ip-card); border: 1px solid var(--ip-line); border-radius: 18px;
  padding: 9px 14px; font-size: 13px; color: var(--ip-fg); outline: none;
}
#rp-overlay .rp-ip-snd, #rp-overlay .rp-ip-call {
  background: var(--ip-blue); color: #fff !important; border: none; border-radius: 18px;
  padding: 9px 16px; font-size: 14px; font-weight: 600; cursor: pointer;
}

/* cartes info */
#rp-overlay .rp-ip-card {
  margin: 14px; padding: 16px; background: var(--ip-card); border: 1px solid var(--ip-line); border-radius: 14px;
  display: flex; flex-direction: column; gap: 4px;
}
#rp-overlay .rp-ip-card.sm { margin: 0 14px 14px; padding: 12px 16px; }
#rp-overlay .rp-ip-card span { font-size: 12px; color: var(--ip-mut); }
#rp-overlay .rp-ip-card b { font-size: 22px; }
#rp-overlay .rp-ip-kv { display: flex; justify-content: space-between; align-items: center; padding: 12px 4px; border-bottom: 1px solid var(--ip-line); font-size: 14px; }
#rp-overlay .rp-ip-kv span { color: var(--ip-mut); }
#rp-overlay .rp-ip-form { padding: 14px; display: flex; flex-direction: column; gap: 8px; }
#rp-overlay .rp-ip-fl { font-size: 12px; color: var(--ip-mut); }
#rp-overlay .rp-ip-btn {
  background: var(--ip-blue); color: #fff !important; border: none; border-radius: 12px;
  padding: 12px; font-size: 15px; font-weight: 600; cursor: pointer; margin-top: 6px;
}
#rp-overlay .rp-ip-warn { margin: 12px 0 0; padding: 10px; background: #ffefef; color: #c0392b; border-radius: 10px; font-size: 13px; text-align: center; }
#rp-overlay .rp-ip-news { padding: 12px 16px; border-bottom: 1px solid var(--ip-line); }
#rp-overlay .rp-ip-news b { display: block; font-size: 11px; color: var(--ip-blue); }
#rp-overlay .rp-ip-news span { display: block; font-size: 13px; margin: 3px 0; }
#rp-overlay .rp-ip-news i { font-size: 10px; color: var(--ip-mut); font-style: normal; }

/* jauges santé */
#rp-overlay .rp-ip-hb { display: flex; align-items: center; gap: 8px; margin: 10px 0; font-size: 12px; }
#rp-overlay .rp-ip-hb span { width: 60px; color: var(--ip-mut); }
#rp-overlay .rp-ip-hb b { width: 30px; text-align: right; }
#rp-overlay .rp-ip-hbar { flex: 1; height: 8px; background: var(--ip-line); border-radius: 5px; overflow: hidden; }
#rp-overlay .rp-ip-hbar i { display: block; height: 100%; }

/* interrupteur iOS */
#rp-overlay .rp-ip-sw { position: relative; width: 44px; height: 26px; }
#rp-overlay .rp-ip-sw input { opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
#rp-overlay .rp-ip-sw i {
  position: absolute; inset: 0; background: #c7ccd4; border-radius: 14px; transition: background .15s; pointer-events: none;
}
#rp-overlay .rp-ip-sw i::after {
  content: ''; position: absolute; top: 2px; left: 2px; width: 22px; height: 22px; border-radius: 50%;
  background: #fff; transition: transform .15s; box-shadow: 0 1px 3px rgba(0,0,0,.3);
}
#rp-overlay .rp-ip-sw input:checked + i { background: #34c759; }
#rp-overlay .rp-ip-sw input:checked + i::after { transform: translateX(18px); }

/* ===== Téléphone · application Messages ===== */
/* l'app Messages est TOUJOURS sombre (comme les maquettes), quel que soit le thème du téléphone */
#rp-overlay .rp-msg {
  --ip-bg: #0b0f17; --ip-fg: #e8ebf1; --ip-mut: #7b8494; --ip-card: #161c28; --ip-line: #232b3a;
  position: absolute; inset: 0; display: flex; flex-direction: column; min-height: 0;
  background: linear-gradient(178deg, #0b1120 0%, #0a0e18 60%); color: #e8ebf1;
}
#rp-overlay .rp-msg input, #rp-overlay .rp-msg h1, #rp-overlay .rp-msg h2, #rp-overlay .rp-msg b,
#rp-overlay .rp-msg time, #rp-overlay .rp-msg span, #rp-overlay .rp-msg p { color: var(--ip-fg); }
#rp-overlay .rp-msg .rp-msg-mut, #rp-overlay .rp-msg-r1 time, #rp-overlay .rp-msg-r2 span,
#rp-overlay .rp-msg-srow span, #rp-overlay .rp-msg-thn span { color: var(--ip-mut); }

#rp-overlay .rp-msg-hd { position: relative; display: flex; align-items: center; gap: 12px; padding: 48px 18px 8px; flex: 0 0 auto; }
#rp-overlay .rp-msg-hi { width: 34px; height: 34px; border-radius: 9px; background: center/contain no-repeat; filter: drop-shadow(0 2px 4px rgba(0,0,0,.35)); flex: 0 0 auto; }
#rp-overlay .rp-msg-hd h1 { flex: 1; margin: 0; font-size: 25px; font-weight: 800; letter-spacing: -.5px; }
#rp-overlay .rp-msg-more { flex: 0 0 auto; min-width: 40px; height: 40px; padding: 0 10px; border: 0; border-radius: 12px; background: var(--ip-blue); color: #fff !important; font-size: 15px; font-weight: 700; cursor: pointer; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 12px rgba(47,107,255,.4); }
#rp-overlay .rp-msg-menu { position: absolute; right: 18px; top: 90px; z-index: 9; min-width: 200px; background: var(--ip-card); border: 1px solid var(--ip-line); border-radius: 12px; overflow: hidden; box-shadow: 0 12px 34px rgba(0,0,0,.5); }
#rp-overlay .rp-msg-menu button { display: block; width: 100%; text-align: left; padding: 11px 14px; background: none; border: 0; border-bottom: 1px solid var(--ip-line); color: var(--ip-fg); font-size: 13px; cursor: pointer; }
#rp-overlay .rp-msg-menu button:last-child { border-bottom: 0; }
#rp-overlay .rp-msg-menu button:active { background: rgba(127,127,127,.14); }

#rp-overlay .rp-msg-search { flex: 0 0 auto; position: relative; margin: 6px 16px 8px; }
#rp-overlay .rp-msg-search svg { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); width: 17px; height: 17px; fill: var(--ip-mut); pointer-events: none; }
#rp-overlay .rp-msg-search input { width: 100%; border: 1px solid var(--ip-line); border-radius: 14px; background: #0e1728; padding: 11px 12px 11px 36px; font-size: 14px; color: var(--ip-fg); outline: none; }
#rp-overlay .rp-msg-search input::placeholder { color: var(--ip-mut); }

#rp-overlay .rp-msg-segs { flex: 0 0 auto; display: flex; gap: 6px; margin: 0 16px 8px; }
#rp-overlay .rp-msg-seg { flex: 1; padding: 8px 0; border: 1px solid var(--ip-line); border-radius: 11px; background: transparent; color: var(--ip-mut); font-size: 13px; font-weight: 600; cursor: pointer; }
#rp-overlay .rp-msg-seg.on { background: var(--ip-blue); border-color: var(--ip-blue); color: #fff !important; }

#rp-overlay .rp-msg-list { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 2px 12px 96px; }
#rp-overlay .rp-msg-card { display: flex; align-items: center; gap: 13px; padding: 11px 12px; border: 1px solid #1e2b45; border-radius: 16px; margin-bottom: 9px; cursor: pointer; background: #101a2e; }
#rp-overlay .rp-msg-card:active { transform: scale(.985); }
#rp-overlay .rp-msg-card.unread { background: #12213c; border-color: #2f6bff55; }

#rp-overlay .rp-msg-avwrap { position: relative; flex: 0 0 auto; width: 52px; height: 52px; }
#rp-overlay .rp-msg-avwrap.sm { width: 38px; height: 38px; }
#rp-overlay .rp-msg-avwrap.sm2 { width: 44px; height: 44px; }
#rp-overlay .rp-msg-avwrap.big { width: 108px; height: 108px; margin: 0 auto; }
#rp-overlay .rp-msg-on { position: absolute; right: -1px; bottom: -1px; width: 14px; height: 14px; border-radius: 50%; background: #2ec26b; border: 2.5px solid #0b1120; }
#rp-overlay .rp-msg-avwrap.big .rp-msg-on { width: 22px; height: 22px; border-width: 4px; }
#rp-overlay .rp-msg-av { width: 100%; height: 100%; border-radius: 50%; position: relative; background: var(--c,#33405c); color: #fff !important; overflow: hidden; box-shadow: inset 0 0 0 2px rgba(255,255,255,.08); }
#rp-overlay .rp-msg-av span { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 17px; font-weight: 800; letter-spacing: .5px; }
#rp-overlay .rp-msg-avwrap.sm .rp-msg-av span, #rp-overlay .rp-msg-thd .rp-msg-av span { font-size: 13px; }
#rp-overlay .rp-msg-avwrap.big .rp-msg-av span { font-size: 34px; }
#rp-overlay .rp-msg-av img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center -2px; image-rendering: pixelated; background: var(--c); }
#rp-overlay .rp-msg-av.svc { display: flex; align-items: center; justify-content: center; background: var(--c); }
#rp-overlay .rp-msg-av.svc i { width: 60%; height: 60%; background: center/contain no-repeat; filter: drop-shadow(0 1px 2px rgba(0,0,0,.4)); }
#rp-overlay .rp-msg-av.grp { display: flex; align-items: center; justify-content: center; background: var(--c); color: #fff !important; }
#rp-overlay .rp-msg-av.grp svg { display: block; }
#rp-overlay .rp-msg-r1 b svg { vertical-align: -1px; opacity: .6; }
#rp-overlay .rp-msg-gmem { display: flex; flex-wrap: wrap; gap: 5px; padding: 4px 2px 10px; justify-content: center; }
#rp-overlay .rp-msg-gmem span { font-size: 10.5px; background: rgba(127,127,127,.16); color: var(--ip-mut); padding: 3px 9px; border-radius: 20px; }
#rp-overlay .rp-msg-gsender { display: block; font-size: 10.5px; font-weight: 800; font-style: normal; opacity: .7; margin-bottom: 2px; }
#rp-overlay .rp-msg-gname { padding: 8px 2px 4px; }
#rp-overlay .rp-msg-gname input { width: 100%; background: var(--ip-card); border: 1px solid var(--ip-line); border-radius: 12px; padding: 11px 13px; font-size: 15px; color: var(--ip-fg); outline: none; }
#rp-overlay .rp-msg-gname input:focus { border-color: var(--ip-blue); }

#rp-overlay .rp-msg-cb { flex: 1; min-width: 0; }
#rp-overlay .rp-msg-r1 { display: flex; align-items: baseline; gap: 8px; }
#rp-overlay .rp-msg-r1 b { flex: 1; min-width: 0; font-size: 16px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#rp-overlay .rp-msg-r1 time { flex: 0 0 auto; font-size: 12px; color: var(--ip-mut); }
#rp-overlay .rp-msg-r2 { display: flex; align-items: center; gap: 8px; margin-top: 3px; }
#rp-overlay .rp-msg-r2 span { flex: 1; min-width: 0; font-size: 13px; color: var(--ip-mut); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#rp-overlay .rp-msg-card.unread .rp-msg-r2 span { color: var(--ip-fg); }
#rp-overlay .rp-msg-badge { flex: 0 0 auto; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 7px; background: var(--ip-blue); color: #fff !important; font-size: 12px; font-weight: 800; font-style: normal; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 6px rgba(47,107,255,.45); }

#rp-overlay .rp-msg-fab { position: absolute; right: 16px; bottom: 74px; z-index: 8; display: inline-flex; align-items: center; gap: 8px; border: 0; border-radius: 26px; padding: 12px 18px 12px 14px; background: var(--ip-blue); color: #fff !important; font-size: 14px; font-weight: 700; cursor: pointer; box-shadow: 0 10px 26px rgba(47,107,255,.5); }
#rp-overlay .rp-msg-fab svg { width: 18px; height: 18px; fill: #fff; }
#rp-overlay .rp-msg-fab:active { transform: translateY(1px); }

#rp-overlay .rp-msg-tabs { flex: 0 0 auto; display: flex; border-top: 1px solid var(--ip-line); padding-bottom: 16px; background: #0a0f1b; }
#rp-overlay .rp-msg-tabs button { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 8px 0 4px; background: none; border: 0; cursor: pointer; color: #7b8494; }
#rp-overlay .rp-msg-tabs button svg { display: block; }
#rp-overlay .rp-msg-tabs button span { font-size: 11px; font-weight: 600; color: inherit; }
#rp-overlay .rp-msg-tabs button.on { color: var(--ip-blue); }

/* ---- conversation ---- */
#rp-overlay .rp-msg-thd { flex: 0 0 auto; display: flex; align-items: center; gap: 10px; padding: 46px 12px 10px; border-bottom: 1px solid var(--ip-line); }
#rp-overlay .rp-msg-tback { flex: 0 0 auto; width: 30px; height: 34px; border: 0; background: none; color: var(--ip-blue); font-size: 28px; line-height: 1; cursor: pointer; }
#rp-overlay .rp-msg-thn { flex: 1; min-width: 0; }
#rp-overlay .rp-msg-thn b { display: block; font-size: 16px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#rp-overlay .rp-msg-thn span { display: flex; align-items: center; gap: 5px; font-size: 11px; color: var(--ip-mut); }
#rp-overlay .rp-msg-thn span .dot { width: 7px; height: 7px; border-radius: 50%; background: #2ec26b; }
#rp-overlay .rp-msg-tact { flex: 0 0 auto; width: 38px; height: 38px; border: 0; border-radius: 11px; background: var(--ip-blue); color: #fff !important; font-size: 16px; cursor: pointer; }

#rp-overlay .rp-msg-chatwrap { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 12px 12px 6px; display: flex; flex-direction: column; gap: 3px; }
#rp-overlay .rp-msg-daydiv { text-align: center; margin: 10px 0 6px; }
#rp-overlay .rp-msg-daydiv span { font-size: 11px; color: var(--ip-mut); background: rgba(127,127,127,.14); padding: 3px 12px; border-radius: 10px; }
#rp-overlay .rp-msg-blocked { text-align: center; font-size: 12px; color: #ff8a8a; padding: 8px; }
#rp-overlay .rp-msg-brow { display: flex; align-items: flex-end; gap: 7px; margin-top: 4px; }
#rp-overlay .rp-msg-brow.out { justify-content: flex-end; }
#rp-overlay .rp-msg-bav { flex: 0 0 auto; width: 28px; height: 28px; }
#rp-overlay .rp-msg-bav .rp-msg-av span { font-size: 10px; }
#rp-overlay .rp-msg-bub { max-width: 74%; font-size: 14px; line-height: 1.35; padding: 9px 12px; border-radius: 16px; background: #16233c; border: 1px solid #22314e; }
#rp-overlay .rp-msg-brow.out .rp-msg-bub { background: var(--ip-blue); border-color: var(--ip-blue); color: #fff; }
#rp-overlay .rp-msg-bub i { display: block; font-size: 9px; opacity: .6; font-style: normal; margin-top: 3px; text-align: right; }
#rp-overlay .rp-msg-rr { font-style: normal; margin-left: 4px; opacity: .8; }
#rp-overlay .rp-msg-rr.rd { color: #bcd4ff; opacity: 1; }

#rp-overlay .rp-msg-compose { flex: 0 0 auto; display: flex; align-items: center; gap: 7px; padding: 8px 10px 18px; border-top: 1px solid #232b3a; background: #0a0f1b; }
#rp-overlay .rp-msg-emoji { flex: 0 0 auto; width: 34px; height: 34px; border: 0; border-radius: 50%; background: rgba(255,255,255,.1); color: #e8ebf1 !important; font-size: 17px; cursor: pointer; }
#rp-overlay .rp-msg-emoji.on { background: var(--ip-blue); color: #fff !important; }
#rp-overlay .rp-msg-input { flex: 1; min-width: 0; border: 1px solid #2a3550; border-radius: 20px; background: #10192b; padding: 9px 14px; font-size: 14px; color: #eef2fb !important; outline: none; caret-color: #eef2fb; }
#rp-overlay .rp-msg-input::placeholder { color: #6f7c93; }
#rp-overlay .rp-msg-input:focus { border-color: var(--ip-blue); }
#rp-overlay .rp-msg-input:disabled { opacity: .5; }
#rp-overlay .rp-msg-mic { flex: 0 0 auto; width: 36px; height: 36px; border: 0; border-radius: 50%; background: rgba(255,255,255,.1); cursor: pointer; display: flex; align-items: center; justify-content: center; }
#rp-overlay .rp-msg-mic svg { width: 18px; height: 18px; fill: #e8ebf1; }
#rp-overlay .rp-msg-send { flex: 0 0 auto; width: 38px; height: 38px; border: 0; border-radius: 50%; background: var(--ip-blue); cursor: pointer; display: flex; align-items: center; justify-content: center; }
#rp-overlay .rp-msg-send svg { width: 16px; height: 16px; fill: #fff; }
#rp-overlay .rp-msg-send:disabled { opacity: .4; }

/* barre d'enregistrement vocal */
#rp-overlay .rp-msg-recbar { flex: 1; display: flex; align-items: center; gap: 10px; padding: 4px 6px; }
#rp-overlay .rp-msg-recdot { width: 12px; height: 12px; border-radius: 50%; background: #ff453a; animation: rpblink 1s steps(2) infinite; }
@keyframes rpblink { 50% { opacity: .25; } }
#rp-overlay .rp-msg-rectime { font-size: 14px; font-weight: 700; color: #e8ebf1 !important; min-width: 42px; }
#rp-overlay .rp-msg-recwave { flex: 1; font-size: 12px; color: #7b8494; }
#rp-overlay .rp-msg-reccancel, #rp-overlay .rp-msg-recsend { width: 36px; height: 36px; border: 0; border-radius: 50%; cursor: pointer; font-size: 15px; }
#rp-overlay .rp-msg-reccancel { background: rgba(255,255,255,.12); color: #e8ebf1 !important; }
#rp-overlay .rp-msg-recsend { background: var(--ip-blue); color: #fff !important; }

/* bulle vocale */
#rp-overlay .rp-msg-bub.voice { padding: 6px 8px; }
#rp-overlay .rp-msg-voice audio { display: block; height: 34px; max-width: 190px; }
#rp-overlay .rp-msg-bub.voice audio::-webkit-media-controls-panel { background: transparent; }

/* palette emoji */
#rp-overlay .rp-emoji-pop { flex: 0 0 auto; height: 232px; display: flex; flex-direction: column; border-top: 1px solid #232b3a; background: #0a0f1b; }
#rp-overlay .rp-emoji-cats { flex: 0 0 auto; display: flex; gap: 2px; padding: 6px 8px; border-bottom: 1px solid #1a2334; overflow-x: auto; }
#rp-overlay .rp-emoji-cat { flex: 0 0 auto; width: 32px; height: 30px; border: 0; border-radius: 8px; background: transparent; font-size: 17px; cursor: pointer; opacity: .55; }
#rp-overlay .rp-emoji-cat.on { background: rgba(255,255,255,.1); opacity: 1; }
#rp-overlay .rp-emoji-grid { flex: 1; overflow-y: auto; display: grid; grid-template-columns: repeat(8, 1fr); gap: 2px; padding: 8px; }
#rp-overlay .rp-emoji-b { border: 0; background: transparent; font-size: 22px; line-height: 1; padding: 4px 0; cursor: pointer; border-radius: 8px; }
#rp-overlay .rp-emoji-b:active { background: rgba(255,255,255,.12); }

/* ---- composition ---- */
#rp-overlay .rp-msg-pick { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid #1e2b45; border-radius: 14px; margin-bottom: 8px; cursor: pointer; background: #101a2e; }
#rp-overlay .rp-msg-pick.on { border-color: var(--ip-blue); background: #12213c; }
#rp-overlay .rp-msg-pick .rp-msg-av { width: 44px; height: 44px; }
#rp-overlay .rp-msg-chk { flex: 0 0 auto; width: 24px; height: 24px; border-radius: 7px; border: 2px solid var(--ip-line); display: flex; align-items: center; justify-content: center; font-size: 14px; color: #fff; }
#rp-overlay .rp-msg-pick.on .rp-msg-chk { background: var(--ip-blue); border-color: var(--ip-blue); }
#rp-overlay .rp-msg-cfoot { flex: 0 0 auto; display: flex; align-items: center; justify-content: space-between; padding: 12px 16px 20px; border-top: 1px solid var(--ip-line); }
#rp-overlay .rp-msg-cfoot span { font-size: 13px; color: var(--ip-mut); }
#rp-overlay .rp-msg-next { border: 0; border-radius: 12px; background: var(--ip-blue); color: #fff !important; font-size: 14px; font-weight: 700; padding: 10px 20px; cursor: pointer; }
#rp-overlay .rp-msg-next:disabled { opacity: .4; }

/* ---- détails ---- */
#rp-overlay .rp-msg-dscroll { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 16px 16px 30px; }
#rp-overlay .rp-msg-dhead { text-align: center; margin-bottom: 18px; }
#rp-overlay .rp-msg-dhead h2 { margin: 12px 0 2px; font-size: 21px; font-weight: 800; }
#rp-overlay .rp-msg-dhead p { margin: 0; font-size: 13px; color: var(--ip-mut); }
#rp-overlay .rp-msg-dhead p.onl { color: #2ec26b; }
#rp-overlay .rp-msg-dhead p.sub { margin-top: 4px; font-size: 12px; }
#rp-overlay .rp-msg-dhead p.sub { margin-top: 5px; font-size: 12px; display: flex; align-items: center; justify-content: center; gap: 4px; }
#rp-overlay .rp-msg-dacts { display: flex; gap: 7px; margin-bottom: 16px; }
#rp-overlay .rp-msg-dacts button { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 12px 2px; border: 1px solid var(--ip-line); border-radius: 14px; background: #101a2e; color: var(--ip-blue); font-size: 10.5px; font-weight: 600; cursor: pointer; }
#rp-overlay .rp-msg-dacts button.danger { color: #ff6b6b; }
#rp-overlay .rp-msg-dacts button.star { color: #ffc132; }
#rp-overlay .rp-msg-dacts button svg { display: block; }

#rp-overlay .rp-msg-dmedia { margin-bottom: 12px; }
#rp-overlay .rp-msg-dmh { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
#rp-overlay .rp-msg-dmh b { font-size: 15px; font-weight: 700; }
#rp-overlay .rp-msg-seeall { border: 0; background: none; color: var(--ip-blue); font-size: 13px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 2px; }
#rp-overlay .rp-msg-mstrip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
#rp-overlay .rp-msg-mth { aspect-ratio: 1; border-radius: 10px; background: #16233c center/cover no-repeat; cursor: pointer; }

#rp-overlay .rp-msg-drow { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; text-align: left; padding: 13px 14px; border: 1px solid var(--ip-line); border-radius: 14px; margin-bottom: 10px; background: #101a2e; font-size: 14px; color: var(--ip-fg); cursor: default; }
#rp-overlay .rp-msg-drow.act { cursor: pointer; }
#rp-overlay .rp-msg-drow > span { flex: 1; min-width: 0; display: flex; align-items: center; gap: 8px; color: var(--ip-fg); }
#rp-overlay .rp-msg-drow > span svg { flex: 0 0 auto; opacity: .8; }
#rp-overlay .rp-msg-drow em { color: var(--ip-mut); font-size: 12px; font-style: normal; margin-left: 2px; display: block; margin-top: 2px; }
#rp-overlay .rp-msg-drow > span em { display: block; }
#rp-overlay .rp-msg-drow b { color: var(--ip-mut); font-weight: 600; }
#rp-overlay .rp-msg-drow svg { color: var(--ip-mut); }
#rp-overlay .rp-msg-dclear { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; padding: 13px; border: 1px solid #5a2733; border-radius: 14px; background: rgba(255,90,90,.08); color: #ff6b6b !important; font-size: 14px; font-weight: 700; cursor: pointer; }

/* grille médias (Voir tout) */
#rp-overlay .rp-msg-mgrid { flex: 1 1 auto; min-height: 0; overflow-y: auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; padding: 10px; align-content: start; }
#rp-overlay .rp-msg-mgi { aspect-ratio: 1; border-radius: 6px; background: #16233c center/cover no-repeat; cursor: pointer; }

/* recherche dans la conversation */
#rp-overlay .rp-msg-sres { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-bottom: 1px solid var(--ip-line); cursor: pointer; }
#rp-overlay .rp-msg-sres .rp-msg-r2 { flex: 1; }
#rp-overlay .rp-msg-sres time { font-size: 11px; color: var(--ip-mut); }

/* bulle photo + bouton photo + capture/lightbox */
#rp-overlay .rp-msg-bub.photo { padding: 3px; background: #16233c; max-width: 66%; }
#rp-overlay .rp-msg-brow.out .rp-msg-bub.photo { background: #1b3a6b; }
#rp-overlay .rp-msg-photo { display: block; width: 100%; max-width: 100%; height: auto; max-height: 300px; object-fit: cover; border-radius: 12px; cursor: pointer; }
#rp-overlay .rp-msg-bub.photo i { padding: 2px 6px 4px; }
#rp-overlay .rp-msg-bub.photo.draft { background: #241a2e; border: 1px dashed #6a4d8a; }
#rp-overlay .rp-msg-draftbar { display: flex; align-items: center; gap: 6px; padding: 6px 4px 3px; }
#rp-overlay .rp-msg-draftbar span { flex: 1; font-size: 11px; color: #c9a9ff; font-weight: 700; text-transform: uppercase; letter-spacing: .4px; }
#rp-overlay .rp-msg-draftbar button { border: 0; border-radius: 9px; font-size: 12px; font-weight: 700; padding: 6px 12px; cursor: pointer; }
#rp-overlay .rp-msg-draftbar .dd { background: rgba(255,255,255,.14); color: #e8ebf1 !important; }
#rp-overlay .rp-msg-draftbar .ds { background: var(--ip-blue); color: #fff !important; }
#rp-overlay .rp-msg-photo-b { flex: 0 0 auto; width: 34px; height: 34px; border: 0; border-radius: 50%; background: rgba(255,255,255,.1); color: #e8ebf1 !important; cursor: pointer; display: flex; align-items: center; justify-content: center; }

/* ---- réglages ---- */
#rp-overlay .rp-msg.settings .rp-msg-list { padding: 6px 16px 96px; }
#rp-overlay .rp-msg-sect { font-size: 11px; font-weight: 800; letter-spacing: .4px; text-transform: uppercase; color: var(--ip-mut); padding: 16px 2px 8px; }
#rp-overlay .rp-msg-srow { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid var(--ip-line); border-radius: 14px; margin-bottom: 8px; background: #101a2e; }
#rp-overlay .rp-msg-srow > div { flex: 1; min-width: 0; }
#rp-overlay .rp-msg-srow b { display: block; font-size: 14px; font-weight: 700; }
#rp-overlay .rp-msg-srow span { display: block; font-size: 11.5px; color: var(--ip-mut); margin-top: 2px; }

#rp-overlay .rp-msg-more svg, #rp-overlay .rp-msg-tact svg { display: block; }
#rp-overlay .rp-ph-lbox { position: absolute; inset: 13px; z-index: 40; border-radius: 42px; overflow: hidden; background: rgba(3,6,12,.92); display: flex; align-items: center; justify-content: center; padding: 22px; }
#rp-overlay .rp-ph-lbox img { max-width: 100%; max-height: 100%; border-radius: 12px; }
#rp-overlay .rp-ph-lbox .lbx { position: absolute; top: 16px; right: 16px; width: 34px; height: 34px; border: 0; border-radius: 50%; background: rgba(255,255,255,.9); color: #111 !important; font-size: 15px; font-weight: 700; cursor: pointer; }
/* ===== Téléphone · application Contacts (réutilise .rp-msg-*) ===== */
#rp-overlay .rp-ct-card { display: flex; align-items: center; gap: 13px; padding: 11px 12px; border: 1px solid #1e2b45; border-radius: 16px; margin-bottom: 9px; background: #101a2e; }
#rp-overlay .rp-ct-card.pick { cursor: pointer; }
#rp-overlay .rp-ct-card.pick:active { transform: scale(.985); }
#rp-overlay .rp-ct-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 6px; vertical-align: middle; background: #7b8494; }
#rp-overlay .rp-ct-dot.on { background: #2ec26b; }
#rp-overlay .rp-ct-dot.busy { background: #ffb02e; }
#rp-overlay .rp-ct-dot.svc { background: #2f6bff; }
#rp-overlay .rp-ct-acts { flex: 0 0 auto; display: flex; gap: 7px; }
#rp-overlay .rp-ct-act { width: 38px; height: 38px; border: 0; border-radius: 11px; background: var(--ip-blue); color: #fff !important; cursor: pointer; display: flex; align-items: center; justify-content: center; box-shadow: 0 3px 10px rgba(47,107,255,.4); }
#rp-overlay .rp-ct-act svg { display: block; }
#rp-overlay .rp-ct-act.star { background: rgba(255,255,255,.08); color: #7b8494 !important; box-shadow: none; }
#rp-overlay .rp-ct-act.star.on { background: rgba(255,193,50,.16); color: #ffc132 !important; }
#rp-overlay .rp-ct-act.dis { background: rgba(255,255,255,.08); color: #55627a !important; box-shadow: none; cursor: default; }
#rp-overlay .rp-ct-arr { flex: 0 0 auto; color: var(--ip-mut); }
#rp-overlay .rp-ct-hint { flex: 0 0 auto; padding: 4px 18px 10px; font-size: 12px; color: var(--ip-mut); }
#rp-overlay .rp-msg.contacts-share .rp-msg-sect { padding: 14px 2px 6px; }

/* prompt « partage de contact » entrant */
#rp-overlay .rp-ct-inpop { position: absolute; inset: 13px; border-radius: 42px; z-index: 20; background: rgba(4,7,14,.72); display: flex; align-items: center; justify-content: center; padding: 26px; }
#rp-overlay .rp-ct-inbox { width: 100%; max-width: 250px; background: #141c2c; border: 1px solid #2a3550; border-radius: 20px; padding: 20px 18px; text-align: center; box-shadow: 0 20px 50px rgba(0,0,0,.6); }
#rp-overlay .rp-ct-inbox b { display: block; font-size: 17px; font-weight: 800; color: #e8ebf1; }
#rp-overlay .rp-ct-inbox p { margin: 4px 0 16px; font-size: 13px; color: #7b8494; }
#rp-overlay .rp-ct-inbtns { display: flex; gap: 10px; }
#rp-overlay .rp-ct-inbtns button { flex: 1; padding: 11px; border: 0; border-radius: 12px; font-size: 14px; font-weight: 700; cursor: pointer; }
#rp-overlay .rp-ct-inbtns .dec { background: rgba(255,255,255,.12); color: #e8ebf1 !important; }
#rp-overlay .rp-ct-inbtns .acc { background: var(--ip-blue); color: #fff !important; }

/* ===== Application Téléphone (appels) ===== */
#rp-overlay .rp-call-dial { flex: 0 0 auto; display: flex; gap: 8px; padding: 4px 16px 8px; }
#rp-overlay .rp-call-in { flex: 1; min-width: 0; background: #101a2e; border: 1px solid #22314e; border-radius: 12px; padding: 11px 14px; font-size: 15px; color: var(--ip-fg); outline: none; }
#rp-overlay .rp-call-in::placeholder { color: var(--ip-mut); }
#rp-overlay .rp-call-in:focus { border-color: var(--ip-blue); }
#rp-overlay .rp-call-go { flex: 0 0 auto; width: 46px; border: 0; border-radius: 12px; background: #2ec26b; color: #fff !important; cursor: pointer; display: flex; align-items: center; justify-content: center; box-shadow: 0 3px 10px rgba(46,194,107,.4); }
#rp-overlay .rp-call-go svg { display: block; }
#rp-overlay .rp-call-dir { display: inline-flex; align-items: center; gap: 1px; margin-right: 5px; vertical-align: middle; }
#rp-overlay .rp-call-dir svg { display: inline-block; }
#rp-overlay .rp-call-dir.in { color: #2ec26b; }
#rp-overlay .rp-call-dir.out { color: var(--ip-mut); }
#rp-overlay .rp-call-dir.miss { color: #ff5a5f; }
#rp-overlay .rp-msg-r1 b.rp-call-missname { color: #ff5a5f; }
#rp-overlay .rp-ct-card[data-cacall] { cursor: pointer; }
#rp-overlay .rp-ct-card[data-cacall]:active { transform: scale(.985); }
#rp-overlay .rp-ct-card .rp-ct-act { background: #2ec26b; box-shadow: 0 3px 10px rgba(46,194,107,.4); }

/* écran d'appel plein téléphone */
#rp-overlay .rp-callscreen { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; padding: 56px 24px 40px; background: linear-gradient(180deg, #0c1424 0%, #060a12 100%); }
#rp-overlay .rp-call-top { text-align: center; margin-top: 12px; }
#rp-overlay .rp-call-top span { display: block; font-size: 27px; font-weight: 800; letter-spacing: -.5px; color: #f2f5fa; }
#rp-overlay .rp-call-top b { display: block; margin-top: 7px; font-size: 15px; font-weight: 500; color: #8b93a6; }
#rp-overlay .rp-call-hint { flex: 0 0 auto; font-size: 11.5px; line-height: 1.45; color: #5c6780; text-align: center; margin-bottom: 22px; max-width: 240px; }
#rp-overlay .rp-call-face { margin: auto 0; width: 120px; height: 120px; }
#rp-overlay .rp-call-face .rp-msg-av { width: 120px; height: 120px; border-radius: 50%; box-shadow: 0 16px 44px rgba(0,0,0,.5); }
#rp-overlay .rp-call-face .rp-msg-av span { font-size: 42px; }
#rp-overlay .rp-call-actions { flex: 0 0 auto; display: flex; justify-content: center; gap: 64px; }
#rp-overlay .rp-call-btn { width: 66px; height: 66px; border: 0; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; color: #fff !important; box-shadow: 0 10px 26px rgba(0,0,0,.45); }
#rp-overlay .rp-call-btn svg { display: block; }
#rp-overlay .rp-call-btn.pick { background: #2ec26b; }
#rp-overlay .rp-call-btn.hang { background: #ff3b30; }
#rp-overlay .rp-call-btn.hang svg { transform: rotate(135deg); }

/* barre d'appel minimisée — flottante, laisse le chat de la salle utilisable */
#rp-callbar { position: absolute; top: 12px; left: 50%; transform: translateX(-50%); z-index: 2147483400; pointer-events: none; }
#rp-callbar .rp-cbar { pointer-events: auto; display: flex; align-items: center; gap: 10px; padding: 7px 9px 7px 8px;
  background: rgba(12,18,32,.94); border: 1px solid #2a3550; border-radius: 40px;
  box-shadow: 0 10px 30px rgba(0,0,0,.55); backdrop-filter: blur(6px); min-width: 236px; }
#rp-callbar .rp-cbar.incoming { border-color: #2ec26b; animation: rp-cbar-pulse 1.1s ease-in-out infinite; }
@keyframes rp-cbar-pulse { 0%,100% { box-shadow: 0 10px 30px rgba(0,0,0,.55); } 50% { box-shadow: 0 10px 30px rgba(46,194,107,.5); } }
#rp-callbar .rp-cbar-av { width: 34px; height: 34px; flex: 0 0 auto; }
#rp-callbar .rp-cbar-av .rp-msg-av { width: 34px; height: 34px; }
#rp-callbar .rp-cbar-av .rp-msg-av span { font-size: 12px; }
#rp-callbar .rp-cbar-tx { flex: 1; min-width: 0; line-height: 1.2; }
#rp-callbar .rp-cbar-tx b { display: block; font-size: 13px; font-weight: 700; color: #eef1f6; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#rp-callbar .rp-cbar-sub { font-size: 11px; color: #8b93a6; }
#rp-callbar .rp-cbar-acts { flex: 0 0 auto; display: flex; gap: 6px; }
#rp-callbar .rp-cbar-b { width: 32px; height: 32px; border: 0; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; color: #fff !important; }
#rp-callbar .rp-cbar-b svg { display: block; }
#rp-callbar .rp-cbar-b.exp { background: rgba(255,255,255,.14); }
#rp-callbar .rp-cbar-b.pick { background: #2ec26b; }
#rp-callbar .rp-cbar-b.hang { background: #ff3b30; }
#rp-callbar .rp-cbar-b.hang svg { transform: rotate(135deg); }
#rp-callbar .rp-cbar-lines { margin-top: 7px; display: flex; flex-direction: column; gap: 5px; align-items: center; }
#rp-callbar .rp-cbar-line { pointer-events: auto; max-width: 300px; background: rgba(12,18,32,.92); border: 1px solid #2a3550; border-radius: 13px; padding: 6px 12px; font-size: 12px; color: #dfe4ec; box-shadow: 0 6px 18px rgba(0,0,0,.4); transition: opacity .4s; }

/* ===== Application Banque / Bourse ===== */
#rp-overlay .rp-bk { position: absolute; inset: 0; display: flex; flex-direction: column; background: var(--ip-bg); }
#rp-overlay .rp-bk * { color: var(--ip-fg); }
#rp-overlay .rp-bk-hd { flex: 0 0 auto; display: flex; align-items: center; gap: 10px; padding: 44px 14px 8px; }
#rp-overlay .rp-bk-hd b { flex: 1; text-align: center; font-size: 17px; font-weight: 800; }
#rp-overlay .rp-bk-back { width: 30px; height: 30px; border: 0; background: none; color: var(--ip-blue) !important; cursor: pointer; display: flex; align-items: center; justify-content: center; }
#rp-overlay .rp-bk-back svg { transform: rotate(180deg); display: block; }
#rp-overlay .rp-bk-hr { min-width: 30px; display: flex; justify-content: flex-end; }
#rp-overlay .rp-bk-scroll { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 4px 14px 90px; }

#rp-overlay .rp-bk-acct { display: flex; align-items: center; gap: 12px; background: var(--ip-card); border-radius: 16px; padding: 13px 14px; margin-bottom: 9px; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
#rp-overlay .rp-bk-acct[data-bkgo], #rp-overlay .rp-bk-acct[data-bkact] { cursor: pointer; }
#rp-overlay .rp-bk-acct span { font-size: 12px; color: var(--ip-mut); }
#rp-overlay .rp-bk-acct b { display: block; font-size: 19px; font-weight: 800; margin-top: 1px; }
#rp-overlay .rp-bk-acct.big b { font-size: 23px; }
#rp-overlay .rp-bk-acct > svg:last-child { margin-left: auto; color: var(--ip-mut); flex: 0 0 auto; }
#rp-overlay .rp-bk-ai { width: 38px; height: 38px; flex: 0 0 auto; border-radius: 11px; background: var(--ip-blue); color: #fff !important; display: flex; align-items: center; justify-content: center; }
#rp-overlay .rp-bk-ai.green { background: #25b36b; }
#rp-overlay .rp-bk-ai.violet { background: #8a63d2; }
#rp-overlay .rp-bk-ai svg { display: block; }

#rp-overlay .rp-bk-acct.ro { cursor: default; }
#rp-overlay .rp-bk-note.top { margin: 4px 4px 10px; text-align: left; }
#rp-overlay .rp-bk-quick { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 12px 0 6px; }
#rp-overlay .rp-bk-quick.two { grid-template-columns: repeat(2, 1fr); }
#rp-overlay .rp-bk-quick button { display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 12px 2px; border: 0; border-radius: 14px; background: var(--ip-card); color: var(--ip-blue) !important; font-size: 10.5px; font-weight: 700; cursor: pointer; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
#rp-overlay .rp-bk-quick button svg { display: block; }
#rp-overlay .rp-bk-quick button span { color: var(--ip-fg); }

#rp-overlay .rp-bk-sect { display: flex; align-items: center; justify-content: space-between; padding: 16px 4px 7px; }
#rp-overlay .rp-bk-sect b { font-size: 14px; font-weight: 800; }
#rp-overlay .rp-bk-see { border: 0; background: none; color: var(--ip-blue) !important; font-size: 12px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 2px; }
#rp-overlay .rp-bk-see svg { display: block; }

#rp-overlay .rp-bk-card { background: var(--ip-card); border-radius: 16px; overflow: hidden; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
#rp-overlay .rp-bk-card.one { margin-bottom: 7px; }
#rp-overlay .rp-bk-empty { padding: 22px 14px; text-align: center; font-size: 12.5px; color: var(--ip-mut); white-space: pre-line; }

#rp-overlay .rp-bk-mrow { display: flex; align-items: center; gap: 9px; padding: 10px 12px; border-bottom: 1px solid var(--ip-line); font-size: 13px; }
#rp-overlay .rp-bk-mrow:last-child { border-bottom: 0; }
#rp-overlay .rp-bk-mrow b { flex: 1; min-width: 0; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#rp-overlay .rp-bk-mrow > span { font-weight: 700; }
#rp-overlay .rp-bk-mrow i { font-size: 11px; font-style: normal; flex-basis: 100%; text-align: right; }
#rp-overlay .rp-bk-mrow i.pos, #rp-overlay .rp-bk-logo { }
#rp-overlay .rp-bk-logo { width: 30px; height: 30px; flex: 0 0 auto; border-radius: 8px; background: var(--c,#556); color: #fff !important; font-size: 11px; font-weight: 800; display: flex; align-items: center; justify-content: center; }

#rp-overlay .rp-bk-op { display: flex; align-items: center; gap: 11px; padding: 11px 12px; border-bottom: 1px solid var(--ip-line); }
#rp-overlay .rp-bk-op:last-child { border-bottom: 0; }
#rp-overlay .rp-bk-opi { width: 30px; height: 30px; flex: 0 0 auto; border-radius: 9px; background: rgba(120,130,150,.16); display: flex; align-items: center; justify-content: center; color: var(--ip-mut) !important; }
#rp-overlay .rp-bk-opi.pos { background: rgba(37,179,107,.16); color: #1f9d54 !important; }
#rp-overlay .rp-bk-opi.neg { background: rgba(224,69,75,.15); color: #d5373d !important; }
#rp-overlay .rp-bk-opi svg { display: block; }
#rp-overlay .rp-bk-opc { flex: 1; min-width: 0; }
#rp-overlay .rp-bk-opc b { display: block; font-size: 13.5px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#rp-overlay .rp-bk-opc span { font-size: 11.5px; color: var(--ip-mut); }
#rp-overlay .rp-bk-opa { text-align: right; flex: 0 0 auto; }
#rp-overlay .rp-bk-opa b { font-size: 13.5px; font-weight: 800; }
#rp-overlay .rp-bk-opa time { display: block; font-size: 10.5px; color: var(--ip-mut); }

#rp-overlay .pos { color: #1f9d54 !important; }
#rp-overlay .neg { color: #d5373d !important; }

#rp-overlay .rp-bk-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 14px; }
#rp-overlay .rp-bk-stats > div { background: var(--ip-card); border-radius: 14px; padding: 11px 10px; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
#rp-overlay .rp-bk-stats span { font-size: 10.5px; color: var(--ip-mut); }
#rp-overlay .rp-bk-stats b { display: block; font-size: 13px; font-weight: 800; margin-top: 3px; }

#rp-overlay .rp-bk-flabel { font-size: 12px; font-weight: 700; color: var(--ip-mut); padding: 14px 2px 7px; }
#rp-overlay .rp-bk-field { display: flex; align-items: center; gap: 9px; background: var(--ip-card); border-radius: 13px; padding: 11px 13px; margin-bottom: 8px; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
#rp-overlay .rp-bk-field svg { color: var(--ip-mut); flex: 0 0 auto; }
#rp-overlay .rp-bk-in { flex: 1; min-width: 0; border: 0; background: none; outline: none; font-size: 15px; color: var(--ip-fg) !important; }
#rp-overlay .rp-bk-in::placeholder { color: var(--ip-mut); }

#rp-overlay .rp-bk-favs { display: flex; gap: 10px; overflow-x: auto; padding: 2px 2px 4px; }
#rp-overlay .rp-bk-fav { flex: 0 0 auto; width: 66px; border: 0; background: none; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 5px; }
#rp-overlay .rp-bk-fav span { font-size: 10.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }

#rp-overlay .rp-bk-src { display: flex; gap: 8px; margin: 6px 0 12px; }
#rp-overlay .rp-bk-src button { flex: 1; display: flex; align-items: center; justify-content: center; gap: 5px; padding: 11px 6px; border: 1px solid var(--ip-line); border-radius: 13px; background: var(--ip-card); color: var(--ip-fg) !important; font-size: 11.5px; font-weight: 700; cursor: pointer; }
#rp-overlay .rp-bk-src button svg { color: var(--ip-mut); }
#rp-overlay .rp-bk-src button.on { border-color: var(--ip-blue); background: rgba(10,132,255,.1); color: var(--ip-blue) !important; }
#rp-overlay .rp-bk-src button.on svg { color: var(--ip-blue); }

#rp-overlay .rp-bk-cta { width: 100%; border: 0; border-radius: 14px; background: var(--ip-blue); color: #fff !important; font-size: 15px; font-weight: 800; padding: 14px; cursor: pointer; box-shadow: 0 8px 20px rgba(10,132,255,.35); }
#rp-overlay .rp-bk-cta.sell { background: #e0454b; box-shadow: 0 8px 20px rgba(224,69,75,.32); }
#rp-overlay .rp-bk-cta[disabled] { opacity: .45; box-shadow: none; cursor: default; }
#rp-overlay .rp-bk-note { font-size: 11px; color: var(--ip-mut); text-align: center; margin: 10px 4px 0; line-height: 1.45; }

#rp-overlay .rp-bk-mkt { background: var(--ip-card); border-radius: 16px; padding: 13px 14px; margin-bottom: 10px; border-left: 3px solid #8a63d2; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
#rp-overlay .rp-bk-mkt-t { display: flex; align-items: center; justify-content: space-between; }
#rp-overlay .rp-bk-mkt-t b { font-size: 15px; font-weight: 800; }
#rp-overlay .rp-bk-open { font-size: 11px; color: #1f9d54 !important; font-weight: 700; }
#rp-overlay .rp-bk-mkt-v { display: flex; gap: 18px; margin-top: 9px; }
#rp-overlay .rp-bk-mkt-v span { font-size: 10.5px; color: var(--ip-mut); }
#rp-overlay .rp-bk-mkt-v b { display: block; font-size: 15px; font-weight: 800; margin-top: 2px; }
#rp-overlay .rp-bk-pf { border: 0; background: rgba(10,132,255,.12); color: var(--ip-blue) !important; font-size: 11px; font-weight: 700; padding: 6px 10px; border-radius: 10px; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; }
#rp-overlay .rp-bk-pf svg { display: block; }

#rp-overlay .rp-bk-chips { display: flex; gap: 7px; padding: 4px 0 10px; overflow-x: auto; }
#rp-overlay .rp-bk-chips button { flex: 0 0 auto; padding: 7px 14px; border: 1px solid var(--ip-line); border-radius: 20px; background: var(--ip-card); color: var(--ip-fg) !important; font-size: 12px; font-weight: 700; cursor: pointer; }
#rp-overlay .rp-bk-chips button.on { background: var(--ip-blue); border-color: var(--ip-blue); color: #fff !important; }

#rp-overlay .rp-bk-srow { display: flex; align-items: center; gap: 10px; padding: 11px 12px; border-bottom: 1px solid var(--ip-line); cursor: pointer; }
#rp-overlay .rp-bk-srow:last-child { border-bottom: 0; }
#rp-overlay .rp-bk-sc { flex: 1; min-width: 0; }
#rp-overlay .rp-bk-sc b { display: block; font-size: 13.5px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#rp-overlay .rp-bk-sc span { font-size: 12px; color: var(--ip-mut); }
#rp-overlay .rp-bk-sp { text-align: right; flex: 0 0 auto; }
#rp-overlay .rp-bk-sp b { font-size: 12.5px; font-weight: 800; }
#rp-overlay .rp-bk-sp span { display: block; font-size: 10.5px; }
#rp-overlay .rp-bk-spark { width: 60px; height: 26px; flex: 0 0 auto; }
#rp-overlay .rp-bk-spark polyline { fill: none; stroke-width: 2; vector-effect: non-scaling-stroke; }
#rp-overlay .rp-bk-spark.pos polyline { stroke: #1f9d54; }
#rp-overlay .rp-bk-spark.neg polyline { stroke: #d5373d; }
#rp-overlay .rp-bk-star { width: 30px; height: 30px; flex: 0 0 auto; border: 0; background: none; cursor: pointer; color: #b9bfca !important; display: flex; align-items: center; justify-content: center; }
#rp-overlay .rp-bk-star.on { color: #ffb02e !important; }
#rp-overlay .rp-bk-star svg { display: block; }

#rp-overlay .rp-bk-stk-h { display: flex; align-items: center; gap: 12px; padding: 6px 2px 10px; }
#rp-overlay .rp-bk-stk-h b { font-size: 17px; font-weight: 800; }
#rp-overlay .rp-bk-stk-h span { font-size: 12px; color: var(--ip-mut); }
#rp-overlay .rp-bk-price { padding: 2px 2px 8px; }
#rp-overlay .rp-bk-price b { font-size: 30px; font-weight: 800; }
#rp-overlay .rp-bk-price i { display: block; font-style: normal; font-size: 13px; font-weight: 700; margin-top: 3px; }
#rp-overlay .rp-bk-tf { display: flex; gap: 6px; margin: 6px 0 10px; }
#rp-overlay .rp-bk-tf button { padding: 6px 14px; border: 0; border-radius: 9px; background: rgba(120,130,150,.14); color: var(--ip-fg) !important; font-size: 12px; font-weight: 700; cursor: pointer; }
#rp-overlay .rp-bk-tf button.on { background: var(--ip-blue); color: #fff !important; }
#rp-overlay .rp-bk-chartwrap { background: var(--ip-card); border-radius: 14px; padding: 8px; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
#rp-overlay .rp-bk-chart { width: 100%; height: 120px; display: block; }
#rp-overlay .rp-bk-chart polyline { fill: none; stroke-width: 2; vector-effect: non-scaling-stroke; }
#rp-overlay .rp-bk-chart polygon { stroke: none; }
#rp-overlay .rp-bk-chart.pos polyline { stroke: #1f9d54; } #rp-overlay .rp-bk-chart.pos polygon { fill: rgba(31,157,84,.13); }
#rp-overlay .rp-bk-chart.neg polyline { stroke: #d5373d; } #rp-overlay .rp-bk-chart.neg polygon { fill: rgba(213,55,61,.12); }

#rp-overlay .rp-bk-mini4 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 12px 0; }
#rp-overlay .rp-bk-mini4.three { grid-template-columns: repeat(3, 1fr); }
#rp-overlay .rp-bk-mini4 > div { background: var(--ip-card); border-radius: 12px; padding: 10px; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
#rp-overlay .rp-bk-mini4 span { font-size: 10.5px; color: var(--ip-mut); }
#rp-overlay .rp-bk-mini4 b { display: block; font-size: 13.5px; font-weight: 800; margin-top: 3px; }

#rp-overlay .rp-bk-bs { display: flex; gap: 8px; margin: 6px 0 12px; }
#rp-overlay .rp-bk-bs button { flex: 1; padding: 11px; border: 1px solid var(--ip-line); border-radius: 12px; background: var(--ip-card); color: var(--ip-fg) !important; font-size: 14px; font-weight: 800; cursor: pointer; }
#rp-overlay .rp-bk-bs button.on { background: var(--ip-blue); border-color: var(--ip-blue); color: #fff !important; }
#rp-overlay .rp-bk-bs button.on.sell { background: #e0454b; border-color: #e0454b; }
#rp-overlay .rp-bk-qty { display: flex; align-items: center; gap: 10px; padding: 10px 2px; }
#rp-overlay .rp-bk-qty > span { font-size: 13px; color: var(--ip-mut); }
#rp-overlay .rp-bk-step { display: flex; align-items: center; gap: 6px; margin-left: auto; }
#rp-overlay .rp-bk-step button { width: 32px; height: 32px; border: 1px solid var(--ip-line); border-radius: 9px; background: var(--ip-card); color: var(--ip-fg) !important; cursor: pointer; display: flex; align-items: center; justify-content: center; }
#rp-overlay .rp-bk-step input { width: 56px; text-align: center; border: 1px solid var(--ip-line); border-radius: 9px; padding: 7px 4px; background: var(--ip-card); color: var(--ip-fg) !important; font-size: 14px; font-weight: 700; }
#rp-overlay .rp-bk-kv { display: flex; align-items: baseline; justify-content: space-between; padding: 8px 2px; border-top: 1px solid var(--ip-line); }
#rp-overlay .rp-bk-kv.sm { font-size: 12px; color: var(--ip-mut); }
#rp-overlay .rp-bk-kv span { font-size: 13px; }
#rp-overlay .rp-bk-kv b { font-size: 15px; font-weight: 800; }
#rp-overlay .rp-bk-kv.sm b { font-size: 12.5px; font-weight: 700; }
#rp-overlay .rp-bk-budget { font-size: 12px; color: var(--ip-mut); display: flex; align-items: center; gap: 6px; padding: 10px 2px 12px; }
#rp-overlay .rp-bk-budget b { color: var(--ip-fg) !important; }

#rp-overlay .rp-bk-pfhead { background: var(--ip-card); border-radius: 16px; padding: 16px; text-align: center; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
#rp-overlay .rp-bk-pfhead span { font-size: 12px; color: var(--ip-mut); }
#rp-overlay .rp-bk-pfhead b { display: block; font-size: 26px; font-weight: 800; margin: 4px 0; }
#rp-overlay .rp-bk-pfhead i { font-style: normal; font-size: 13px; font-weight: 700; }
#rp-overlay .rp-bk-day { font-size: 12px; font-weight: 800; color: var(--ip-mut); padding: 12px 4px 6px; }

#rp-overlay .rp-bk-prof { display: flex; align-items: center; gap: 12px; background: var(--ip-card); border-radius: 16px; padding: 14px; margin-bottom: 10px; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
#rp-overlay .rp-bk-prof b { font-size: 16px; font-weight: 800; }
#rp-overlay .rp-bk-prof span { font-size: 12px; color: var(--ip-mut); }

#rp-overlay .rp-bk-tabs { flex: 0 0 auto; display: flex; border-top: 1px solid var(--ip-line); padding-bottom: 14px; background: var(--ip-card); }
#rp-overlay .rp-bk-tabs button { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 8px 0 4px; background: none; border: 0; cursor: pointer; color: var(--ip-mut) !important; }
#rp-overlay .rp-bk-tabs button svg { display: block; }
#rp-overlay .rp-bk-tabs button span { font-size: 10px; font-weight: 600; color: inherit !important; }
#rp-overlay .rp-bk-tabs button.on { color: var(--ip-blue) !important; }

/* ===== Application Santé ===== */
#rp-overlay .rp-hl { position: absolute; inset: 0; display: flex; flex-direction: column; background: var(--ip-bg); }
#rp-overlay .rp-hl * { color: var(--ip-fg); }
#rp-overlay .rp-hl-scroll { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 4px 14px 26px; }
#rp-overlay .rp-hl-gen { display: flex; align-items: center; gap: 12px; background: var(--ip-card); border-radius: 16px; padding: 14px; margin-bottom: 12px; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
#rp-overlay .rp-hl-gt { flex: 1; min-width: 0; }
#rp-overlay .rp-hl-gt span { font-size: 10px; font-weight: 700; letter-spacing: .5px; color: var(--ip-mut); }
#rp-overlay .rp-hl-gt b { display: block; font-size: 18px; font-weight: 800; margin: 1px 0 3px; }
#rp-overlay .rp-hl-gt p { margin: 0; font-size: 11px; color: var(--ip-mut); line-height: 1.4; }
#rp-overlay .rp-hl-ring { width: 58px; height: 58px; flex: 0 0 auto; }
#rp-overlay .rp-hl-ring circle { fill: none; stroke-width: 6; stroke-linecap: round; transform: rotate(-90deg); transform-origin: 50% 50%; }
#rp-overlay .rp-hl-ring circle.bg { stroke: rgba(127,127,127,.18); }
#rp-overlay .rp-hl-ring text { font-size: 18px; font-weight: 800; fill: var(--ip-fg); }
#rp-overlay .rp-hl-warn { background: rgba(224,69,75,.14); color: #e0454b !important; border-radius: 12px; padding: 10px 12px; font-size: 12.5px; font-weight: 600; margin-bottom: 12px; }
#rp-overlay .rp-hl-bar { display: flex; align-items: center; gap: 10px; padding: 9px 2px; }
#rp-overlay .rp-hl-bi { width: 26px; height: 26px; flex: 0 0 auto; border-radius: 8px; display: flex; align-items: center; justify-content: center; }
#rp-overlay .rp-hl-bi svg { display: block; }
#rp-overlay .rp-hl-bl { flex: 0 0 74px; font-size: 13px; font-weight: 600; }
#rp-overlay .rp-hl-btrack { flex: 1; height: 8px; border-radius: 5px; background: rgba(127,127,127,.16); overflow: hidden; }
#rp-overlay .rp-hl-btrack i { display: block; height: 100%; border-radius: 5px; transition: width .3s; }
#rp-overlay .rp-hl-bar b { flex: 0 0 auto; font-size: 13px; font-weight: 800; min-width: 54px; text-align: right; }
#rp-overlay .rp-hl-bar b em { font-size: 10px; font-weight: 600; color: var(--ip-mut); font-style: normal; }
#rp-overlay .rp-hl-ins { width: 100%; display: flex; align-items: center; gap: 12px; text-align: left; margin: 14px 0 4px; padding: 13px 14px; border: 0; border-radius: 16px; background: var(--ip-card); cursor: pointer; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
#rp-overlay .rp-hl-ins .rp-hl-ii { width: 38px; height: 38px; flex: 0 0 auto; border-radius: 11px; display: flex; align-items: center; justify-content: center; color: #fff !important; }
#rp-overlay .rp-hl-ins.on .rp-hl-ii { background: #2f6bff; }
#rp-overlay .rp-hl-ins.off .rp-hl-ii { background: #8a8f99; }
#rp-overlay .rp-hl-ins .rp-hl-ii svg { display: block; }
#rp-overlay .rp-hl-it { flex: 1; min-width: 0; }
#rp-overlay .rp-hl-it b { font-size: 14px; font-weight: 700; display: flex; align-items: center; gap: 6px; }
#rp-overlay .rp-hl-it b em { font-style: normal; font-size: 10px; font-weight: 800; padding: 2px 7px; border-radius: 20px; }
#rp-overlay .rp-hl-it b em.ok { background: rgba(46,194,107,.18); color: #2ec26b !important; }
#rp-overlay .rp-hl-it b em.no { background: rgba(138,143,153,.2); color: var(--ip-mut) !important; }
#rp-overlay .rp-hl-it span { font-size: 11px; color: var(--ip-mut); display: block; margin-top: 2px; line-height: 1.4; }
#rp-overlay .rp-hl-ins > svg:last-child { color: var(--ip-mut); flex: 0 0 auto; }
#rp-overlay .rp-hl-sect { font-size: 11px; font-weight: 800; letter-spacing: .5px; color: var(--ip-mut); padding: 16px 4px 8px; }
#rp-overlay .rp-hl-tip { display: flex; align-items: center; gap: 10px; padding: 11px 12px; border-bottom: 1px solid var(--ip-line); }
#rp-overlay .rp-hl-tip:last-child { border-bottom: 0; }
#rp-overlay .rp-hl-tc { flex: 1; min-width: 0; }
#rp-overlay .rp-hl-tc b { display: block; font-size: 13px; font-weight: 700; }
#rp-overlay .rp-hl-tc span { font-size: 11px; color: var(--ip-mut); }
#rp-overlay .rp-hl-tb { flex: 0 0 auto; border: 0; border-radius: 10px; background: var(--ip-blue); color: #fff !important; font-size: 12px; font-weight: 700; padding: 8px 14px; cursor: pointer; }
#rp-overlay .rp-hl-card { background: var(--ip-card); border-radius: 16px; padding: 14px; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
#rp-overlay .rp-hl-ch { display: flex; align-items: center; gap: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--ip-line); margin-bottom: 6px; }
#rp-overlay .rp-hl-ch .rp-hl-ci { width: 40px; height: 40px; flex: 0 0 auto; border-radius: 12px; background: #2f6bff; color: #fff !important; display: flex; align-items: center; justify-content: center; }
#rp-overlay .rp-hl-ch .rp-hl-ci svg { display: block; }
#rp-overlay .rp-hl-ch b { font-size: 15px; font-weight: 800; display: block; }
#rp-overlay .rp-hl-ch span { font-size: 11px; color: var(--ip-mut); }
#rp-overlay .rp-hl-badge { margin-left: auto; font-size: 10px; font-weight: 800; padding: 3px 9px; border-radius: 20px; background: rgba(46,194,107,.18); color: #2ec26b !important; }
#rp-overlay .rp-hl-kv { display: flex; align-items: center; justify-content: space-between; padding: 8px 0; font-size: 12.5px; }
#rp-overlay .rp-hl-kv span { color: var(--ip-mut); display: inline-flex; align-items: center; gap: 6px; }
#rp-overlay .rp-hl-kv span svg { display: block; }
#rp-overlay .rp-hl-kv b { font-weight: 700; }
#rp-overlay .rp-hl-kv b.blue { color: var(--ip-blue) !important; }
#rp-overlay .rp-hl-cov { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-bottom: 1px solid var(--ip-line); font-size: 13px; }
#rp-overlay .rp-hl-cov:last-child { border-bottom: 0; }
#rp-overlay .rp-hl-cov b { flex: 1; font-weight: 600; }
#rp-overlay .rp-hl-cov i { font-style: normal; font-weight: 800; }
#rp-overlay .rp-hl-cok { color: #2ec26b !important; display: flex; }
#rp-overlay .rp-hl-cok svg { display: block; }
#rp-overlay .rp-hl-cov.warn i { color: var(--ip-mut); font-weight: 600; }
#rp-overlay .rp-hl-next { display: flex; align-items: center; gap: 12px; background: var(--ip-card); border-radius: 14px; padding: 12px 14px; margin: 12px 0; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
#rp-overlay .rp-hl-next .rp-hl-ni { width: 34px; height: 34px; flex: 0 0 auto; border-radius: 10px; background: rgba(47,107,255,.14); color: #2f6bff !important; display: flex; align-items: center; justify-content: center; }
#rp-overlay .rp-hl-next .rp-hl-ni svg { display: block; }
#rp-overlay .rp-hl-next div { flex: 1; min-width: 0; }
#rp-overlay .rp-hl-next b { font-size: 13px; font-weight: 700; display: block; }
#rp-overlay .rp-hl-next span { font-size: 11px; color: var(--ip-mut); }
#rp-overlay .rp-hl-next em { font-style: normal; font-size: 13px; font-weight: 800; color: var(--ip-blue) !important; }
#rp-overlay .rp-hl-cta { width: 100%; border: 0; border-radius: 14px; padding: 13px; font-size: 14px; font-weight: 800; cursor: pointer; }
#rp-overlay .rp-hl-cta.danger { background: rgba(224,69,75,.14); color: #e0454b !important; }

/* ===== Application Travail ===== */
#rp-overlay .rp-wk-id { display: flex; gap: 12px; align-items: center; padding-bottom: 12px; border-bottom: 1px solid var(--ip-line); }
#rp-overlay .rp-wk-kvs { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
#rp-overlay .rp-wk-kvs > div { display: flex; align-items: baseline; justify-content: space-between; }
#rp-overlay .rp-wk-kvs span { font-size: 11px; color: var(--ip-mut); }
#rp-overlay .rp-wk-kvs b { font-size: 13.5px; font-weight: 800; }
#rp-overlay .rp-wk-kvs b.blue { color: var(--ip-blue) !important; }
#rp-overlay .rp-wk-sal { display: flex; gap: 16px; padding-top: 12px; }
#rp-overlay .rp-wk-sal > div { flex: 1; }
#rp-overlay .rp-wk-sal span { font-size: 10.5px; color: var(--ip-mut); }
#rp-overlay .rp-wk-sal b { display: block; font-size: 15px; font-weight: 800; margin-top: 2px; }
#rp-overlay .rp-wk-sal b.blue { color: var(--ip-blue) !important; }
#rp-overlay .rp-bk-card.wk-session { margin-top: 10px; padding: 14px; }
#rp-overlay .rp-bk-card.wk-session.on { box-shadow: 0 0 0 1px rgba(46,194,107,.4), 0 1px 3px rgba(0,0,0,.06); }
#rp-overlay .rp-wk-srow { display: flex; align-items: center; gap: 12px; }
#rp-overlay .rp-wk-si { width: 38px; height: 38px; flex: 0 0 auto; border-radius: 11px; background: rgba(47,107,255,.14); color: #2f6bff !important; display: flex; align-items: center; justify-content: center; }
#rp-overlay .rp-wk-si svg { display: block; }
#rp-overlay .rp-wk-srow > div { flex: 1; min-width: 0; }
#rp-overlay .rp-wk-srow b { font-size: 13.5px; font-weight: 800; display: block; }
#rp-overlay .rp-wk-srow span { font-size: 11px; color: var(--ip-mut); }
#rp-overlay .rp-wk-clock { font-style: normal; font-size: 17px; font-weight: 800; font-variant-numeric: tabular-nums; letter-spacing: .5px; }
#rp-overlay .rp-wk-btns { display: flex; gap: 8px; margin-top: 12px; }
#rp-overlay .rp-wk-b { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 0; border-radius: 12px; padding: 12px; font-size: 14px; font-weight: 800; cursor: pointer; color: #fff !important; }
#rp-overlay .rp-wk-b svg { display: block; }
#rp-overlay .rp-wk-b.go { background: #2ec26b; }
#rp-overlay .rp-wk-b.pause { background: #e0454b; }
#rp-overlay .rp-wk-co { display: flex; align-items: center; gap: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--ip-line); }
#rp-overlay .rp-wk-colg { width: 42px; height: 42px; flex: 0 0 auto; border-radius: 12px; background: #2a2f3a; color: #fff !important; font-weight: 800; display: flex; align-items: center; justify-content: center; }
#rp-overlay .rp-wk-co b { font-size: 15px; font-weight: 800; display: block; }
#rp-overlay .rp-wk-co span { font-size: 11px; color: var(--ip-mut); }
#rp-overlay .rp-wk-mgr { font-style: normal; font-size: 9px; font-weight: 800; padding: 2px 6px; border-radius: 20px; background: rgba(242,177,0,.18); color: #f2b100 !important; vertical-align: 1px; }
#rp-overlay .rp-wk-dacts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
#rp-overlay .rp-wk-dacts button { display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 14px 2px; border: 0; border-radius: 14px; background: var(--ip-card); color: var(--ip-blue) !important; font-size: 11px; font-weight: 700; cursor: pointer; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
#rp-overlay .rp-wk-dacts button svg { display: block; }
#rp-overlay .rp-wk-dacts button span { color: var(--ip-fg); }

/* ===== Inventaire RP (thème sombre) ===== */
#rp-overlay .rp-modal.rp-inv {
  width: 900px; max-width: calc(100vw - 40px); background: #161b27 !important;
  color: #e6e9f0 !important; border: 1px solid #2b3346; border-radius: 14px;
  box-shadow: 0 24px 70px rgba(0,0,0,.6); overflow: hidden; position: relative;
  display: flex; flex-direction: column;
  height: 580px; max-height: calc(100vh - 60px);   /* taille FIXE, indépendante du contenu */
}
#rp-overlay .rp-inv-main { min-height: 0; }
#rp-overlay .rp-modal.rp-inv * { color: inherit; font-family: 'Ubuntu', Verdana, sans-serif; }

#rp-overlay .rp-inv-head {
  display: flex; align-items: center; gap: 14px; padding: 16px 18px 12px;
}
#rp-overlay .rp-inv-title { font: 700 17px/1 'Ubuntu', sans-serif; white-space: nowrap; }
#rp-overlay .rp-inv-search {
  flex: 1; max-width: 340px; margin-left: auto; background: #0f1420; color: #e6e9f0 !important;
  border: 1px solid #2b3346; border-radius: 9px; padding: 8px 12px; font-size: 13px; outline: none;
}
#rp-overlay .rp-inv-search::placeholder { color: #6b7689; }
#rp-overlay .rp-inv-search:focus { border-color: #3b82f6; }
#rp-overlay .rp-inv .rp-x { cursor: pointer; font-size: 16px; opacity: .55; padding: 2px 4px; }
#rp-overlay .rp-inv .rp-x:hover { opacity: 1; }

#rp-overlay .rp-inv-sub { padding: 0 18px 10px; }
#rp-overlay .rp-inv-sub b { font-size: 13px; }
#rp-overlay .rp-inv-sub span { font-size: 11.5px; color: #8b93a6; }

#rp-overlay .rp-inv-tabs {
  display: flex; gap: 4px; padding: 0 12px; border-bottom: 1px solid #242c3d;
}
#rp-overlay .rp-inv-tab {
  background: none; border: none; color: #8b93a6 !important; cursor: pointer;
  font: 600 13px/1 'Ubuntu', sans-serif; padding: 10px 12px; border-bottom: 2px solid transparent;
}
#rp-overlay .rp-inv-tab:hover { color: #cfd4e0 !important; }
#rp-overlay .rp-inv-tab.on { color: #fff !important; border-bottom-color: #3b82f6; }

#rp-overlay .rp-inv-main { display: flex; min-height: 0; flex: 1; }
#rp-overlay .rp-inv-grid {
  flex: 1; display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px;
  padding: 16px; overflow-y: auto; align-content: start;
}
#rp-overlay .rp-inv-none {
  grid-column: 1 / -1; text-align: center; color: #6b7689; font-size: 13px; padding: 30px 0;
}
#rp-overlay .rp-inv-card {
  position: relative; background: #1d2432; border: 1px solid #2b3346; border-radius: 12px;
  padding: 10px 8px 8px; cursor: pointer; transition: border-color .12s, background .12s, transform .12s;
  display: flex; flex-direction: column; align-items: center; gap: 6px;
}
#rp-overlay .rp-inv-card:hover { background: #232b3c; transform: translateY(-1px); }
#rp-overlay .rp-inv-card.sel { border-color: #3b82f6; box-shadow: 0 0 0 1px #3b82f6 inset; }
#rp-overlay .rp-inv-thumb { width: 46px; height: 46px; background: center/contain no-repeat; }
#rp-overlay .rp-inv-cn { font-size: 11.5px; text-align: center; line-height: 1.2; color: #c7cdda !important; }
#rp-overlay .rp-inv-badge {
  font: 700 11px/1 'Ubuntu', sans-serif; color: #dbeafe !important; background: #2563eb;
  border-radius: 6px; padding: 3px 7px;
}
#rp-overlay .rp-inv-card .rp-inv-badge { position: absolute; right: 6px; bottom: 6px; }
#rp-overlay .rp-inv-badge.big { display: inline-block; font-size: 13px; padding: 4px 10px; }

#rp-overlay .rp-inv-detail {
  width: 260px; flex-shrink: 0; border-left: 1px solid #242c3d; padding: 18px 16px;
  display: flex; flex-direction: column; overflow-y: auto;
}
#rp-overlay .rp-inv-dname { font: 700 18px/1.2 'Ubuntu', sans-serif; }
#rp-overlay .rp-inv-dcat { font-size: 12px; color: #3b82f6 !important; margin: 3px 0 12px; }
#rp-overlay .rp-inv-dthumb {
  width: 120px; height: 120px; align-self: center; margin: 4px 0 12px;
  background: center/contain no-repeat;
}
#rp-overlay .rp-inv-ddesc { font-size: 12.5px; color: #aeb6c6 !important; line-height: 1.45; min-height: 34px; }
#rp-overlay .rp-inv-dqty-l { font-size: 12px; color: #8b93a6 !important; margin: 14px 0 5px; }
#rp-overlay .rp-inv-acts { display: flex; flex-direction: column; gap: 8px; margin-top: auto; padding-top: 16px; }
#rp-overlay .rp-inv-acts button {
  border: 1px solid #2b3346; border-radius: 9px; padding: 10px 12px; cursor: pointer;
  font: 600 13px/1 'Ubuntu', sans-serif; background: #1d2432; color: #e6e9f0 !important; text-align: center;
}
#rp-overlay .rp-inv-acts .rp-inv-use { background: #2563eb; border-color: #2563eb; color: #fff !important; }
#rp-overlay .rp-inv-acts .rp-inv-use:hover { background: #1d4ed8; }
#rp-overlay .rp-inv-acts .rp-inv-use[disabled] { background: #2b3346; border-color: #2b3346; color: #6b7689 !important; cursor: not-allowed; }
#rp-overlay .rp-inv-acts .rp-inv-give:hover { background: #232b3c; }
#rp-overlay .rp-inv-acts .rp-inv-drop { color: #f87171 !important; }
#rp-overlay .rp-inv-acts .rp-inv-drop:hover { background: #2a1e22; border-color: #7f1d1d; }

#rp-overlay .rp-inv-foot {
  border-top: 1px solid #242c3d; padding: 10px 18px; font-size: 12px; color: #8b93a6 !important;
}

/* couche « Donner / Jeter » par-dessus le panneau inventaire */
#rp-overlay .rp-give-layer {
  position: absolute; inset: 0; background: rgba(8,11,18,.6); backdrop-filter: blur(2px);
  display: flex; align-items: center; justify-content: center; border-radius: 14px;
}
#rp-overlay .rp-give-box {
  width: 320px; max-width: calc(100% - 40px); background: #1d2432; border: 1px solid #2b3346;
  border-radius: 12px; padding: 18px; box-shadow: 0 18px 50px rgba(0,0,0,.55);
}
#rp-overlay .rp-give-head { font: 700 15px/1.3 'Ubuntu', sans-serif; }
#rp-overlay .rp-give-sub, #rp-overlay .rp-give-confirm {
  font-size: 12.5px; color: #aeb6c6 !important; margin: 6px 0 12px;
}
#rp-overlay .rp-give-confirm { font-size: 14px; color: #e6e9f0 !important; text-align: center; margin: 14px 0; }
#rp-overlay .rp-give-list {
  display: flex; flex-direction: column; gap: 6px; max-height: 260px; overflow-y: auto; margin-bottom: 12px;
}
#rp-overlay .rp-give-name {
  background: #232b3c; border: 1px solid #2b3346; border-radius: 9px; color: #e6e9f0 !important;
  padding: 10px 12px; font: 600 13px/1 'Ubuntu', sans-serif; cursor: pointer; text-align: left;
}
#rp-overlay .rp-give-name:hover { background: #2b3550; border-color: #3b82f6; }
#rp-overlay .rp-give-empty { text-align: center; color: #6b7689; font-size: 12.5px; padding: 20px 0; }
#rp-overlay .rp-give-btns { display: flex; gap: 8px; }
#rp-overlay .rp-give-btns button, #rp-overlay .rp-give-cancel {
  flex: 1; border: 1px solid #2b3346; border-radius: 9px; padding: 10px; cursor: pointer;
  font: 600 13px/1 'Ubuntu', sans-serif; background: #232b3c; color: #e6e9f0 !important;
}
#rp-overlay .rp-give-cancel { width: 100%; }
#rp-overlay .rp-give-ok { background: #2563eb; border-color: #2563eb; color: #fff !important; }
#rp-overlay .rp-give-ok:hover { background: #1d4ed8; }
#rp-overlay .rp-give-ok.rp-danger { background: #dc2626; border-color: #dc2626; }
#rp-overlay .rp-give-ok.rp-danger:hover { background: #b91c1c; }
#rp-overlay .rp-give-btns button:hover, #rp-overlay .rp-give-cancel:hover { border-color: #3b82f6; }

/* toasts */
#rp-toasts { position: absolute; left: 50%; bottom: 90px; transform: translateX(-50%); display: flex; flex-direction: column; gap: 6px; }
#rp-toasts .rp-toast {
  pointer-events: auto; background: rgba(20,22,28,.9); color: #fff; padding: 8px 14px;
  border-radius: 6px; font-size: 12px; border: 1px solid #000; animation: rpfade 4s forwards;
}
@keyframes rpfade { 0%{opacity:0} 8%{opacity:1} 80%{opacity:1} 100%{opacity:0} }

/* ===== Animation : lecteur musique/radio de l'appartement ===== */
#rp-media { position: absolute; left: 12px; bottom: 12px; z-index: 2147483350; pointer-events: none; }
#rp-media .rp-media-w { pointer-events: auto; width: 216px; background: rgba(12,18,32,.94); border: 1px solid #2a3550;
  border-radius: 12px; padding: 8px; box-shadow: 0 10px 30px rgba(0,0,0,.55); display: grid;
  grid-template-columns: auto 1fr auto auto; grid-gap: 6px; align-items: center; }
#rp-media .rp-media-lbl { font-size: 11px; color: #dfe4ec; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#rp-media .rp-media-mute, #rp-media .rp-media-x { width: 24px; height: 24px; border: 0; border-radius: 7px;
  background: rgba(255,255,255,.12); color: #dfe4ec !important; cursor: pointer; display: flex; align-items: center; justify-content: center; }
#rp-media .rp-media-mute svg, #rp-media .rp-media-x svg { display: block; }
#rp-media .rp-media-vol { grid-column: 1 / -1; width: 100%; height: 4px; accent-color: #0a84ff; }
#rp-media .rp-media-slot { grid-column: 1 / -1; }
#rp-media .rp-media-slot iframe { display: block; border: 0; border-radius: 8px; width: 200px; height: 113px; }
#rp-media .rp-media-slot audio { width: 200px; height: 30px; }

/* ===== Animation : panneau quizz ===== */
#rp-quiz { position: absolute; right: 12px; top: 96px; z-index: 2147483350; pointer-events: none; }
#rp-quiz .rp-quiz-w { pointer-events: auto; width: 244px; background: rgba(12,18,32,.95); border: 1px solid #2a3550;
  border-radius: 14px; padding: 12px; box-shadow: 0 14px 36px rgba(0,0,0,.6); color: #e8ebf1; }
#rp-quiz .rp-quiz-hd { font-size: 12px; font-weight: 800; letter-spacing: 1px; color: #8a63d2; }
#rp-quiz .rp-quiz-q { font-size: 14px; font-weight: 700; margin: 6px 0 8px; line-height: 1.35; }
#rp-quiz .rp-quiz-q i { color: #8a93a6; font-weight: 400; }
#rp-quiz .rp-quiz-hint { font-size: 12px; color: #f2b100; margin-bottom: 8px; }
#rp-quiz .rp-quiz-flash { font-size: 12.5px; font-weight: 700; color: #2ec26b; background: rgba(46,194,107,.14);
  border-radius: 9px; padding: 7px 9px; margin-bottom: 8px; }
#rp-quiz .rp-quiz-sc { display: flex; flex-direction: column; gap: 3px; border-top: 1px solid #232b3a; padding-top: 7px; }
#rp-quiz .rp-quiz-sc > div { font-size: 12px; display: flex; align-items: baseline; gap: 5px; }
#rp-quiz .rp-quiz-sc > div span { margin-left: auto; color: #8a93a6; font-size: 11px; }
#rp-quiz .rp-quiz-empty { color: #8a93a6; font-size: 11.5px; }
#rp-quiz .rp-quiz-tip { margin-top: 8px; font-size: 10.5px; color: #6a7488; text-align: center; }

/* ===== Application Immobilier (vitrine, lecture seule) ===== */
#rp-overlay .rp-es { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; overflow: hidden; }
#rp-overlay .rp-es-hd { flex: 0 0 auto; padding: 10px 16px 8px; }
#rp-overlay .rp-es-brand { display: flex; align-items: center; gap: 10px; }
#rp-overlay .rp-es-brand > svg { color: #1d8c8c; flex: 0 0 auto; }
#rp-overlay .rp-es-brand b { display: block; font-size: 15px; font-weight: 800; letter-spacing: .5px; }
#rp-overlay .rp-es-brand span { display: block; font-size: 11px; color: var(--ip-mut); margin-top: 1px; }
#rp-overlay .rp-es-tabs { flex: 0 0 auto; display: flex; gap: 6px; padding: 4px 14px 10px; border-bottom: 1px solid var(--ip-line); }
#rp-overlay .rp-es-tab { flex: 1; padding: 8px 0; border: 1px solid var(--ip-line); border-radius: 11px; background: transparent;
  color: var(--ip-mut); font-size: 12.5px; font-weight: 600; cursor: pointer; }
#rp-overlay .rp-es-tab.on { background: #1d8c8c; border-color: #1d8c8c; color: #fff !important; }
#rp-overlay .rp-es-tab i { font-style: normal; font-weight: 800; opacity: .8; }
#rp-overlay .rp-es-chips { flex: 0 0 auto; display: flex; flex-wrap: wrap; gap: 6px; padding: 10px 14px 4px; }
#rp-overlay .rp-es-chip { flex: 0 0 auto; padding: 6px 12px; border: 1px solid var(--ip-line); border-radius: 999px;
  background: var(--ip-card); color: var(--ip-mut); font-size: 12px; font-weight: 600; cursor: pointer; white-space: nowrap; }
#rp-overlay .rp-es-chip.on { background: var(--ip-fg); border-color: var(--ip-fg); color: var(--ip-bg) !important; }
#rp-overlay .rp-es-list { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 10px 14px 26px; display: flex; flex-direction: column; gap: 12px; }

#rp-overlay .rp-es-card { flex: 0 0 auto; border: 1px solid var(--ip-line); border-radius: 16px; background: var(--ip-card); overflow: hidden; }
#rp-overlay .rp-es-top { display: flex; gap: 11px; padding: 11px; }
#rp-overlay .rp-es-thumb { width: 72px; height: 72px; flex: 0 0 auto; border-radius: 12px; display: flex; align-items: center;
  justify-content: center; color: #fff; background: linear-gradient(135deg, #1d8c8c, #2f9bbf); }
#rp-overlay .rp-es-thumb-maison { background: linear-gradient(135deg, #2f9b6b, #64bf8f); }
#rp-overlay .rp-es-thumb-commerce { background: linear-gradient(135deg, #c27b2f, #dfae64); }
#rp-overlay .rp-es-thumb-bureau { background: linear-gradient(135deg, #4b63c2, #7f97df); }
#rp-overlay .rp-es-info { flex: 1; min-width: 0; }
#rp-overlay .rp-es-nm { display: flex; align-items: flex-start; gap: 6px; }
#rp-overlay .rp-es-nm b { flex: 1; min-width: 0; font-size: 14.5px; font-weight: 700; line-height: 1.25; }
#rp-overlay .rp-es-fav { flex: 0 0 auto; width: 28px; height: 28px; margin: -3px -3px 0 0; border: 0; background: none;
  color: var(--ip-mut); cursor: pointer; display: flex; align-items: center; justify-content: center; }
#rp-overlay .rp-es-fav.on { color: #e0454b; }
#rp-overlay .rp-es-meta { display: flex; align-items: center; gap: 5px; margin-top: 4px; font-size: 11.5px; color: var(--ip-mut); }
#rp-overlay .rp-es-meta svg { flex: 0 0 auto; opacity: .8; }
#rp-overlay .rp-es-meta span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#rp-overlay .rp-es-prices { display: flex; border-top: 1px solid var(--ip-line); }
#rp-overlay .rp-es-pr { flex: 1; padding: 9px 11px; }
#rp-overlay .rp-es-pr + .rp-es-pr { border-left: 1px solid var(--ip-line); }
#rp-overlay .rp-es-pr span { display: block; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; color: var(--ip-mut); }
#rp-overlay .rp-es-pr b { display: block; font-size: 14px; font-weight: 800; color: #1d8c8c; margin-top: 2px; }
#rp-overlay .rp-es-pr b i { font-style: normal; font-size: 10.5px; font-weight: 600; color: var(--ip-mut); }
#rp-overlay .rp-es-agency { display: flex; align-items: center; gap: 6px; padding: 8px 11px; font-size: 10.5px;
  color: var(--ip-mut); background: rgba(29,140,140,.08); border-top: 1px solid var(--ip-line); }
#rp-overlay .rp-es-agency svg { flex: 0 0 auto; color: #1d8c8c; }

#rp-overlay .rp-es-own { flex: 0 0 auto; display: flex; align-items: center; gap: 10px; padding: 11px; border: 1px solid var(--ip-line);
  border-radius: 13px; background: var(--ip-card); }
#rp-overlay .rp-es-oi { width: 34px; height: 34px; flex: 0 0 auto; border-radius: 10px; background: rgba(29,140,140,.14);
  color: #1d8c8c; display: flex; align-items: center; justify-content: center; }
#rp-overlay .rp-es-om { flex: 1; min-width: 0; }
#rp-overlay .rp-es-om b { display: block; font-size: 13.5px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#rp-overlay .rp-es-om span { display: block; font-size: 11px; color: var(--ip-mut); margin-top: 1px; }
#rp-overlay .rp-es-oid { flex: 0 0 auto; font-size: 11px; color: var(--ip-mut); }
#rp-overlay .rp-es-list .rp-ip-sect { padding: 6px 2px 0; }
