/* Staffingly Concierge - brand: purple-night #0e0220, purple-deep #1a0533, purple-mid #4a148c, gold #ffbd4c, teal #0097a7; radius .3rem; Plus Jakarta Sans */
#stfc-root { --pn:#0e0220; --pd:#1a0533; --pm:#4a148c; --pl:#7b1fa2; --gold:#ffbd4c; --gd:#bd7800; --teal:#0097a7; --ink:#2d2d2d; --mute:#6b6b6b; --line:#e8e0f0; --bg:#f8f6fb; --r:.3rem; font-family:"Plus Jakarta Sans",Arial,sans-serif; }
#stfc-root * { box-sizing:border-box; }
.stfc-launch { position:fixed; right:22px; bottom:22px; z-index:99998; display:flex; align-items:center; gap:10px; padding:12px 18px 12px 14px; border:0; border-radius:999px; cursor:pointer; color:#fff; font:700 14px/1 "Plus Jakarta Sans",Arial,sans-serif; background:linear-gradient(135deg,var(--pn),var(--pd) 55%,var(--pl)); box-shadow:0 8px 24px rgba(26,5,51,.35); transition:transform .15s; }
.stfc-launch:hover { transform:translateY(-2px); }
.stfc-launch-ic { width:22px; height:22px; border-radius:50%; background:var(--gold); position:relative; }
.stfc-launch-ic:after { content:""; position:absolute; left:6px; top:7px; width:10px; height:7px; border:2px solid var(--pd); border-top:0; border-radius:0 0 6px 6px; }
.stfc-launch.stfc-open .stfc-launch-txt { display:none; }
.stfc-panel { position:fixed; right:22px; bottom:84px; z-index:99999; width:400px; max-width:calc(100vw - 24px); height:640px; max-height:calc(100vh - 110px); display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:0 18px 60px rgba(14,2,32,.28); overflow:hidden; color:var(--ink); }
.stfc-head { display:flex; align-items:center; gap:12px; padding:14px 14px 12px; border-bottom:1px solid var(--line); background:#fff; }
.stfc-logo { height:30px; width:auto; }
.stfc-title { flex:1; min-width:0; }
.stfc-name { font-weight:800; font-size:16px; color:var(--pd); line-height:1.15; }
.stfc-badge { display:inline-flex; align-items:center; gap:5px; margin-top:3px; font-size:11px; font-weight:800; letter-spacing:.6px; color:var(--teal); }
.stfc-badge i { width:12px; height:12px; border-radius:50%; border:2px solid var(--teal); position:relative; }
.stfc-badge i:after { content:""; position:absolute; left:2px; top:1px; width:4px; height:2px; border:2px solid var(--teal); border-top:0; border-right:0; transform:rotate(-45deg); }
.stfc-ic { border:0; background:transparent; color:var(--ink); font-size:18px; width:34px; height:34px; border-radius:var(--r); cursor:pointer; }
.stfc-ic:hover { background:var(--bg); }
.stfc-body { flex:1; overflow-y:auto; padding:16px 14px; background:var(--bg); display:flex; flex-direction:column; gap:12px; }
.stfc-msg { max-width:88%; padding:14px 16px; border-radius:12px; font-size:15px; line-height:1.55; }
.stfc-msg p { margin:0 0 10px; } .stfc-msg p:last-child { margin:0; }
.stfc-msg ul { margin:6px 0 8px 18px; padding:0; } .stfc-msg li { margin:3px 0; }
.stfc-bot { align-self:flex-start; background:#fff; border:1px solid var(--line); border-radius:12px 12px 12px 4px; box-shadow:0 2px 10px rgba(0,0,0,.04); }
.stfc-user { align-self:flex-end; background:linear-gradient(135deg,var(--pd),var(--pm)); color:#fff; border-radius:12px 12px 4px 12px; }
.stfc-msg a { color:var(--pm); font-weight:700; }
.stfc-user a { color:var(--gold); }
.stfc-src { margin-top:8px; padding-top:8px; border-top:1px dashed var(--line); font-size:11.5px; color:var(--mute); }
.stfc-src a { color:var(--pm); font-weight:600; }
.stfc-typing span { display:inline-block; width:7px; height:7px; margin:0 2px; border-radius:50%; background:var(--pm); opacity:.35; animation:stfc-b 1s infinite; }
.stfc-typing span:nth-child(2) { animation-delay:.2s; } .stfc-typing span:nth-child(3) { animation-delay:.4s; }
@keyframes stfc-b { 0%,100% { opacity:.25; transform:translateY(0);} 50% { opacity:1; transform:translateY(-3px);} }
.stfc-btn { display:inline-block; margin:8px 0 2px; padding:11px 18px; border:0; border-radius:var(--r); background:var(--gold); color:var(--pd); font:800 14px "Plus Jakarta Sans",Arial,sans-serif; text-decoration:none; cursor:pointer; }
.stfc-btn:hover { background:#ffc966; }
.stfc-btn-w { width:100%; text-align:center; }
.stfc-dim { font-size:12px; color:var(--mute); margin-top:6px; }
.stfc-foot { border-top:1px solid var(--line); padding:12px 14px 14px; background:#fff; }
.stfc-ask { display:flex; gap:8px; }
.stfc-in { flex:1; padding:13px 14px; border:1.5px solid var(--line); border-radius:var(--r); font:400 15px "Plus Jakarta Sans",Arial,sans-serif; color:var(--ink); outline:0; }
.stfc-in:focus { border-color:var(--pm); box-shadow:0 0 0 3px rgba(74,20,140,.12); }
.stfc-send { width:52px; border:0; border-radius:var(--r); background:var(--gold); color:var(--pd); font-size:18px; cursor:pointer; }
.stfc-send:hover { background:#ffc966; }
.stfc-note { font-size:11.5px; color:var(--mute); margin:8px 0 12px; line-height:1.4; }
.stfc-topics-h { font-size:11px; font-weight:800; letter-spacing:.8px; color:var(--pd); margin-bottom:8px; }
.stfc-topics { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.stfc-chip { display:flex; align-items:center; justify-content:space-between; gap:6px; padding:12px 12px; border:1.5px solid var(--line); border-radius:var(--r); background:#fff; color:var(--pm); font:700 13px "Plus Jakarta Sans",Arial,sans-serif; text-align:left; cursor:pointer; }
.stfc-chip:hover { border-color:var(--pm); background:#f3eff8; }
.stfc-chip span { color:var(--gold); font-size:18px; line-height:1; }
.stfc-lead { align-self:stretch; background:#fff; border:1.5px solid var(--pm); border-radius:12px; padding:14px; display:flex; flex-direction:column; gap:8px; }
.stfc-lead-h { font-weight:800; color:var(--pd); font-size:15px; margin-bottom:2px; }
.stfc-lead input, .stfc-lead select { width:100%; padding:11px 12px; border:1.5px solid var(--line); border-radius:var(--r); font:400 14px "Plus Jakarta Sans",Arial,sans-serif; color:var(--ink); background:#fff; }
.stfc-lead input:focus, .stfc-lead select:focus { outline:0; border-color:var(--pm); }
.stfc-row2 { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.stfc-hp { position:absolute !important; left:-9999px !important; }
.stfc-consent { display:flex; gap:8px; align-items:flex-start; font-size:11.5px; color:var(--mute); line-height:1.4; }
.stfc-consent input { width:auto; margin-top:2px; }
.stfc-askai { align-self:flex-start; max-width:88%; padding:10px 12px; border:1px dashed var(--line); border-radius:10px; background:#fff; }
.stfc-askai-h { font-size:11.5px; font-weight:800; color:var(--pd); margin-bottom:7px; letter-spacing:.2px; }
.stfc-askai-h span { font-weight:400; color:var(--mute); }
.stfc-askai-btns { display:flex; flex-wrap:wrap; gap:6px; }
.stfc-eng { padding:6px 11px; border:1.5px solid var(--pm); border-radius:999px; color:var(--pm); font:700 12px "Plus Jakarta Sans",Arial,sans-serif; text-decoration:none; background:#fff; }
.stfc-eng:hover { background:var(--pm); color:#fff; }
.stfc-slots { margin-top:8px; }
.stfc-days { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:8px; }
.stfc-day { padding:7px 10px; border:1.5px solid var(--line); border-radius:var(--r); background:#fff; color:var(--pd); font:700 12px "Plus Jakarta Sans",Arial,sans-serif; cursor:pointer; }
.stfc-day.stfc-on { background:var(--pd); color:#fff; border-color:var(--pd); }
.stfc-times { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }
.stfc-time { padding:9px 6px; border:1.5px solid var(--pm); border-radius:var(--r); background:#fff; color:var(--pm); font:700 13px "Plus Jakarta Sans",Arial,sans-serif; cursor:pointer; }
.stfc-time:hover { background:#f3eff8; }
.stfc-time.stfc-on { background:var(--gold); border-color:var(--gold); color:var(--pd); }
.stfc-logo-txt { display:none; font-weight:800; font-size:20px; color:var(--pd); letter-spacing:-.3px; }
.stfc-logo-txt b { color:var(--gd); }
.stfc-nologo .stfc-logo { display:none; } .stfc-nologo .stfc-logo-txt { display:block; }
.stfc-lead input, .stfc-lead select, .stfc-row2 > * { min-width:0; }
@media (max-width:480px) { .stfc-panel { left:8px; right:8px; width:auto; max-width:none; bottom:76px; height:calc(100vh - 92px); max-height:none; border-radius:10px; } .stfc-launch { right:12px; bottom:12px; } .stfc-topics { grid-template-columns:1fr; } .stfc-msg { max-width:94%; } .stfc-row2 { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { .stfc-typing span { animation:none; opacity:.7; } .stfc-launch { transition:none; } }
