/* ============================================================
   Fibra OS - Chat — recriação hi-fi da interface da plataforma
   (mockup de preview · dados fictícios) · prefixo fx-
   ============================================================ */
.fx-frame { --fx-bg:#0a1411; --fx-bg2:#0c1815; --fx-bg3:#0f1e19; --fx-line:rgba(255,255,255,0.06); --fx-line2:rgba(255,255,255,0.1);
  --fx-green:#22c55e; --fx-green2:#16a34a; --fx-greeni:#4ade80; --fx-txt:#e6efe9; --fx-dim:#8aa298; --fx-faint:#5f7a70;
  width:1300px; border-radius:14px; overflow:hidden; border:1px solid var(--fx-line2);
  background:var(--fx-bg); color:var(--fx-txt); font-size:13px; line-height:1.4;
  box-shadow:0 60px 120px -50px rgba(0,0,0,0.9), 0 0 0 1px rgba(34,197,94,0.06);
  display:grid; grid-template-columns:240px 328px 1fr 300px; height:820px;
  font-family:'Plus Jakarta Sans',system-ui,sans-serif; text-align:left;
}
.fx-frame *{box-sizing:border-box;}

/* ---- rail ---- */
.fx-rail{background:var(--fx-bg2); border-right:1px solid var(--fx-line); display:flex; flex-direction:column; padding:0;}
.fx-brand{display:flex; align-items:center; gap:9px; padding:18px 18px 16px; border-bottom:1px solid var(--fx-line);}
.fx-brand .m{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--fx-green),var(--fx-green2));display:grid;place-items:center;color:#04140c;flex:0 0 auto;}
.fx-brand .m svg{width:17px;height:17px;}
.fx-brand b{font-weight:800;font-size:15px;letter-spacing:-.01em;}
.fx-brand span{font-weight:500;color:var(--fx-dim);font-size:12px;margin-left:-3px;}
/* logo Fibra OS no rail */
.fx-brand .fx-logo{height:22px;width:auto;flex:0 0 auto;}
.fx-brand .fx-logo .logo-fg{fill:var(--fx-txt);}
.fx-brand .fx-logo .logo-accent{fill:var(--fx-greeni);}
.fx-brand .fx-sub{margin-left:2px;font-weight:700;font-size:11px;color:var(--fx-greeni);background:rgba(34,197,94,0.14);border:1px solid rgba(34,197,94,0.24);padding:2px 8px;border-radius:6px;}
.fx-tenant{display:flex;align-items:center;gap:10px;padding:13px 18px;border-bottom:1px solid var(--fx-line);}
.fx-tenant .lg{width:32px;height:32px;border-radius:8px;background:var(--fx-bg3);border:1px solid var(--fx-line2);display:grid;place-items:center;color:var(--fx-greeni);font-weight:800;font-size:12px;flex:0 0 auto;}
.fx-tenant .tn{font-weight:700;font-size:13px;}
.fx-tenant .tc{font-size:10.5px;color:var(--fx-faint);}
.fx-nav{padding:10px 12px;overflow:hidden;flex:1;}
.fx-navh{font-size:9.5px;letter-spacing:.14em;color:var(--fx-faint);text-transform:uppercase;padding:12px 10px 6px;font-weight:700;}
.fx-ni{display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:8px;color:var(--fx-dim);margin-bottom:1px;position:relative;}
.fx-ni svg{width:16px;height:16px;flex:0 0 auto;}
.fx-ni.on{background:rgba(34,197,94,0.12);color:var(--fx-greeni);font-weight:600;}
.fx-ni .bdg{margin-left:auto;background:var(--fx-green);color:#04140c;font-weight:800;font-size:10px;min-width:17px;height:17px;border-radius:5px;display:grid;place-items:center;padding:0 4px;}
.fx-railf{padding:10px 12px;border-top:1px solid var(--fx-line);}
.fx-railf .fx-ni.exit{color:#f87171;}

/* ---- list ---- */
.fx-list{background:var(--fx-bg); border-right:1px solid var(--fx-line); display:flex; flex-direction:column; min-height:0;}
.fx-lh{padding:16px 16px 12px;}
.fx-lh .t{font-weight:800;font-size:16px;}
.fx-lh .s{font-size:11px;color:var(--fx-faint);margin-top:2px;}
.fx-search{display:flex;gap:8px;padding:0 16px 12px;}
.fx-search .ib{flex:1;display:flex;align-items:center;gap:8px;background:var(--fx-bg3);border:1px solid var(--fx-line2);border-radius:9px;padding:9px 11px;color:var(--fx-faint);font-size:12px;}
.fx-search .ib svg{width:14px;height:14px;}
.fx-search .bt{width:34px;height:34px;border-radius:9px;background:var(--fx-bg3);border:1px solid var(--fx-line2);display:grid;place-items:center;color:var(--fx-dim);}
.fx-search .bt svg{width:15px;height:15px;}
.fx-start{margin:0 16px 12px;padding:9px;border-radius:9px;background:linear-gradient(135deg,var(--fx-green),var(--fx-green2));color:#04140c;font-weight:700;text-align:center;font-size:12.5px;display:flex;align-items:center;justify-content:center;gap:7px;}
.fx-start svg{width:15px;height:15px;}
.fx-tabs{display:flex;gap:16px;padding:0 16px 10px;border-bottom:1px solid var(--fx-line);font-size:12.5px;}
.fx-tabs .tb{display:flex;align-items:center;gap:6px;color:var(--fx-faint);padding-bottom:8px;position:relative;}
.fx-tabs .tb.on{color:var(--fx-txt);font-weight:600;}
.fx-tabs .tb.on::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--fx-green);border-radius:2px;}
.fx-tabs .tb svg{width:14px;height:14px;}
.fx-tabs .n{background:var(--fx-bg3);color:var(--fx-greeni);font-size:10px;font-weight:700;padding:1px 6px;border-radius:6px;}
.fx-convos{overflow:hidden;flex:1;}
.fx-cv{display:flex;gap:11px;padding:13px 16px;border-bottom:1px solid var(--fx-line);position:relative;}
.fx-cv.on{background:rgba(34,197,94,0.07);}
.fx-cv.on::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--fx-green);}
.fx-cv.pend::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:#f59e0b;}
.fx-cv.trans::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:#a855f7;}
.fx-av{width:38px;height:38px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;color:#fff;font-weight:700;font-size:13px;position:relative;}
.fx-av .ch{position:absolute;bottom:-2px;right:-2px;width:15px;height:15px;border-radius:50%;background:#25D366;border:2px solid var(--fx-bg);display:grid;place-items:center;}
.fx-av .ch svg{width:8px;height:8px;color:#fff;}
.fx-cvb{flex:1;min-width:0;}
.fx-cvb .top{display:flex;justify-content:space-between;align-items:center;gap:8px;}
.fx-cvb .nm{font-weight:700;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fx-cvb .tm{font-size:10.5px;color:var(--fx-faint);flex:0 0 auto;}
.fx-cvb .pv{font-size:11.5px;color:var(--fx-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:2px 0 7px;}
.fx-cvb .pv b{color:var(--fx-faint);font-weight:600;}
.fx-cvb .badges{display:flex;gap:6px;align-items:center;}
.fx-chip{display:inline-flex;align-items:center;gap:4px;font-size:9.5px;font-weight:600;padding:3px 7px;border-radius:6px;background:var(--fx-bg3);border:1px solid var(--fx-line2);color:var(--fx-dim);}
.fx-chip.wa{color:#25D366;}
.fx-chip.wa svg{width:10px;height:10px;}
.fx-chip.pop svg{width:10px;height:10px;color:var(--fx-greeni);}
.fx-st{font-size:9.5px;font-weight:700;padding:3px 8px;border-radius:6px;}
.fx-st.cli{background:rgba(34,197,94,0.14);color:var(--fx-greeni);}
.fx-st.res{background:rgba(34,197,94,0.14);color:var(--fx-greeni);}
.fx-st.pen{background:rgba(245,158,11,0.16);color:#fbbf24;}
.fx-st.tra{background:rgba(168,85,247,0.16);color:#c084fc;}
.fx-status-dot{display:inline-flex;align-items:center;gap:5px;font-size:11px;}
.fx-status-dot .d{width:6px;height:6px;border-radius:50%;}

/* ---- chat ---- */
.fx-chat{display:flex;flex-direction:column;min-width:0;position:relative;background:
  radial-gradient(circle at 30% 20%, rgba(34,197,94,0.04), transparent 40%),var(--fx-bg);}
.fx-chat::before{content:'';position:absolute;inset:0;opacity:.5;pointer-events:none;background-image:
  radial-gradient(circle, rgba(255,255,255,0.02) 1px, transparent 1px);background-size:22px 22px;}
.fx-ch-head{display:flex;align-items:center;gap:12px;padding:13px 18px;border-bottom:1px solid var(--fx-line);background:var(--fx-bg2);z-index:1;}
.fx-ch-head .nm{font-weight:800;font-size:14.5px;display:flex;align-items:center;gap:6px;}
.fx-ch-head .sub{font-size:11px;color:var(--fx-faint);display:flex;align-items:center;gap:8px;margin-top:1px;}
.fx-ch-head .sub .win{color:var(--fx-greeni);}
.fx-ch-tools{margin-left:auto;display:flex;gap:7px;}
.fx-tool{width:32px;height:32px;border-radius:8px;background:var(--fx-bg3);border:1px solid var(--fx-line);display:grid;place-items:center;color:var(--fx-dim);}
.fx-tool.g{background:linear-gradient(135deg,var(--fx-green),var(--fx-green2));color:#04140c;border:none;}
.fx-tool svg{width:15px;height:15px;}
.fx-msgs{flex:1;overflow:hidden;padding:20px 22px;display:flex;flex-direction:column;gap:11px;z-index:1;}
.fx-day{align-self:center;font-size:10.5px;color:var(--fx-faint);background:var(--fx-bg3);padding:4px 12px;border-radius:100px;border:1px solid var(--fx-line);}
.fx-b{max-width:70%;padding:11px 14px;border-radius:14px;font-size:12.5px;line-height:1.5;position:relative;}
.fx-b .mt{font-size:9.5px;color:var(--fx-faint);margin-top:5px;text-align:right;}
.fx-b.in{background:var(--fx-bg3);border:1px solid var(--fx-line);align-self:flex-start;border-bottom-left-radius:4px;}
.fx-b.out{background:linear-gradient(135deg,var(--fx-green),var(--fx-green2));color:#04170d;align-self:flex-end;border-bottom-right-radius:4px;}
.fx-b.out .mt{color:rgba(4,23,13,.6);}
.fx-b.bot{background:var(--fx-bg2);border:1px solid var(--fx-line2);align-self:flex-start;width:62%;max-width:62%;}
.fx-opt{background:var(--fx-bg3);border:1px solid var(--fx-line2);border-radius:9px;padding:10px 13px;margin-top:7px;font-size:12px;display:flex;align-items:center;gap:8px;}
.fx-note{align-self:center;font-size:10.5px;color:var(--fx-greeni);background:rgba(34,197,94,0.08);border:1px solid rgba(34,197,94,0.2);padding:5px 12px;border-radius:100px;}
.fx-compose{margin:0 18px 16px;background:var(--fx-bg2);border:1px solid var(--fx-line2);border-radius:12px;padding:12px 14px;z-index:1;}
.fx-compose .ph{color:var(--fx-faint);font-size:12.5px;padding-bottom:10px;}
.fx-compose .row{display:flex;align-items:center;gap:14px;color:var(--fx-faint);padding-top:10px;border-top:1px solid var(--fx-line);}
.fx-compose .row .it{display:flex;align-items:center;gap:5px;font-size:11px;}
.fx-compose .row svg{width:15px;height:15px;}
.fx-compose .send{margin-left:auto;display:flex;align-items:center;gap:6px;background:var(--fx-bg3);border:1px solid var(--fx-line2);color:var(--fx-dim);padding:7px 14px;border-radius:8px;font-size:11.5px;font-weight:600;}

/* ---- details ---- */
.fx-det{background:var(--fx-bg2);border-left:1px solid var(--fx-line);overflow:hidden;display:flex;flex-direction:column;}
.fx-det-h{display:flex;align-items:center;justify-content:space-between;padding:15px 16px;border-bottom:1px solid var(--fx-line);}
.fx-det-h .t{font-weight:800;font-size:14px;}
.fx-det-h .ic{display:flex;gap:8px;color:var(--fx-faint);}
.fx-det-h .ic svg{width:15px;height:15px;}
.fx-det-body{padding:18px 16px;overflow:hidden;}
.fx-det-av{width:66px;height:66px;border-radius:50%;margin:0 auto 12px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:22px;position:relative;}
.fx-det-av .on{position:absolute;bottom:2px;right:2px;width:14px;height:14px;border-radius:50%;background:var(--fx-green);border:3px solid var(--fx-bg2);}
.fx-det-name{text-align:center;font-weight:800;font-size:16px;}
.fx-det-phone{text-align:center;font-size:12px;color:var(--fx-dim);margin-top:3px;}
.fx-det-acts{display:flex;justify-content:center;gap:9px;margin:14px 0 18px;}
.fx-det-acts .a{width:36px;height:36px;border-radius:9px;background:var(--fx-bg3);border:1px solid var(--fx-line2);display:grid;place-items:center;color:var(--fx-dim);}
.fx-det-acts .a svg{width:15px;height:15px;}
.fx-sec-t{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--fx-faint);font-weight:700;display:flex;justify-content:space-between;align-items:center;padding:14px 0 10px;border-top:1px solid var(--fx-line);}
.fx-sec-t .num{color:var(--fx-greeni);letter-spacing:0;font-family:'JetBrains Mono',monospace;}
.fx-kv{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:6px 0;}
.fx-kv .k{color:var(--fx-dim);}
.fx-kv .v{font-weight:600;}
.fx-kv .v.g{color:var(--fx-greeni);}
.fx-stars{color:#fbbf24;letter-spacing:1px;}
.fx-erp-tag{font-size:9.5px;font-weight:700;padding:3px 8px;border-radius:6px;background:rgba(34,197,94,0.14);color:var(--fx-greeni);}
.fx-erp-row{display:flex;gap:9px;align-items:flex-start;font-size:11.5px;color:var(--fx-dim);padding:8px 0;}
.fx-erp-row svg{width:15px;height:15px;color:var(--fx-greeni);flex:0 0 auto;margin-top:1px;}

@media (max-width:600px){ .fx-frame{font-size:12px;} }
