/* « LilBooking Pro » — LilBooking agency management */
.gx { --nv:#0a2d63; --lm:#8cbf1f; --ink:#16213b; --mut:#5d6b82; --line:#e3e8f0; --soft:#f4f7fb; --red:#d93f3f; --amb:#c98a00;
      font-family:'Poppins','Cairo',sans-serif; color:var(--ink); max-width:none; width:100%; margin:0; padding:24px clamp(14px,1.6vw,32px) 60px;
      display:grid; grid-template-columns:230px minmax(0,1fr); gap:28px; align-items:start; }
.gx a { text-decoration:none; }
.gx-side { position:sticky; top:16px; background:#fff; border:1px solid var(--line); border-radius:14px; padding:14px; }
.gx-org { display:flex; gap:10px; align-items:center; padding:4px 6px 14px; border-bottom:1px solid var(--line); margin-bottom:10px; }
.gx-org img { width:38px; height:38px; object-fit:contain; border-radius:8px; background:var(--soft); }
.gx-org .ini { width:38px; height:38px; border-radius:8px; background:var(--nv); color:#fff; display:grid; place-items:center; font-weight:700; }
.gx-org b { display:block; font-size:14px; line-height:1.2; color:var(--nv); }
.gx-org small { color:var(--mut); font-size:12px; }
.gx-nav a { display:flex; align-items:center; gap:10px; padding:9px 10px; border-radius:9px; color:var(--ink); font-size:14.5px; font-weight:500; }
.gx-nav a i { width:18px; text-align:center; color:var(--mut); }
.gx-nav a:hover { background:var(--soft); }
.gx-nav a.on { background:var(--nv); color:#fff; }
.gx-nav a.on i { color:var(--lm); }
.gx-nav .sep { height:1px; background:var(--line); margin:8px 4px; }
.gx-main { min-width:0; }
.gx-head { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:18px; }
.gx-head h2 { font-size:1.45rem; font-weight:700; color:var(--nv); margin:0; }
.gx-head .sub { color:var(--mut); font-size:14px; margin-top:2px; }
.gx-btn { display:inline-flex; align-items:center; gap:8px; border-radius:10px; padding:9px 16px; font-weight:600; font-size:14px;
          border:1px solid var(--nv); background:var(--nv); color:#fff !important; cursor:pointer; line-height:1.3; }
.gx-btn:hover { background:#0f3f86; }
.gx-btn.lime { background:var(--lm); border-color:var(--lm); }
.gx-btn.ghost { background:#fff; color:var(--nv) !important; border-color:var(--line); }
.gx-btn.ghost:hover { border-color:var(--nv); }
.gx-btn.sm { padding:6px 11px; font-size:13px; }
.gx-btn.danger { background:#fff; color:var(--red) !important; border-color:#f3c7c7; }
.gx-kpis { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:20px; }
.gx-kpi { background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px 18px; }
.gx-kpi.dark { background:var(--nv); border-color:var(--nv); color:#fff; }
.gx-kpi small { color:var(--mut); font-size:13px; display:block; }
.gx-kpi.dark small { color:#c9d6ee; }
.gx-kpi b { font-size:1.55rem; font-weight:700; display:block; margin-top:4px; white-space:nowrap; }
.gx-kpi a { font-size:12.5px; color:var(--lm); font-weight:600; }
.gx-card { background:#fff; border:1px solid var(--line); border-radius:14px; padding:18px; margin-bottom:18px; }
.gx-card h3 { font-size:1.05rem; font-weight:700; color:var(--nv); margin:0 0 12px; display:flex; justify-content:space-between; align-items:center; gap:8px; flex-wrap:wrap; }
.gx-grid2 { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:18px; }
.gx-grid2 > * { min-width:0; }
.gx-table { width:100%; border-collapse:collapse; font-size:14px; }
.gx-table th { text-align:start; font-size:12px; text-transform:uppercase; letter-spacing:.04em; color:var(--mut); font-weight:600; padding:9px 10px; border-bottom:1px solid var(--line); background:var(--soft); white-space:nowrap; }
.gx-table td { padding:10px; border-bottom:1px solid var(--line); vertical-align:middle; }
.gx-table tbody tr:nth-child(odd) > td { background-color:#fff !important; box-shadow:none !important; }
.gx-table tbody tr:nth-child(even) > td { background-color:#eef1f5 !important; box-shadow:none !important; }
.gx-table tbody tr:hover > td { background-color:#dfe9f7 !important; }
html[data-theme="dark"] .gx-table tbody tr:nth-child(odd) > td { background-color:#141d33 !important; color:#e6ebf5; }
html[data-theme="dark"] .gx-table tbody tr:nth-child(even) > td { background-color:#1d2a4a !important; color:#e6ebf5; }
html[data-theme="dark"] .gx-table tbody tr:hover > td { background-color:#2a3d6b !important; color:#fff; }
html[data-theme="dark"] .gx-table tbody td a.row, html[data-theme="dark"] .gx-table tbody td a { color:#8db8ff; }
.gx-table .num { text-align:end; white-space:nowrap; font-variant-numeric:tabular-nums; }
.gx-table a.row { color:var(--nv); font-weight:600; display:inline; margin:0; padding:0; }
.gx-scroll { overflow-x:auto; }
.gx-empty { color:var(--mut); text-align:center; padding:26px 10px; }
.gx-pill { display:inline-block; border-radius:999px; padding:2px 10px; font-size:12px; font-weight:600; white-space:nowrap; background:var(--soft); color:var(--ink); }
.gx-pill.nouveau { background:#e8f0fe; color:#1a56c4; }
.gx-pill.en_cours { background:#fff4d6; color:#8a6100; }
.gx-pill.documents { background:#fde7e7; color:#b42318; }
.gx-pill.confirme { background:#e5f6e0; color:#2f6b12; }
.gx-pill.termine { background:#e9ecf2; color:#3b4659; }
.gx-pill.annule { background:#f1f1f1; color:#888; text-decoration:line-through; }
.gx-stform { display:inline; margin:0; }
.gx-stsel { border:0; cursor:pointer; padding:3px 22px 3px 10px; appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23666' stroke-width='1.6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 7px center; font-family:inherit; }
.gx-stsel option { background:#fff; color:#1c2536; text-decoration:none; }
.gx-stsel:focus-visible { outline:2px solid #2d63d8; outline-offset:2px; }
.gx-pill.lb { background:var(--lm); color:#fff; }
.gx-pill.warn { background:#fde7e7; color:#b42318; }
.gx-pill.soon { background:#fff4d6; color:#8a6100; }
.gx-due { color:var(--red); font-weight:600; }
.gx-ok { color:#2f6b12; font-weight:600; }
.gx-filters { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:14px; }
.gx-filters input, .gx-filters select { border:1px solid var(--line); border-radius:10px; padding:8px 12px; font-size:14px; background:#fff; min-width:0; }
.gx-filters input[type=search] { flex:1 1 220px; }
.gx-form { display:grid; grid-template-columns:1fr 1fr; gap:14px 18px; }
.gx-form .full { grid-column:1 / -1; }
.gx-form label { font-size:13px; font-weight:600; color:var(--ink); margin-bottom:4px; display:block; }
.gx-form .help { font-size:12px; color:var(--mut); margin-top:3px; }
.gx-form .err { font-size:12.5px; color:var(--red); margin-top:3px; }
.gx-form .check { display:flex; align-items:center; gap:8px; }
.gx-form .check label { margin:0; font-weight:500; }
.gx-form .form-control, .gx-form .form-select { border-radius:10px; border-color:var(--line); }
.gx-dl { display:grid; grid-template-columns:repeat(3,1fr); gap:12px 18px; margin:0; }
.gx-dl dt { font-size:12px; color:var(--mut); font-weight:500; }
.gx-dl dd { margin:0; font-weight:600; font-size:14.5px; }
.gx-docs { display:flex; gap:8px; flex-wrap:wrap; }
.gx-docs span { border-radius:8px; padding:4px 10px; font-size:13px; border:1px solid var(--line); }
.gx-docs .y { background:#e5f6e0; border-color:#c6e7b8; color:#2f6b12; }
.gx-docs .n { background:#fff; color:var(--mut); }
.gx-bar { height:8px; border-radius:6px; background:var(--soft); overflow:hidden; min-width:60px; }
.gx-bar i { display:block; height:100%; background:var(--nv); border-radius:6px; }
.gx-progress { height:8px; border-radius:6px; background:#fde7e7; overflow:hidden; }
.gx-progress i { display:block; height:100%; background:var(--lm); }
.gx-pages { display:flex; gap:6px; justify-content:center; margin-top:14px; }
.gx-inline { display:flex; gap:10px; flex-wrap:wrap; align-items:flex-end; }
.gx-inline > div { flex:1 1 140px; }
.gx-inline label { font-size:12.5px; font-weight:600; display:block; margin-bottom:3px; }
.gx-alert { border-radius:12px; padding:12px 16px; margin-bottom:16px; font-size:14px; }
.gx-alert.info { background:#eef4ff; color:#1a3f7a; }
.gx-alert.warn { background:#fff4d6; color:#7a5b00; }
@media (max-width: 1199px) { .gx-kpis { grid-template-columns:repeat(2,1fr); } .gx-dl { grid-template-columns:repeat(2,1fr); } }
@media (max-width: 991px) {
  .gx { grid-template-columns:minmax(0,1fr); padding:16px 16px 50px; gap:14px; }
  .gx-side { position:static; padding:8px; min-width:0; }
  .gx-org { display:none; }
  .gx-nav { display:flex; overflow-x:auto; gap:4px; }
  .gx-nav a { white-space:nowrap; font-size:13.5px; }
  .gx-nav .sep { display:none; }
  .gx-grid2, .gx-form { grid-template-columns:minmax(0,1fr); }
}
@media (max-width: 575px) { .gx-kpis { grid-template-columns:1fr 1fr; gap:10px; } .gx-kpi b { font-size:1.2rem; } .gx-dl { grid-template-columns:1fr 1fr; } }
/* « Prévenir sur WhatsApp » */
.gx-btn.wa { background:#25D366; border-color:#25D366; color:#fff !important; }
.gx-btn.wa:hover { background:#1ebe5b; }
.gx-wa { display:inline-grid; place-items:center; width:30px; height:30px; border-radius:50%; background:#25D366; color:#fff !important; font-size:15px; flex:none; }
.gx-wa:hover { background:#1ebe5b; }
.gx-alert .gx-btn { margin-inline-start:8px; }
/* team: working days picker */
.gx-days { display:flex; flex-wrap:wrap; gap:6px; margin-top:4px; }
.gx-day { position:relative; cursor:pointer; margin:0; }
.gx-day input { position:absolute; opacity:0; inset:0; cursor:pointer; }
.gx-day span { display:inline-block; min-width:52px; text-align:center; padding:7px 10px; border:1.5px solid var(--line); border-radius:10px; font-weight:600; font-size:13.5px; color:var(--mut); background:var(--soft); transition:.15s; }
.gx-day input:checked + span { background:var(--nv); border-color:var(--nv); color:#fff; }
html[data-theme="dark"] .gx-day input:checked + span { background:#1f4c9c; border-color:#1f4c9c; }
.gx-day input:focus-visible + span { outline:2px solid var(--lm); outline-offset:2px; }
.gx-hours-tag { display:inline-flex; align-items:center; gap:6px; font-size:12.5px; color:var(--mut); }
/* cash closing: live difference */
.gx-ecart { display:flex; justify-content:space-between; align-items:center; border-radius:12px; padding:12px 16px; font-weight:600; background:var(--soft); }
.gx-ecart b { font-size:1.3rem; }
.gx-ecart.ok { background:#eaf6dc; color:#2f6b12; }
.gx-ecart.neg { background:#fdecec; color:#c62828; }
.gx-ecart.pos { background:#fff4d6; color:#7a5b00; }
html[data-theme="dark"] .gx-ecart.ok { background:#16301a; color:#9fd65a; }
html[data-theme="dark"] .gx-ecart.neg { background:#3a1416; color:#ff9b9b; }
html[data-theme="dark"] .gx-ecart.pos { background:#3a2c08; color:#ffe2a0; }
.gx-sched .st { font-size:12px; }
/* activity log */
.gx-day-sep { font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.05em; color:var(--mut); padding:14px 0 6px; border-bottom:1px solid var(--line); }
.gx-day-sep:first-child { padding-top:0; }
.gx-log { display:flex; align-items:center; gap:12px; padding:10px 0; border-bottom:1px solid var(--line); font-size:14px; }
.gx-log .ic { width:32px; height:32px; flex:none; border-radius:10px; background:var(--soft); color:var(--nv); display:grid; place-items:center; font-size:13px; }
.gx-log > div { flex:1; min-width:0; }
.gx-log small { color:var(--mut); white-space:nowrap; }

/* ---- Messagerie (team chat) ---- */
.gx-badge { margin-inline-start:auto; background:var(--red); color:#fff; border-radius:999px; font-size:11px; font-weight:700; padding:1px 7px; line-height:1.5; }
.gx-nav a.on .gx-badge { background:var(--lm); color:var(--nv); }
.gc { display:grid; grid-template-columns:260px minmax(0,1fr); gap:0; background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden; height:min(72vh,680px); min-height:420px; }
.gc-list { border-inline-end:1px solid var(--line); overflow-y:auto; background:var(--soft); padding:10px; }
.gc-list h6 { font-size:11.5px; text-transform:uppercase; letter-spacing:.05em; color:var(--mut); margin:12px 8px 6px; font-weight:700; }
.gc-item { display:flex; align-items:center; gap:9px; padding:9px 10px; border-radius:10px; color:var(--ink) !important; font-size:14px; font-weight:500; border:0; background:none; width:100%; text-align:start; cursor:pointer; }
.gc-item:hover { background:#fff; }
.gc-item.on { background:var(--nv); color:#fff !important; }
.gc-item .av { width:30px; height:30px; flex:0 0 30px; border-radius:50%; background:#dbe6f7; color:var(--nv); display:grid; place-items:center; font-weight:700; font-size:13px; }
.gc-item.on .av { background:var(--lm); color:var(--nv); }
.gc-item .tt { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; flex:1; }
.gc-item .gx-badge { margin-inline-start:0; }
.gc-main { display:flex; flex-direction:column; min-width:0; min-height:0; }
.gc-head { padding:12px 16px; border-bottom:1px solid var(--line); display:flex; align-items:center; gap:10px; }
.gc-head b { color:var(--nv); font-size:1rem; }
.gc-head small { color:var(--mut); }
.gc-back { display:none; }
.gc-feed { flex:1; overflow-y:auto; padding:16px; background:#f9fbfe; display:flex; flex-direction:column; gap:6px; }
.gc-day { align-self:center; font-size:11.5px; color:var(--mut); background:#eaf0f8; border-radius:999px; padding:2px 12px; margin:8px 0 4px; }
.gc-msg { max-width:78%; display:flex; flex-direction:column; }
.gc-msg.me { align-self:flex-end; align-items:flex-end; }
.gc-msg .who { font-size:12px; color:var(--mut); margin:0 6px 2px; }
.gc-bubble { background:#fff; border:1px solid var(--line); border-radius:14px 14px 14px 4px; padding:8px 12px; font-size:14.5px; line-height:1.45; word-break:break-word; white-space:pre-wrap; }
.gc-msg.me .gc-bubble { background:var(--nv); border-color:var(--nv); color:#fff; border-radius:14px 14px 4px 14px; }
.gc-msg .tm { font-size:11px; color:var(--mut); margin:2px 6px 0; }
.gc-msg .gc-seen { display:flex; align-items:center; margin:2px 6px 0; align-self:flex-end; }
.gc-seen .gc-dot { width:16px; height:16px; border-radius:50%; box-shadow:0 0 0 1.5px #fff; object-fit:cover; background:#fff; display:inline-flex; align-items:center; justify-content:center; font-size:9px; font-weight:700; color:#fff; margin-inline-start:-4px; }
.gc-seen .gc-dot:first-child { margin-inline-start:0; }
.gc-seen .gc-dot.c0 { background:#8cbf1f; } .gc-seen .gc-dot.c1 { background:#1f73dc; } .gc-seen .gc-dot.c2 { background:#0a2d63; }
.gc-seen .gc-dot.sent { background:#fff; border:1.5px solid #9aa7bd; color:#9aa7bd; box-shadow:none; width:14px; height:14px; font-size:9px; }
.gc-seen .gc-more { font-size:10px; color:#8a96aa; margin-inline-start:4px; }
.gc-bubble img { display:block; max-width:260px; max-height:240px; border-radius:10px; margin-top:6px; cursor:zoom-in; }
.gc-bubble a.file { display:inline-flex; gap:8px; align-items:center; margin-top:6px; background:#eef3fb; color:var(--nv) !important; border-radius:9px; padding:6px 10px; font-size:13.5px; font-weight:600; }
.gc-bubble a.dos { display:inline-flex; gap:6px; align-items:center; margin-top:6px; background:var(--lm); color:var(--nv) !important; border-radius:9px; padding:3px 10px; font-size:12.5px; font-weight:700; }
.gc-empty { margin:auto; color:var(--mut); text-align:center; font-size:14px; }
.gc-form { border-top:1px solid var(--line); padding:10px 12px; display:flex; gap:8px; align-items:flex-end; background:#fff; }
.gc-form textarea { flex:1; resize:none; border:1px solid var(--line); border-radius:12px; padding:9px 12px; font-size:14.5px; max-height:120px; min-height:42px; font-family:inherit; }
.gc-form textarea:focus { outline:2px solid var(--lm); border-color:var(--lm); }
.gc-clip { width:42px; height:42px; border-radius:12px; border:1px solid var(--line); background:#fff; color:var(--nv); cursor:pointer; flex:0 0 42px; }
.gc-send { width:46px; height:42px; border-radius:12px; border:0; background:var(--lm); color:var(--nv); font-size:17px; cursor:pointer; flex:0 0 46px; }
.gc-send[disabled] { opacity:.5; }
.gc-err { color:var(--red); font-size:13px; padding:0 14px 8px; background:#fff; }
.gc-chosen { font-size:12.5px; color:var(--mut); padding:0 14px 6px; background:#fff; display:none; }
@media (max-width:820px) {
  .gc { grid-template-columns:1fr; height:calc(100vh - 210px); }
  .gc .gc-list { display:block; }
  .gc.chat-open .gc-list { display:none; }
  .gc:not(.chat-open) .gc-main { display:none; }
  .gc-back { display:inline-grid; place-items:center; width:34px; height:34px; border-radius:10px; border:1px solid var(--line); background:#fff; color:var(--nv); }
  .gc-msg { max-width:90%; }
}
html[data-theme="dark"] .gc, html[data-theme="dark"] .gc-form, html[data-theme="dark"] .gc-err, html[data-theme="dark"] .gc-chosen { background:#16213a; border-color:#2a3b5f; }
html[data-theme="dark"] .gc-list { background:#101a2f; border-color:#2a3b5f; }
html[data-theme="dark"] .gc-feed { background:#0f1829; }
html[data-theme="dark"] .gc-bubble { background:#1b2a47; border-color:#2a3b5f; color:#e8eefb; }
html[data-theme="dark"] .gc-msg.me .gc-bubble { background:#2b5bb5; border-color:#2b5bb5; }
html[data-theme="dark"] .gc-item { color:#e8eefb !important; }
html[data-theme="dark"] .gc-item:hover { background:#1b2a47; }
html[data-theme="dark"] .gc-head b { color:#fff; }
html[data-theme="dark"] .gc-form textarea { background:#0f1829; color:#fff; border-color:#2a3b5f; }
html[data-theme="dark"] .gc-clip { background:#16213a; color:#fff; border-color:#2a3b5f; }

.gc-head { display:flex; align-items:center; gap:10px; }
.gc-head > div { flex:1; min-width:0; }
.gc-snd { margin-inline-start:auto; width:36px; height:36px; border-radius:10px; border:1px solid var(--line); background:#fff; color:var(--nv); cursor:pointer; display:grid; place-items:center; }
.gc-snd.off { color:#9aa4b2; }
[data-theme="dark"] .gc-snd { background:#16213a; color:#dbe6ff; border-color:#2b3a5c; }
[data-theme="dark"] .gc-snd.off { color:#6f7c93; }

/* ---- chat bubble (Messenger style) ---- */
.gb[hidden], .gb [hidden] { display:none !important; }
.gb { --nv:#0a2d63; --lm:#8cbf1f; --line:#e3e8f0; position:fixed; z-index:1060; inset-inline-end:30px; bottom:96px; font-family:'Poppins','Cairo',sans-serif; color:#16213b; }
.gb-fab { position:relative; width:58px; height:58px; border-radius:50%; border:0; cursor:pointer; background:linear-gradient(135deg,#1f73dc,#0a2d63); color:#fff; font-size:25px; display:grid; place-items:center; box-shadow:0 10px 28px rgba(10,45,99,.45); transition:transform .15s; }
.gb-fab:hover { transform:scale(1.07); }
.gb-fab.has { animation:gbpulse 2.4s ease-in-out infinite; }
@keyframes gbpulse { 0%,100% { box-shadow:0 10px 28px rgba(10,45,99,.45), 0 0 0 0 rgba(31,115,220,.5); } 50% { box-shadow:0 10px 28px rgba(10,45,99,.45), 0 0 0 12px rgba(31,115,220,0); } }
.gb-badge { position:absolute; top:-4px; inset-inline-end:-4px; min-width:22px; height:22px; padding:0 6px; border-radius:999px; background:#e53935; color:#fff; font-size:12px; font-weight:700; display:grid; place-items:center; border:2px solid #fff; }
.gb-badge.in { position:static; border:0; margin-inline-start:auto; }
.gb-win { position:absolute; inset-inline-end:0; bottom:0; width:360px; height:min(500px, calc(100vh - 220px)); background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:0 24px 60px rgba(10,45,99,.35); display:flex; flex-direction:column; overflow:hidden; }
.gb-head { display:flex; align-items:center; gap:4px; padding:10px 10px 10px 14px; background:linear-gradient(135deg,#0a2d63,#1a56b0); color:#fff; flex:none; }
.gb-title { flex:1; font-weight:700; font-size:15px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gb-ic { width:32px; height:32px; border-radius:50%; border:0; background:transparent; color:#fff !important; cursor:pointer; display:grid; place-items:center; font-size:14px; text-decoration:none; }
.gb-ic:hover { background:rgba(255,255,255,.18); }
.gb-ic.off { opacity:.55; }
.gb-list { flex:1; overflow:auto; padding:6px 8px 10px; }
.gb-sec { font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#5d6b82; padding:12px 8px 4px; }
.gb-item { width:100%; display:flex; align-items:center; gap:10px; border:0; background:transparent; padding:8px; border-radius:12px; cursor:pointer; text-align:start; color:inherit; font:inherit; }
.gb-item:hover { background:#f1f5fb; }
.gb-av { width:40px; height:40px; border-radius:50%; flex:none; background:#e8eefb; color:#0a2d63; display:grid; place-items:center; font-weight:700; }
.gb-nm { font-weight:600; font-size:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gb-chat { flex:1; min-height:0; display:flex; flex-direction:column; }
.gb-feed { flex:1; overflow:auto; padding:12px; background:#f6f8fc; display:flex; flex-direction:column; gap:6px; }
.gb-day { align-self:center; font-size:11px; color:#5d6b82; background:#e8eefb; border-radius:999px; padding:2px 10px; margin:4px 0; }
.gb-empty { align-self:center; margin:auto; color:#5d6b82; font-size:13px; }
.gb-msg { max-width:82%; display:flex; flex-direction:column; align-self:flex-start; }
.gb-msg.me { align-self:flex-end; align-items:flex-end; }
.gb-who { font-size:11px; color:#5d6b82; margin:0 8px 2px; }
.gb-b { background:#fff; border:1px solid var(--line); border-radius:18px; padding:8px 12px; font-size:14px; line-height:1.4; word-break:break-word; white-space:pre-wrap; }
.gb-msg.me .gb-b { background:#1f73dc; border-color:#1f73dc; color:#fff; }
.gb-b img { display:block; max-width:200px; max-height:180px; border-radius:10px; margin-top:4px; }
.gb-b a.gb-file, .gb-b a.gb-dos { display:inline-block; margin-top:4px; font-weight:600; color:#0a2d63; background:#e8f4cf; border-radius:999px; padding:2px 10px; font-size:12.5px; text-decoration:none; }
.gb-msg.me .gb-b a.gb-file, .gb-msg.me .gb-b a.gb-dos { color:#0a2d63; }
.gb-tm { font-size:10.5px; color:#8a96aa; margin:1px 8px 0; }
.gb-err { background:#fdecea; color:#b3261e; font-size:12.5px; font-weight:600; padding:6px 12px; }
.gb-chosen { background:#eef3fb; font-size:12.5px; padding:6px 12px; cursor:pointer; color:#0a2d63; }
.gb-form { display:flex; align-items:flex-end; gap:6px; padding:8px; border-top:1px solid var(--line); background:#fff; }
.gb-form textarea { flex:1; resize:none; border:1px solid var(--line); background:#f1f4f9; border-radius:20px; padding:8px 14px; font:inherit; font-size:14px; max-height:96px; outline:none; color:inherit; }
.gb-clip, .gb-send { width:36px; height:36px; border-radius:50%; border:0; cursor:pointer; flex:none; display:grid; place-items:center; }
.gb-clip { background:transparent; color:#5d6b82; font-size:17px; }
.gb-send { background:#1f73dc; color:#fff; }
@media (max-width:575px) {
  .gb { inset-inline-end:16px; bottom:92px; }
  .gb-fab { width:52px; height:52px; font-size:22px; }
  body.gb-open .lbpi { display:none !important; }
  .gb.open { z-index:3000; }
  .gb.open .gb-fab { display:none; }
  .gb-win { position:fixed; inset:auto 0 0 0; width:100%; height:78vh; border-radius:18px 18px 0 0; }
}
@media print { .gb { display:none; } }
html[data-theme="dark"] .gb { color:#e6ebf5; }
html[data-theme="dark"] .gb-win, html[data-theme="dark"] .gb-form { background:#131c2e; border-color:#27334d; }
html[data-theme="dark"] .gb-feed { background:#0f1829; }
html[data-theme="dark"] .gb-b { background:#1b2a47; border-color:#2a3b5f; color:#e8eefb; }
html[data-theme="dark"] .gb-msg.me .gb-b { background:#2b5bb5; border-color:#2b5bb5; color:#fff; }
html[data-theme="dark"] .gb-item:hover { background:#1b2a47; }
html[data-theme="dark"] .gb-av { background:#1b2a47; color:#8db8ff; }
html[data-theme="dark"] .gb-form textarea { background:#0f1829; border-color:#2a3b5f; color:#fff; }
html[data-theme="dark"] .gb-badge { border-color:#131c2e; }
html[data-theme="dark"] .gb-chosen { background:#1b2a47; color:#8db8ff; }
html[data-theme="dark"] .gb-day { background:#1b2a47; color:#9aa7bd; }
.gx-tabs { display:flex; gap:6px; margin:0 0 12px; }
.gx-tabs a { padding:7px 16px; border-radius:999px; background:var(--soft); color:var(--ink); font-weight:600; font-size:14px; text-decoration:none; }
.gx-tabs a.on { background:var(--ink); color:#fff; }
.gx-tabs a span { opacity:.6; margin-left:4px; }

.gx-brand { font-weight:800; font-size:17px; color:var(--nv); letter-spacing:-.01em; padding:2px 6px 10px; display:flex; align-items:center; gap:7px; }
.gx-pro { background:#8cbf1f; color:#0a2d63; font-size:10.5px; font-weight:800; letter-spacing:.08em; border-radius:999px; padding:2px 8px; }
