
/* PluginNex Smart Chat — rebuilt layout, single source of truth */
#pnxsc-root{--pnxsc-color:#3157d5;position:relative;z-index:99999;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#f7f9ff}
#pnxsc-root *{box-sizing:border-box}
#pnxsc-root [hidden]{display:none!important}
.pnxsc-launcher{position:fixed;right:24px;bottom:24px;display:flex;align-items:center;gap:12px;z-index:99999}
.pnxsc-character{width:68px;height:68px;padding:0;border:2px solid #8eb4ff;border-radius:50%;background:#102653;box-shadow:0 8px 30px #0005;display:grid;place-items:center;cursor:pointer;overflow:hidden;position:relative}
.pnxsc-character img{width:100%;height:100%;object-fit:contain;object-position:center bottom;border-radius:50%;background:transparent}
.pnxsc-emoji{font-size:36px}.pnxsc-pulse{position:absolute;inset:-5px;border:2px solid var(--pnxsc-color);border-radius:50%;animation:pnxsc-pulse 2s infinite}
.pnxsc-bubble{max-width:250px;background:#fff;color:#182747;border-radius:14px;padding:12px 15px;box-shadow:0 4px 18px #0002;font-size:14px}
.pnxsc-panel{position:fixed;right:24px;bottom:105px;width:min(1120px,calc(100vw - 48px));height:min(760px,calc(100dvh - 130px));min-height:520px;display:grid;grid-template-columns:minmax(300px,40%) minmax(0,60%);grid-template-rows:76px minmax(0,1fr) auto auto 30px;grid-template-areas:"hero header" "hero messages" "hero composer" "hero actions" "hero footer";background:#0b1834;color:#f7f9ff;border:1px solid rgba(131,174,255,.75);border-radius:28px;box-shadow:0 24px 90px #0008;overflow:hidden;z-index:100000;direction:ltr}
.pnxsc-panel[hidden]{display:none!important}
.pnxsc-panel>header{grid-area:header;min-width:0;display:flex;align-items:center;gap:14px;padding:12px 22px;background:linear-gradient(100deg,#10234c,#1a3a83);border-bottom:1px solid rgba(130,173,255,.35);direction:ltr}
.pnxsc-head-brand{display:flex;align-items:center;gap:10px;min-width:0;flex:1;font-size:20px;font-weight:750;white-space:nowrap}
.pnxsc-brand-mark{font-size:27px;color:#9d8cff}.pnxsc-head-brand i{font-style:normal;color:#a9caff}
.pnxsc-online{display:inline-flex;align-items:center;gap:7px;margin-left:8px;padding:7px 12px;border:1px solid rgba(24,218,155,.45);border-radius:30px;background:rgba(0,194,137,.12);color:#52edb5;font-size:12px;font-weight:600}
.pnxsc-online em{width:8px;height:8px;border-radius:50%;background:#2ce4a5;box-shadow:0 0 12px #2ce4a5}
.pnxsc-head-avatar,.pnxsc-head-title{display:none}
.pnxsc-close{flex:0 0 auto;width:44px;height:42px;border:0;border-radius:13px;background:rgba(255,255,255,.12);color:#fff;font-size:27px;line-height:1;cursor:pointer}
.pnxsc-welcome-hero{grid-area:hero;position:relative;min-width:0;min-height:0;overflow:hidden;display:flex;align-items:stretch;justify-content:center;background:radial-gradient(ellipse at 52% 30%,rgba(58,112,229,.42),transparent 53%),linear-gradient(160deg,#102957 0%,#0a1b3d 60%,#07142d 100%);border-right:1px solid rgba(126,169,255,.4)}
.pnxsc-brand-rail{position:absolute;z-index:3;left:22px;top:22px;right:22px;pointer-events:none}
.pnxsc-rail-logo{font-size:25px;line-height:1.1;font-weight:850;letter-spacing:-1px;color:#fff;text-shadow:0 2px 18px #4c89ff66}
.pnxsc-rail-logo span{color:#64b7ff}.pnxsc-rail-logo small{display:block;margin-top:5px;font-size:13px;letter-spacing:.2px;color:#c3d7ff}
.pnxsc-rail-items{display:none}
.pnxsc-welcome-portrait{position:absolute;inset:100px 12px 12px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;border:1px solid rgba(162,195,255,.3);border-radius:24px 24px 18px 18px;background:linear-gradient(145deg,rgba(56,91,154,.25),rgba(3,14,34,.1));}
.pnxsc-welcome-portrait>img{display:block!important;position:relative!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center bottom!important;padding:8px 5px 0!important;opacity:1!important;mask-image:linear-gradient(to bottom,#000 88%,transparent 100%)!important;filter:drop-shadow(0 16px 22px rgba(0,0,0,.28))}
.pnxsc-welcome-copy{position:absolute;z-index:4;left:30px;right:30px;bottom:28px;padding:15px 17px;border-radius:17px;border:1px solid rgba(154,187,255,.35);background:linear-gradient(120deg,rgba(5,17,41,.94),rgba(17,39,79,.88));text-align:center;box-shadow:0 10px 28px #0003}
.pnxsc-welcome-eyebrow{display:block;color:#9caeff;font-size:9px;font-weight:800;letter-spacing:2px;margin-bottom:7px}
.pnxsc-welcome-copy h2{margin:0 0 6px;color:#fff;font-size:clamp(16px,1.5vw,22px);line-height:1.25;font-weight:750}
.pnxsc-welcome-copy p{margin:0 0 9px;color:#c4d5f4;font-size:12px}
.pnxsc-voice-enable{border:1px solid rgba(139,174,255,.5);border-radius:22px;background:rgba(80,116,209,.25);color:#fff;padding:7px 13px;font-size:12px;cursor:pointer}
.pnxsc-welcome-hint{margin-top:7px;color:#aabde3;font-size:11px}
.pnxsc-messages{grid-area:messages;min-width:0;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:13px;padding:24px 28px;background:linear-gradient(155deg,#0b1938,#0d2048 70%,#0a1935);direction:rtl}
.pnxsc-msg{max-width:86%;padding:13px 16px;border-radius:17px;font-size:15px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.pnxsc-msg.assistant{align-self:flex-start;background:linear-gradient(145deg,rgba(106,133,184,.42),rgba(63,86,135,.45));border:1px solid rgba(170,197,255,.35);color:#f5f8ff;border-top-left-radius:5px}
.pnxsc-msg.visitor{align-self:flex-end;background:linear-gradient(120deg,#1266f1,#2854d8);color:#fff;border:1px solid rgba(137,185,255,.35);border-top-right-radius:5px}
.pnxsc-form{grid-area:composer;min-width:0;display:flex;align-items:center;gap:9px;margin:0;padding:13px 20px;background:#0b1937;border-top:1px solid rgba(122,163,245,.22);direction:rtl}
.pnxsc-input{flex:1;min-width:0;height:50px;border:1px solid rgba(145,174,231,.42);border-radius:28px;padding:0 18px;background:rgba(255,255,255,.08);color:#fff;font:inherit;font-size:14px;outline:none}
.pnxsc-input::placeholder{color:#a8b9dc}.pnxsc-input:focus{border-color:#82aaff;box-shadow:0 0 0 3px rgba(89,137,255,.14)}
.pnxsc-send,.pnxsc-mic{flex:0 0 50px;width:50px;height:50px;border:1px solid rgba(152,184,255,.5);border-radius:16px;background:linear-gradient(145deg,#176cf6,#294ed7);color:#fff;font-size:22px;cursor:pointer;box-shadow:0 5px 16px #123caa55}
.pnxsc-mic{background:rgba(103,126,210,.18);font-size:19px}
.pnxsc-tools{grid-area:actions;display:flex;justify-content:center;gap:10px;padding:0 18px 12px;background:#0b1937;direction:rtl}
.pnxsc-tools button,.pnxsc-lead-form button,.pnxsc-book-form button{border:1px solid rgba(143,176,239,.42);border-radius:13px;background:rgba(81,111,178,.18);color:#f3f6ff;padding:9px 16px;cursor:pointer;font-size:13px}
.pnxsc-lead-form,.pnxsc-book-form{grid-column:2;grid-row:2 / 5;z-index:5;align-self:center;margin:20px;padding:20px;display:grid;gap:10px;border:1px solid rgba(143,176,239,.42);border-radius:18px;background:#10234b;box-shadow:0 15px 45px #0006}
.pnxsc-lead-form input:not([type=checkbox]),.pnxsc-book-form input,.pnxsc-book-form select{width:100%;min-height:42px;padding:9px 12px;border:1px solid rgba(143,176,239,.42);border-radius:9px;background:#0b1937;color:#fff}
.pnxsc-lead-form label{font-size:12px;color:#dce7ff}.pnxsc-lead-form button,.pnxsc-book-form button{background:#2458df}
.pnxsc-panel>footer{grid-area:footer;display:flex;align-items:center;justify-content:center;border-top:1px solid rgba(122,163,245,.2);background:#09172f;color:#91a6ce;font-size:10px}
.pnxsc-3d-stage{position:absolute;inset:0;z-index:2}
.pnxsc-3d-stage canvas{display:block;width:100%;height:100%}
.pnxsc-has-3d .pnxsc-welcome-portrait>img{display:none!important}
.pnxsc-speaking .pnxsc-welcome-portrait{filter:drop-shadow(0 0 18px rgba(72,143,255,.35))}
@keyframes pnxsc-pulse{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.28);opacity:0}}
@media(max-width:760px){
 .pnxsc-panel{right:8px;bottom:8px;width:calc(100vw - 16px);height:calc(100dvh - 16px);min-height:0;grid-template-columns:minmax(0,1fr);grid-template-rows:60px minmax(155px,27dvh) minmax(0,1fr) auto auto 24px;grid-template-areas:"header" "hero" "messages" "composer" "actions" "footer";border-radius:20px}
 .pnxsc-panel>header{padding:8px 12px;gap:8px}.pnxsc-head-brand{font-size:16px}.pnxsc-online{padding:5px 8px;margin-left:0}.pnxsc-close{width:38px;height:38px}
 .pnxsc-welcome-hero{border-right:0;border-bottom:1px solid rgba(126,169,255,.4)}
 .pnxsc-brand-rail{left:14px;top:10px;right:auto}.pnxsc-rail-logo{font-size:18px}.pnxsc-rail-logo small{font-size:10px}
 .pnxsc-welcome-portrait{inset:7px 10px 7px 38%;border-radius:16px}
 .pnxsc-welcome-portrait>img{padding:2px!important}
 .pnxsc-welcome-copy{left:10px;right:auto;bottom:10px;width:34%;padding:7px;border-radius:10px}
 .pnxsc-welcome-eyebrow,.pnxsc-welcome-copy p,.pnxsc-welcome-hint{display:none}
 .pnxsc-welcome-copy h2{font-size:12px;margin:0 0 5px}.pnxsc-voice-enable{font-size:10px;padding:5px 7px}
 .pnxsc-messages{padding:12px;gap:9px}.pnxsc-msg{font-size:13px;padding:10px 12px;max-width:92%}
 .pnxsc-form{padding:8px;gap:6px}.pnxsc-input{height:44px}.pnxsc-send,.pnxsc-mic{flex-basis:43px;width:43px;height:43px;border-radius:13px}
 .pnxsc-tools{padding:0 8px 8px}.pnxsc-tools button{padding:8px 12px;font-size:12px}
 .pnxsc-lead-form,.pnxsc-book-form{grid-column:1;grid-row:3 / 5;margin:10px;padding:12px}
}
@media(prefers-reduced-motion:reduce){.pnxsc-pulse{animation:none!important}}

/* 0.1.22: approved full-body female presenter; never place copy over her face/body */
.pnxsc-welcome-portrait{inset:92px 12px 12px!important;align-items:flex-end!important;justify-content:center!important;background:radial-gradient(ellipse at 50% 35%,rgba(100,145,230,.18),transparent 68%),linear-gradient(160deg,rgba(31,57,105,.34),rgba(4,16,38,.15))!important}
.pnxsc-welcome-portrait>img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center bottom!important;padding:0!important;mask-image:none!important;filter:drop-shadow(0 14px 22px rgba(0,0,0,.28))!important}
.pnxsc-welcome-copy{display:none!important}
@media(max-width:760px){
 .pnxsc-welcome-portrait{inset:8px 10px 8px 38%!important}
 .pnxsc-welcome-portrait>img{object-fit:contain!important;object-position:center bottom!important}
}

/* 0.1.23 — approved full-body character assets */
#pnxsc-root .pnxsc-welcome-portrait{overflow:hidden!important}
#pnxsc-root .pnxsc-welcome-portrait>img{
  width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;
  object-fit:contain!important;object-position:center bottom!important;
  padding:0!important;border:0!important;border-radius:0!important;
}
@media(max-width:760px){
 #pnxsc-root .pnxsc-welcome-portrait>img{object-fit:contain!important;object-position:center bottom!important}
}

/* Cinematic business-branded welcome backdrop */
.pnxsc-panel{background:radial-gradient(ellipse at 18% 18%,rgba(39,108,232,.30),transparent 42%),radial-gradient(ellipse at 90% 85%,rgba(91,53,213,.20),transparent 38%),linear-gradient(135deg,#07152f 0%,#0c2450 48%,#07142c 100%)}
.pnxsc-welcome-hero{background-color:#0a1d40;background-size:cover;background-position:center}
.pnxsc-welcome-hero:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 48% 24%,rgba(53,126,255,.42),transparent 52%),linear-gradient(180deg,rgba(5,17,42,.18),rgba(4,13,32,.38));z-index:0}
.pnxsc-welcome-portrait,.pnxsc-brand-rail{z-index:2}
.pnxsc-business-logo{display:block;max-width:130px;max-height:38px;width:auto;height:auto;object-fit:contain}
.pnxsc-rail-logo img{display:block;max-width:180px;max-height:54px;width:auto;height:auto;object-fit:contain}
.pnxsc-rail-logo small{display:block}

/* 0.1.33 fixed cinematic background inspired by the approved mockup */
.pnxsc-welcome-hero{
 background:
 radial-gradient(ellipse at 18% 22%,rgba(39,117,255,.42),transparent 38%),
 radial-gradient(ellipse at 82% 18%,rgba(119,75,255,.28),transparent 34%),
 radial-gradient(ellipse at 50% 100%,rgba(16,77,165,.32),transparent 48%),
 linear-gradient(135deg,#07152f 0%,#102d61 48%,#07142c 100%)!important;
 background-size:cover!important;background-position:center!important;
}
.pnxsc-welcome-hero:before{
 content:"";position:absolute;inset:0;pointer-events:none;
 background:linear-gradient(90deg,rgba(4,12,28,.22),transparent 48%,rgba(5,12,29,.26));
}
.pnxsc-panel{
 background:linear-gradient(145deg,rgba(9,25,57,.98),rgba(6,18,42,.98))!important;
}
