/* ========== NOVA CHATBOT ========== */
#nova-btn{position:fixed;bottom:24px;right:24px;width:58px;height:58px;border-radius:16px;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-mid) 100%);border:2px solid var(--gold);cursor:pointer;z-index:9998;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 24px rgba(201,162,39,0.25);transition:all .3s ease;transform:translateX(100px);opacity:0}
#nova-btn.visible{transform:translateX(0);opacity:1;animation:novaBounce 0.6s cubic-bezier(0.68,-0.55,0.265,1.55)}
@keyframes novaBounce{0%{transform:translateX(100px);opacity:0}60%{transform:translateX(-10px);opacity:1}100%{transform:translateX(0)}}
#nova-btn:hover{transform:translateY(-3px);box-shadow:0 8px 32px rgba(201,162,39,0.35)}
#nova-btn.hidden{transform:scale(0);opacity:0;pointer-events:none}
#nova-btn svg{width:28px;height:28px;stroke:var(--gold);stroke-width:1.5;fill:none}

/* ========== NOVA BANNER ========== */
#nova-banner{position:fixed;bottom:90px;right:24px;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-mid) 100%);border:1px solid rgba(201,162,39,0.3);border-radius:16px;padding:16px 20px;z-index:9997;opacity:0;transform:translateY(20px);transition:all .4s cubic-bezier(0.4,0,0.2,1);pointer-events:none;max-width:280px;box-shadow:0 10px 40px rgba(0,0,0,0.3)}
#nova-banner.visible{opacity:1;transform:translateY(0);pointer-events:auto}
#nova-banner::after{content:'';position:absolute;bottom:-8px;right:30px;border:8px solid transparent;border-top-color:var(--navy-mid)}
.nova-banner-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.nova-banner-avatar{width:36px;height:36px;background:var(--gold);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.nova-banner-avatar svg{width:20px;height:20px;stroke:var(--navy-deep);stroke-width:1.5;fill:none}
.nova-banner-info{flex:1}
.nova-banner-name{font-weight:600;font-size:0.9rem;color:var(--white)}
.nova-banner-status{font-size:0.7rem;color:#22c55e;display:flex;align-items:center;gap:4px}
.nova-banner-status::before{content:'';width:6px;height:6px;background:#22c55e;border-radius:50%}
.nova-banner-close{background:none;border:none;color:var(--gray-500);font-size:18px;cursor:pointer;padding:2px 6px;transition:color .2s;position:absolute;top:8px;right:8px}
.nova-banner-close:hover{color:var(--white)}
.nova-banner-text{font-size:0.85rem;color:var(--gray-400);line-height:1.5;margin-bottom:12px}
.nova-banner-cta{display:flex;gap:8px}
.nova-banner-btn{flex:1;padding:10px 16px;border-radius:8px;font-size:0.8rem;font-weight:600;cursor:pointer;transition:all .2s;border:none;text-align:center}
.nova-banner-btn.primary{background:var(--gold);color:var(--navy-deep)}
.nova-banner-btn.primary:hover{transform:translateY(-1px);box-shadow:0 4px 15px rgba(201,162,39,0.3)}
.nova-banner-btn.secondary{background:transparent;border:1px solid var(--border);color:var(--gray-400)}
.nova-banner-btn.secondary:hover{border-color:var(--gold);color:var(--gold)}

/* ========== NOVA CHAT WINDOW ========== */
#nova-chat{position:fixed;bottom:24px;right:24px;width:380px;height:540px;background:var(--navy-deep);border:1px solid rgba(201,162,39,0.2);border-radius:20px;z-index:9999;display:flex;flex-direction:column;opacity:0;transform:translateY(20px) scale(0.95);pointer-events:none;transition:all .3s cubic-bezier(0.4,0,0.2,1);box-shadow:0 25px 80px rgba(0,0,0,0.4)}
#nova-chat.open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}

/* ========== NOVA HEADER ========== */
.nova-head{display:flex;align-items:center;gap:12px;padding:20px;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-mid) 100%);border-radius:20px 20px 0 0;border-bottom:1px solid rgba(201,162,39,0.15)}
.nova-avatar{width:40px;height:40px;background:var(--gold);border-radius:12px;display:flex;align-items:center;justify-content:center}
.nova-avatar svg{width:22px;height:22px;stroke:var(--navy-deep);stroke-width:1.5;fill:none}
.nova-head-info{flex:1}
.nova-head-title{font-weight:600;font-size:1rem}
.nova-head-status{font-size:0.75rem;color:var(--gray-500);display:flex;align-items:center;gap:6px}
.nova-head-status::before{content:'';width:7px;height:7px;background:#22c55e;border-radius:50%;animation:pulse 2s infinite}
.nova-close{background:none;border:none;color:var(--gray-500);font-size:22px;cursor:pointer;padding:4px 8px;transition:color .2s}
.nova-close:hover{color:var(--white)}

/* ========== NOVA BODY ========== */
.nova-body{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:12px}
.nova-body::-webkit-scrollbar{width:4px}
.nova-body::-webkit-scrollbar-thumb{background:var(--navy);border-radius:2px}

/* ========== NOVA MESSAGES ========== */
.nova-msg{max-width:85%;padding:14px 18px;border-radius:16px;font-size:0.9rem;line-height:1.55;animation:msgSlide .3s ease}
@keyframes msgSlide{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.nova-msg.bot{background:var(--navy-mid);border:1px solid var(--border);border-bottom-left-radius:4px;align-self:flex-start}
.nova-msg.user{background:var(--gold);color:var(--navy-deep);border-bottom-right-radius:4px;align-self:flex-end}
.nova-msg.bot strong{color:var(--gold)}

/* ========== NOVA QUICK REPLIES ========== */
.nova-quick{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.nova-qbtn{background:var(--gold-dim);border:1px solid rgba(201,162,39,0.3);color:var(--gold);padding:8px 14px;border-radius:100px;font-size:0.8rem;cursor:pointer;transition:all .2s}
.nova-qbtn:hover{background:var(--gold);color:var(--navy-deep)}

/* ========== NOVA TYPING INDICATOR ========== */
.nova-typing{display:flex;gap:5px;padding:14px 18px;background:var(--navy-mid);border:1px solid var(--border);border-radius:16px;border-bottom-left-radius:4px;align-self:flex-start}
.nova-typing span{width:7px;height:7px;background:var(--gold);border-radius:50%;animation:bounce 1.4s infinite}
.nova-typing span:nth-child(2){animation-delay:0.2s}
.nova-typing span:nth-child(3){animation-delay:0.4s}
@keyframes bounce{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-8px)}}

/* ========== NOVA INPUT ========== */
.nova-input{padding:16px;border-top:1px solid var(--border)}
.nova-input-row{display:flex;gap:10px;background:var(--navy-mid);border-radius:14px;padding:6px 6px 6px 18px;border:1px solid var(--border)}
.nova-input-row:focus-within{border-color:var(--gold)}
#nova-text{flex:1;background:none;border:none;color:var(--white);font-size:0.9rem;outline:none;font-family:inherit}
#nova-text::placeholder{color:var(--gray-600)}
.nova-send{width:40px;height:40px;background:var(--gold);border:none;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}
.nova-send:disabled{opacity:0.4;cursor:not-allowed}
.nova-send:not(:disabled):hover{transform:scale(1.05)}
.nova-send svg{width:18px;height:18px;fill:var(--navy-deep)}

/* ========== NOVA FOOTER ========== */
.nova-foot{text-align:center;padding:10px;font-size:0.7rem;color:var(--gray-600)}

/* ========== NOVA RESPONSIVE ========== */
@media(max-width:480px){#nova-chat{width:calc(100%-16px);height:70vh;bottom:8px;right:8px;left:8px}#nova-banner{right:8px;left:8px;max-width:none}}

/* ========== NOVA PROPOSAL FORM ========== */
.nova-proposal{background:var(--navy-deep);border:1px solid rgba(201,162,39,0.3);border-radius:12px;padding:16px;margin-top:12px}
.nova-proposal h4{color:var(--gold);font-size:0.9rem;margin-bottom:12px}
.nova-proposal input,.nova-proposal select,.nova-proposal textarea{width:100%;padding:10px 12px;margin-bottom:10px;background:var(--navy-mid);border:1px solid var(--border);border-radius:8px;color:var(--white);font-size:0.85rem;font-family:inherit}
.nova-proposal input:focus,.nova-proposal select:focus,.nova-proposal textarea:focus{border-color:var(--gold);outline:none}
.nova-proposal input::placeholder,.nova-proposal textarea::placeholder{color:var(--gray-600)}
.nova-proposal select{cursor:pointer}
.nova-proposal textarea{min-height:70px;resize:vertical}
.nova-proposal-btns{display:flex;gap:8px;margin-top:8px}
.nova-proposal-submit{flex:1;padding:12px;background:var(--gold);border:none;border-radius:8px;color:var(--navy-deep);font-weight:600;cursor:pointer;transition:all .2s}
.nova-proposal-submit:hover{transform:translateY(-1px)}
.nova-proposal-submit:disabled{opacity:0.5;cursor:not-allowed}
.nova-proposal-cancel{padding:12px 16px;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--gray-500);cursor:pointer}
.nova-proposal-cancel:hover{border-color:var(--gold);color:var(--gold)}
