/* ============================================================
   Dash-Dock — floating help widget (FAQ bot + direct message)
   Loaded by every public page. Local file, no CDN.
   ============================================================ */
.ddw{position:fixed;right:22px;bottom:22px;z-index:120;font-family:var(--body);color:var(--text)}
.ddw *{box-sizing:border-box}

/* launch button */
.ddw-launch{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 20px;border-radius:999px;border:1px solid rgba(62,170,255,.55);background:rgba(10,20,40,.94);color:var(--text);font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 14px 40px -12px rgba(0,0,0,.9),0 0 0 1px rgba(62,170,255,.15)}
.ddw-launch:hover{border-color:var(--blue);color:#fff;background:rgba(14,28,54,.97)}
.ddw-launch svg{width:18px;height:18px;flex-shrink:0}
.ddw-launch .dot{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok)}
.ddw.open .ddw-launch{display:none}

/* panel */
.ddw-panel{position:fixed;right:22px;bottom:22px;width:min(400px,calc(100vw - 32px));max-height:min(660px,calc(100vh - 44px));display:flex;flex-direction:column;background:#080e1c;border:1px solid rgba(62,170,255,.4);border-radius:12px;overflow:hidden;box-shadow:0 30px 90px -20px #000,0 0 0 1px rgba(62,170,255,.1)}
.ddw-head{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid rgba(62,170,255,.2);background:linear-gradient(180deg,#0d1a33,#080e1c);flex-shrink:0}
.ddw-head .ddw-mark{font-family:var(--display);font-weight:800;font-style:italic;text-transform:uppercase;letter-spacing:.04em;font-size:17px}
.ddw-head .ddw-mark span{color:var(--blue)}
.ddw-head .ddw-sub{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-left:auto;margin-right:6px}
.ddw-x{border:0;background:none;color:var(--muted);font-size:26px;line-height:1;cursor:pointer;width:36px;height:36px;border-radius:6px;flex-shrink:0}
.ddw-x:hover{color:var(--text);background:rgba(255,255,255,.06)}

/* mode switcher — two clearly different choices */
.ddw-modes{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 12px;background:#070c17;border-bottom:1px solid rgba(62,170,255,.16);flex-shrink:0}
.ddw-mode{display:block;width:100%;text-align:left;padding:9px 10px;border-radius:7px;border:1px solid rgba(232,237,246,.16);background:transparent;color:var(--muted);cursor:pointer;font:inherit}
.ddw-mode b{display:block;font-size:13px;font-weight:700;line-height:1.25;color:inherit}
.ddw-mode small{display:block;font-family:var(--mono);font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;margin-top:3px;opacity:.9}
.ddw-mode[aria-selected="true"]{color:#fff}
.ddw-mode[aria-selected="true"][data-mode="bot"]{border-color:rgba(62,170,255,.75);background:rgba(62,170,255,.14);box-shadow:inset 0 0 0 1px rgba(62,170,255,.2)}
.ddw-mode[aria-selected="true"][data-mode="msg"]{border-color:rgba(255,122,26,.8);background:rgba(255,122,26,.14);box-shadow:inset 0 0 0 1px rgba(255,122,26,.22)}
.ddw-mode[aria-selected="true"][data-mode="bot"] small{color:#9fd0ff}
.ddw-mode[aria-selected="true"][data-mode="msg"] small{color:#ffc79c}
.ddw-mode:hover{border-color:rgba(232,237,246,.4);color:var(--text)}

.ddw-body{overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0}
.ddw-view{display:none;padding:14px}
.ddw-view.on{display:block}

/* banner inside widget */
.ddw-note{border-radius:6px;padding:10px 11px;font-size:12px;line-height:1.5;border:1px solid;margin-bottom:12px}
.ddw-note--bot{background:rgba(62,170,255,.08);border-color:rgba(62,170,255,.34);color:#cfe2f5}
.ddw-note--msg{background:rgba(255,122,26,.09);border-color:rgba(255,122,26,.42);color:#ffd6bd}
.ddw-note strong{color:#fff}
.ddw-note--msg strong{color:#ffd6bd}

/* chat log */
.ddw-log{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.ddw-msg{max-width:92%;padding:9px 11px;border-radius:9px;font-size:13.5px;line-height:1.5}
.ddw-msg.bot{background:#101a2e;border:1px solid rgba(62,170,255,.22);border-bottom-left-radius:3px;color:#dbe4f2}
.ddw-msg.me{align-self:flex-end;background:rgba(62,170,255,.16);border:1px solid rgba(62,170,255,.4);border-bottom-right-radius:3px;color:#eaf2ff}
.ddw-msg a{color:var(--blue);text-decoration:underline;word-break:break-word}
.ddw-msg strong{color:#fff}
.ddw-tag{display:block;font-family:var(--mono);font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:5px}

/* quick replies */
.ddw-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.ddw-chip{font-family:var(--mono);font-size:10px;letter-spacing:.07em;text-transform:uppercase;padding:7px 10px;border-radius:999px;border:1px solid rgba(62,170,255,.35);background:rgba(62,170,255,.07);color:#a9c9e8;cursor:pointer;font-weight:500;line-height:1.2;min-height:32px}
.ddw-chip:hover{border-color:var(--blue);color:#fff;background:rgba(62,170,255,.16)}

/* input row for bot */
.ddw-ask{display:flex;gap:7px;position:sticky;bottom:0;background:#080e1c;padding-top:6px}
.ddw-ask input{flex:1;min-height:42px;font-size:14px;background:#0b1220;border:1px solid rgba(62,170,255,.3);border-radius:6px;padding:0 11px;color:var(--text);font-family:var(--body)}
.ddw-ask input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(62,170,255,.16)}
.ddw-ask button{flex-shrink:0;min-height:42px;padding:0 15px;border-radius:6px;border:0;background:var(--blue);color:#04121f;font-weight:700;font-size:13px;cursor:pointer}
.ddw-ask button:hover{background:#5fb8ff}

/* direct message form */
.ddw-form .field{margin-bottom:11px}
.ddw-form label{font-size:11.5px;font-weight:600;margin-bottom:5px}
.ddw-form label .opt{font-size:10.5px}
.ddw-form input,.ddw-form textarea{font-size:14px;padding:9px 10px;min-height:40px;background:#0b1220;border:1px solid rgba(62,170,255,.3);border-radius:6px}
.ddw-form textarea{min-height:88px;resize:vertical;line-height:1.45}
.ddw-form input:focus,.ddw-form textarea:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,122,26,.16)}
.ddw-form .err-msg{font-size:11px;margin-top:4px}
.ddw-form .ddw-consent{display:flex;gap:8px;align-items:flex-start;font-size:11.5px;line-height:1.45;color:var(--muted);margin:2px 0 11px}
.ddw-form .ddw-consent input{width:16px;height:16px;min-height:0;margin-top:2px;flex-shrink:0;accent-color:var(--orange)}
.ddw-hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden}
.ddw-send{width:100%;min-height:44px;border-radius:6px;border:0;background:var(--orange);color:#140800;font-weight:700;font-size:14px;cursor:pointer}
.ddw-send:hover{background:#ff8c3d}
.ddw-send[disabled]{opacity:.6;cursor:not-allowed}

/* result / honest status blocks */
.ddw-result{border-radius:7px;padding:12px;margin-top:12px;font-size:13px;line-height:1.55;border:1px solid}
.ddw-result h4{font-family:var(--display);font-size:19px;text-transform:uppercase;letter-spacing:.02em;margin:0 0 6px;font-weight:700}
.ddw-result p{margin:0 0 8px}
.ddw-result p:last-child{margin-bottom:0}
.ddw-result--ready{background:rgba(255,122,26,.1);border-color:rgba(255,122,26,.5);color:#ffd6bd}
.ddw-result--ready h4{color:#ffb27a}
.ddw-result--ok{background:rgba(95,208,138,.1);border-color:rgba(95,208,138,.5);color:#c8f2d8}
.ddw-result--ok h4{color:var(--ok)}
.ddw-result--err{background:rgba(255,90,90,.1);border-color:rgba(255,90,90,.5);color:#ffd0d0}
.ddw-result--err h4{color:var(--err)}
.ddw-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.ddw-a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-radius:6px;font-size:12.5px;font-weight:700;cursor:pointer;border:1px solid;text-decoration:none;line-height:1.2;text-align:center}
.ddw-a--primary{background:var(--orange);border-color:var(--orange);color:#140800}
.ddw-a--primary:hover{background:#ff8c3d}
.ddw-a--ghost{background:transparent;border-color:rgba(232,237,246,.35);color:var(--text)}
.ddw-a--ghost:hover{border-color:var(--blue);color:var(--blue)}
.ddw-copy-note{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#9ae6b4;margin-top:8px;min-height:14px}

@media (max-width:760px){
  .ddw{right:14px;bottom:14px}
  .ddw-launch{min-height:48px;padding:0 16px;font-size:13px}
  .ddw-panel{right:8px;left:8px;bottom:8px;width:auto;max-height:calc(100vh - 16px);border-radius:12px}
  .ddw-body{max-height:none}
  .ddw-modes{padding:8px}
  .ddw-mode b{font-size:12.5px}
}

/* temporary "Checking…" line while a remote answer loads */
.ddw-thinking{color:var(--muted);font-style:italic}
