/* PCG Dispatcher Assistant */
.pcgd{--n:#10264a;--nd:#0a1830;--g:#c9a24d;--gs:#efd48b;--gd:#a8832f;--tx:#5f6e82;--ln:#e3e7ed;--mi:#f4f6f9;--e:cubic-bezier(.16,1,.3,1);
  position:fixed;right:22px;bottom:22px;z-index:99990;font-family:"Montserrat","Helvetica Neue",Arial,sans-serif;color:var(--n);font-size:14px;line-height:1.5}
.pcgd *{box-sizing:border-box}
.pcgd-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* launcher */
.pcgd-launch{position:relative;width:64px;height:64px;border-radius:50%;border:0;cursor:pointer;background:radial-gradient(circle at 30% 25%,#1d3d6e,var(--n) 60%,var(--nd));color:#fff;box-shadow:0 16px 36px rgba(16,38,74,.35),inset 0 0 0 1px rgba(239,212,139,.35);display:grid;place-items:center;transition:transform .5s var(--e),box-shadow .4s}
.pcgd-launch:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 22px 44px rgba(16,38,74,.42),inset 0 0 0 1px rgba(239,212,139,.6)}
.pcgd-launch:focus-visible{outline:3px solid var(--g);outline-offset:3px}
.pcgd-mono{font-family:"Cardo",Georgia,serif;font-size:19px;letter-spacing:-.02em}
.pcgd-mono em{font-style:normal;color:var(--gs)}
.pcgd-ping{position:absolute;right:5px;top:5px;width:12px;height:12px;border-radius:50%;background:var(--g);border:2px solid #fff}
.pcgd-ping:after{content:"";position:absolute;inset:-2px;border-radius:50%;border:2px solid var(--g);animation:pcgdPing 2.4s ease-out infinite}
@keyframes pcgdPing{0%{transform:scale(1);opacity:.9}100%{transform:scale(2.6);opacity:0}}
.pcgd.open .pcgd-launch .pcgd-mono{opacity:0}
.pcgd.open .pcgd-launch:after{content:"×";position:absolute;font-size:28px;line-height:1}
.pcgd.open .pcgd-ping{display:none}

/* nudge bubble */
.pcgd-bubble{position:absolute;right:76px;bottom:12px;white-space:nowrap;background:#fff;color:var(--n);font-size:13px;font-weight:600;padding:11px 15px;border-radius:10px;box-shadow:0 14px 34px rgba(16,38,74,.18);cursor:pointer;opacity:0;transform:translateX(10px);pointer-events:none;transition:opacity .5s,transform .6s var(--e)}
.pcgd-bubble.on{opacity:1;transform:none;pointer-events:auto}

/* panel */
.pcgd-panel{position:absolute;right:0;bottom:80px;width:390px;height:min(620px,calc(100vh - 130px));display:flex;flex-direction:column;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 40px 90px -20px rgba(8,26,52,.45),0 0 0 1px rgba(16,38,74,.08);opacity:0;visibility:hidden;transform:translateY(18px) scale(.97);transform-origin:100% 100%;transition:opacity .35s,transform .55s var(--e),visibility 0s .55s}
.pcgd.open .pcgd-panel{opacity:1;visibility:visible;transform:none;transition:opacity .35s,transform .55s var(--e),visibility 0s}
.pcgd-head{display:flex;align-items:center;gap:12px;padding:14px 14px 14px 16px;background:linear-gradient(120deg,var(--nd),var(--n));color:#fff;border-bottom:2px solid var(--g)}
.pcgd-av{flex:0 0 40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--g);color:#fff;font-family:"Cardo",Georgia,serif;font-size:14px}
.pcgd-av em{font-style:normal;color:var(--n)}
.pcgd-ht{flex:1;min-width:0}
.pcgd-ht strong{display:block;font-size:14px}
.pcgd-ht span{display:flex;align-items:center;gap:6px;font-size:10.5px;color:rgba(255,255,255,.7);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pcgd-ht i{flex:0 0 7px;height:7px;border-radius:50%;background:#3ccf7e;box-shadow:0 0 0 3px rgba(60,207,126,.22)}
.pcgd-lang select{appearance:none;-webkit-appearance:none;background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:4px;padding:6px 8px;font:700 10px "Montserrat",Arial,sans-serif;letter-spacing:.08em;cursor:pointer}
.pcgd-lang select option{color:var(--n)}
.pcgd-x{width:32px;height:32px;border:0;border-radius:4px;background:transparent;color:#fff;font-size:22px;cursor:pointer}
.pcgd-x:hover{background:rgba(255,255,255,.1)}

.pcgd-feed{flex:1;overflow-y:auto;padding:18px 16px 10px;display:flex;flex-direction:column;gap:10px;background:linear-gradient(180deg,#fbfcfd,#f4f6f9);overscroll-behavior:contain}
.pcgd-msg{max-width:86%;padding:10px 13px;border-radius:12px;font-size:13.5px;line-height:1.5;animation:pcgdIn .45s var(--e) both;word-wrap:break-word}
.pcgd-msg.bot{align-self:flex-start;background:#fff;border:1px solid var(--ln);border-bottom-left-radius:3px}
.pcgd-msg.me{align-self:flex-end;background:var(--n);color:#fff;border-bottom-right-radius:3px}
.pcgd-msg a{color:var(--gd);font-weight:700}
@keyframes pcgdIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
.pcgd-typing{align-self:flex-start;display:flex;gap:4px;padding:12px 14px;background:#fff;border:1px solid var(--ln);border-radius:12px}
.pcgd-typing i{width:6px;height:6px;border-radius:50%;background:#8b96a6;animation:pcgdDot 1s infinite}
.pcgd-typing i:nth-child(2){animation-delay:.15s}.pcgd-typing i:nth-child(3){animation-delay:.3s}
@keyframes pcgdDot{0%,60%,100%{transform:none;opacity:.4}30%{transform:translateY(-4px);opacity:1}}
.pcgd-chips{display:flex;flex-wrap:wrap;gap:6px;animation:pcgdIn .5s .05s var(--e) both}
.pcgd-chip{display:inline-flex;align-items:center;min-height:36px;padding:7px 12px;border-radius:5px;border:1px solid rgba(16,38,74,.18);background:#fff;color:var(--n);font:600 12px "Montserrat",Arial,sans-serif;text-decoration:none;cursor:pointer;transition:background .25s,color .25s,border-color .25s,transform .3s var(--e)}
.pcgd-chip:hover{border-color:var(--g);transform:translateY(-1px)}
.pcgd-chip.primary{background:var(--g);border-color:var(--g);color:#fff}
.pcgd-chip.primary:hover{background:var(--gd)}
.pcgd-done{align-self:center;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e6f4ec;color:#2e8a57;font-weight:800;animation:pcgdIn .5s var(--e) both}

/* request form */
.pcgd-form{display:grid;gap:9px;padding:14px;background:#fff;border:1px solid var(--ln);border-radius:10px;animation:pcgdIn .5s var(--e) both}
.pcgd-form>strong{font-size:13px}
.pcgd-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pcgd-f{display:grid;gap:4px}
.pcgd-f span{font-size:10.5px;font-weight:700;letter-spacing:.04em;color:var(--tx)}
.pcgd-f input,.pcgd-f select,.pcgd-f textarea{width:100%;border:1px solid var(--ln);border-radius:5px;padding:9px 10px;font:14px "Montserrat",Arial,sans-serif;color:var(--n);background:#fff;resize:vertical}
.pcgd-f input:focus,.pcgd-f select:focus,.pcgd-f textarea:focus{outline:none;border-color:var(--g);box-shadow:0 0 0 3px rgba(201,162,77,.18)}
.pcgd-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.pcgd-consent{display:flex;gap:8px;align-items:flex-start;font-size:11px;line-height:1.45;color:var(--tx)}
.pcgd-consent input{margin-top:2px}
.pcgd-consent a{color:var(--gd)}
.pcgd-err{margin:0;font-size:11.5px;color:#b3261e}
.pcgd-form-actions{display:grid;grid-template-columns:minmax(112px,.45fr) 1fr;gap:8px}
.pcgd-form-back{min-height:44px;border:1px solid rgba(16,38,74,.22);border-radius:5px;background:#fff;color:var(--n);font:700 10.5px "Montserrat",Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}
.pcgd-form-back:hover{border-color:var(--g);background:#fbfaf7}
.pcgd-submit{min-height:44px;border:0;border-radius:5px;background:var(--n);color:#fff;font:800 11px "Montserrat",Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .3s}
.pcgd-submit:hover{background:var(--nd)}
.pcgd-submit:disabled{opacity:.6;cursor:wait}

.pcgd-input{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--ln);background:#fff}
.pcgd-input input{flex:1;min-width:0;border:1px solid var(--ln);border-radius:5px;padding:11px 12px;font:14px "Montserrat",Arial,sans-serif;color:var(--n)}
.pcgd-input input:focus{outline:none;border-color:var(--g);box-shadow:0 0 0 3px rgba(201,162,77,.18)}
.pcgd-input button{flex:0 0 44px;border:0;border-radius:5px;background:var(--g);color:#fff;font-size:18px;cursor:pointer}
.pcgd-handoff{border:0;background:#fff;color:var(--gd);font:700 11px "Montserrat",Arial,sans-serif;letter-spacing:.04em;padding:0 12px 12px;cursor:pointer;text-align:center}
.pcgd-handoff:hover{text-decoration:underline}

@media (max-width:560px){
  .pcgd{right:14px;bottom:14px}
  .pcgd-launch{width:56px;height:56px}
  .pcgd-panel{position:fixed;left:0;right:0;bottom:0;width:auto;height:88vh;height:88svh;border-radius:14px 14px 0 0;transform:translateY(40px)}
  .pcgd.open .pcgd-launch{opacity:0;pointer-events:none}
  .pcgd-bubble{right:66px;bottom:8px}
  .pcgd-row{grid-template-columns:1fr}
  .pcgd-form-actions{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.pcgd *{animation:none!important;transition:none!important}}
