/* DPOIndia RoPA guide — sticky CTA bar + logic chatbot. Scoped under #dpo-chat-root / .dpoc- */
:root{
  --dpoc-navy:#000080; --dpoc-navy-deep:#000066; --dpoc-ink:#0A1633;
  --dpoc-saffron:#FF9933; --dpoc-saffron-d:#E67E00;
  --dpoc-paper:#F6F8FB; --dpoc-line:#D9DEEC; --dpoc-muted:#59659B;
  --dpoc-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
#dpo-chat-root, #dpo-chat-root *{box-sizing:border-box}
#dpo-chat-root button{font-family:var(--dpoc-sans)}

/* ---------- sticky bar ---------- */
.dpoc-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:9998;
  display:flex;align-items:center;gap:16px;
  padding:12px clamp(14px,4vw,40px);
  background:linear-gradient(100deg,var(--dpoc-ink),var(--dpoc-navy));
  color:#fff;font-family:var(--dpoc-sans);
  box-shadow:0 -8px 28px rgba(10,22,51,.28);
  transform:translateY(110%);transition:transform .45s cubic-bezier(.2,.8,.2,1);
}
.dpoc-bar.is-in{transform:translateY(0)}
.dpoc-bar__txt{flex:1;min-width:0;font-size:15px;line-height:1.35;font-weight:500}
.dpoc-bar__txt b{font-weight:800;color:#fff}
.dpoc-bar__txt span{display:block;color:#C7D0F5;font-size:13px;font-weight:500;margin-top:1px}
.dpoc-bar__cta{
  flex:none;display:inline-flex;align-items:center;gap:.5em;cursor:pointer;
  background:var(--dpoc-saffron);color:var(--dpoc-ink);font-weight:800;font-size:15px;
  border:none;border-radius:12px;padding:13px 22px;text-decoration:none;white-space:nowrap;
  box-shadow:0 6px 18px rgba(255,153,51,.42);transition:transform .12s ease,background .12s ease,box-shadow .12s ease;
}
.dpoc-bar__cta:hover{background:var(--dpoc-saffron-d);transform:translateY(-1px);box-shadow:0 9px 22px rgba(255,153,51,.5)}
.dpoc-bar__x{flex:none;background:transparent;border:0;color:#9fb0e8;font-size:22px;line-height:1;cursor:pointer;padding:6px;margin-left:-6px}
.dpoc-bar__x:hover{color:#fff}
@media(max-width:640px){
  .dpoc-bar{gap:10px;padding:10px 14px}
  .dpoc-bar__txt span{display:none}
  .dpoc-bar__cta{padding:12px 16px;font-size:14px}
}

/* ---------- launcher pill (persists after bar dismissed) ---------- */
.dpoc-launch{
  position:fixed;right:20px;bottom:96px;z-index:9998;display:none;align-items:center;gap:.5em;cursor:pointer;
  background:var(--dpoc-navy);color:#fff;font-family:var(--dpoc-sans);font-weight:700;font-size:14px;
  border:none;border-radius:999px;padding:12px 18px;box-shadow:0 8px 24px rgba(0,0,102,.4)
}
.dpoc-launch.is-on{display:inline-flex}
.dpoc-launch:hover{background:var(--dpoc-navy-deep)}

/* ---------- modal ---------- */
.dpoc-modal{position:fixed;inset:0;z-index:10000;display:none;align-items:flex-end;justify-content:center}
.dpoc-modal.is-open{display:flex}
.dpoc-ovl{position:absolute;inset:0;background:rgba(10,22,51,.55);backdrop-filter:blur(2px);animation:dpoc-fade .2s ease}
.dpoc-panel{
  position:relative;width:min(460px,100%);max-height:min(86vh,720px);margin:0 16px 16px;
  display:flex;flex-direction:column;background:#fff;border-radius:20px 20px 16px 16px;overflow:hidden;
  font-family:var(--dpoc-sans);box-shadow:0 24px 70px rgba(10,22,51,.45);animation:dpoc-rise .34s cubic-bezier(.2,.8,.2,1)
}
@media(min-width:641px){.dpoc-modal{align-items:center}.dpoc-panel{margin:0}}
@keyframes dpoc-fade{from{opacity:0}to{opacity:1}}
@keyframes dpoc-rise{from{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}

.dpoc-head{display:flex;align-items:center;gap:12px;padding:16px 18px;background:linear-gradient(100deg,var(--dpoc-ink),var(--dpoc-navy));color:#fff}
.dpoc-head__ava{flex:none;width:38px;height:38px;border-radius:50%;background:var(--dpoc-saffron);color:var(--dpoc-ink);display:grid;place-items:center;font-weight:800;font-size:16px}
.dpoc-head__t{flex:1;min-width:0}
.dpoc-head__t b{display:block;font-size:15px;font-weight:700}
.dpoc-head__t span{display:block;font-size:12px;color:#B9C4F0}
.dpoc-head__t span::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#37d67a;margin-right:6px;vertical-align:middle}
.dpoc-head__x{flex:none;background:rgba(255,255,255,.14);border:0;color:#fff;width:32px;height:32px;border-radius:50%;font-size:18px;cursor:pointer}
.dpoc-head__x:hover{background:rgba(255,255,255,.26)}

.dpoc-log{flex:1;overflow-y:auto;padding:18px;background:var(--dpoc-paper);display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}
.dpoc-row{display:flex;gap:9px;max-width:100%}
.dpoc-row--bot{align-items:flex-end}
.dpoc-bub{padding:11px 14px;border-radius:15px;font-size:14.5px;line-height:1.45;max-width:84%;animation:dpoc-pop .22s ease}
@keyframes dpoc-pop{from{transform:translateY(6px);opacity:0}to{transform:translateY(0);opacity:1}}
.dpoc-bub--bot{background:#fff;color:var(--dpoc-ink);border:1px solid var(--dpoc-line);border-bottom-left-radius:5px}
.dpoc-bub--bot b{color:var(--dpoc-navy)}
.dpoc-bub--user{background:var(--dpoc-navy);color:#fff;margin-left:auto;border-bottom-right-radius:5px}
.dpoc-rec{background:#fff;border:1px solid var(--dpoc-line);border-left:4px solid var(--dpoc-saffron);border-radius:12px;padding:12px 14px;font-size:14px;line-height:1.5;color:var(--dpoc-ink)}
.dpoc-rec b{color:var(--dpoc-navy)}
.dpoc-typing{display:inline-flex;gap:4px;padding:13px 15px;background:#fff;border:1px solid var(--dpoc-line);border-radius:15px;border-bottom-left-radius:5px}
.dpoc-typing i{width:7px;height:7px;border-radius:50%;background:#a9b4dd;animation:dpoc-blink 1.2s infinite}
.dpoc-typing i:nth-child(2){animation-delay:.2s}.dpoc-typing i:nth-child(3){animation-delay:.4s}
@keyframes dpoc-blink{0%,60%,100%{opacity:.3}30%{opacity:1}}

.dpoc-foot{padding:12px 14px;background:#fff;border-top:1px solid var(--dpoc-line)}
.dpoc-opts{display:flex;flex-wrap:wrap;gap:8px}
.dpoc-opt{cursor:pointer;background:#fff;color:var(--dpoc-navy);border:1.5px solid var(--dpoc-line);border-radius:11px;padding:10px 14px;font-size:14px;font-weight:600;text-align:left;transition:all .12s ease}
.dpoc-opt:hover{border-color:var(--dpoc-navy);background:var(--dpoc-navy);color:#fff}
.dpoc-opt--ghost{background:transparent;border-style:dashed;color:var(--dpoc-muted);font-weight:500}

.dpoc-form{display:flex;flex-direction:column;gap:9px}
.dpoc-field label{display:block;font-size:12px;font-weight:600;color:var(--dpoc-muted);margin-bottom:3px}
.dpoc-field input{width:100%;padding:11px 13px;border:1.5px solid var(--dpoc-line);border-radius:10px;font-size:14.5px;font-family:var(--dpoc-sans);color:var(--dpoc-ink)}
.dpoc-field input:focus{outline:none;border-color:var(--dpoc-navy);box-shadow:0 0 0 3px rgba(0,0,128,.12)}
.dpoc-field input.err{border-color:#d64545;box-shadow:0 0 0 3px rgba(214,69,69,.12)}
.dpoc-err{color:#d64545;font-size:12px;margin-top:2px;display:none}
.dpoc-err.on{display:block}
.dpoc-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.dpoc-send{margin-top:2px;cursor:pointer;background:var(--dpoc-navy);color:#fff;border:0;border-radius:11px;padding:13px;font-size:15px;font-weight:700;box-shadow:0 6px 18px rgba(0,0,102,.3);transition:all .12s ease}
.dpoc-send:hover:not(:disabled){background:var(--dpoc-navy-deep);transform:translateY(-1px)}
.dpoc-send:disabled{opacity:.6;cursor:default}
.dpoc-fine{font-size:11.5px;color:var(--dpoc-muted);text-align:center;margin-top:2px}
.dpoc-fine a{color:var(--dpoc-navy)}
.dpoc-restart{background:none;border:0;color:var(--dpoc-muted);font-size:12px;cursor:pointer;text-decoration:underline;margin-top:4px;align-self:center}
