/* OZY AI Chatbot — Stylesheet v1.0.0 */

:root {
    --ozy-primary:      #CFF023;
    --ozy-secondary:    #0A1A2F;
    --ozy-primary-hover:#b8d41f;
    --ozy-primary-glow: rgba(207,240,35,0.35);
    --ozy-primary-light:rgba(207,240,35,0.10);
    --ozy-bg:           rgba(10,26,47,0.96);
    --ozy-bg-2:         rgba(8,20,38,0.99);
    --ozy-border:       rgba(207,240,35,0.08);
    --ozy-border-mid:   rgba(207,240,35,0.18);
    --ozy-text:         rgba(255,255,255,0.85);
    --ozy-muted:        rgba(255,255,255,0.45);
    --ozy-font:         'Rethink Sans',-apple-system,BlinkMacSystemFont,sans-serif;
    --ozy-radius:       20px;
}

/* ═══════════════════════════════════════════
   FLOATING BUTTON
═══════════════════════════════════════════ */
.ozy-float-btn {
    position: fixed !important;
    z-index: 99998 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 5px !important;
    cursor: pointer !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
    -webkit-tap-highlight-color: transparent !important;
    text-decoration: none !important;
}
.ozy-float-btn.ozy-pos-bottom-right { bottom: 28px !important; right: 28px !important; }
.ozy-float-btn.ozy-pos-bottom-left  { bottom: 28px !important; left:  28px !important; }
.ozy-float-btn.ozy-pos-top-right    { top: 28px !important;    right: 28px !important; }
.ozy-float-btn.ozy-pos-top-left     { top: 28px !important;    left:  28px !important; }

.ozy-float-btn:hover,.ozy-float-btn:focus { background:none !important; outline:none !important; box-shadow:none !important; }

.ozy-float-orb-wrap { width:62px !important; height:62px !important; position:relative !important; flex-shrink:0 !important; }

.ozy-float-orb {
    width: 62px !important; height: 62px !important;
    border-radius: 50% !important;
    background: rgba(8,14,28,0.92) !important;
    border: 1.5px solid rgba(207,240,35,0.35) !important;
    box-shadow: 0 0 18px rgba(207,240,35,0.25), 0 4px 20px rgba(0,0,0,0.5) !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    overflow: hidden !important; transition: transform 0.2s !important; position: relative !important;
}
.ozy-float-orb::after {
    content: '' !important; position: absolute !important; left: 0 !important; right: 0 !important;
    height: 40% !important; top: -40% !important;
    background: linear-gradient(to bottom, transparent, rgba(207,240,35,0.18) 50%, transparent) !important;
    animation: ozyScan 2.8s ease-in-out infinite !important; pointer-events: none !important; z-index: 2 !important;
}
.ozy-float-orb img { width:100% !important; height:100% !important; object-fit:cover !important; border-radius:50% !important; display:block !important; }
.ozy-float-orb svg { width:48px !important; height:48px !important; position:relative !important; z-index:1 !important; }
.ozy-float-btn:hover .ozy-float-orb { transform:scale(1.08) !important; }

/* Expanding sonar rings — pulse outward from the orb and fade */
.ozy-pulse-ring {
    position: absolute !important;
    border-radius: 50% !important;
    border: 1.5px solid rgba(207,240,35,0.7) !important;
    width: 62px !important; height: 62px !important;
    top: 0 !important; left: 0 !important;
    animation: ozyPulseOut 2.5s ease-out infinite !important;
    pointer-events: none !important;
}
.ozy-pulse-ring:nth-child(2) { animation-delay: 0.83s !important; }
.ozy-pulse-ring:nth-child(3) { animation-delay: 1.66s !important; }
@keyframes ozyPulseOut {
    0%   { transform: scale(1);   opacity: 0.75; }
    70%  { opacity: 0.15; }
    100% { transform: scale(2.4); opacity: 0; }
}

.ozy-float-ring {
    position: absolute !important;
    top: -5px !important; left: -5px !important;
    width: calc(100% + 10px) !important; height: calc(100% + 10px) !important;
    border-radius: 50% !important;
    border: 1.5px solid rgba(207,240,35,0.45) !important;
    animation: ozyRingSpin 8s linear infinite !important;
    pointer-events: none !important;
}
@keyframes ozyRingSpin { to { transform: rotate(360deg); } }

.ozy-float-label {
    font-family: var(--ozy-font) !important;
    font-size: 0.58rem !important; font-weight: 700 !important;
    color: rgba(255,255,255,0.6) !important;
    letter-spacing: 0.12em !important; text-transform: uppercase !important;
    user-select: none !important; background: none !important; text-shadow: none !important;
    margin: 0 !important; padding: 0 !important;
}

/* ═══════════════════════════════════════════
   BACKDROP + POPUP
═══════════════════════════════════════════ */
.ozy-backdrop {
    position: fixed !important;
    top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important;
    background: rgba(0,0,0,0.75) !important;
    backdrop-filter: blur(10px) !important; -webkit-backdrop-filter: blur(10px) !important;
    z-index: 999999 !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    padding: 20px !important; box-sizing: border-box !important;
    opacity: 0 !important; pointer-events: none !important;
    transition: opacity 0.28s ease !important;
}
.ozy-backdrop.open { opacity: 1 !important; pointer-events: auto !important; }

.ozy-popup-outer {
    position: relative !important;
    width: 100% !important; max-width: 740px !important;
    display: flex !important; flex-direction: column !important;
    align-items: stretch !important;
    border-radius: var(--ozy-radius) !important;
}

/* ANIMATED BORDER */
.ozy-border-box {
    position: absolute !important;
    top: -1px !important; left: -1px !important;
    width: calc(100% + 2px) !important; height: calc(100% + 2px) !important;
    border-radius: calc(var(--ozy-radius) + 1px) !important;
    pointer-events: none !important; z-index: 30 !important; overflow: hidden !important;
}
.ozy-border-box::before {
    content: "" !important; position: absolute !important; inset: 0 !important;
    border-radius: inherit !important; border: 1px solid rgba(207,240,35,0.18) !important;
    pointer-events: none !important;
}
.ozy-border-box::after { display: none !important; }

.ozy-bl-top,.ozy-bl-bottom {
    position: absolute !important; height: 2px !important; width: 45% !important;
    background: linear-gradient(90deg, transparent 0%, rgba(207,240,35,0.4) 15%, rgba(207,240,35,0.9) 50%, rgba(207,240,35,0.4) 85%, transparent 100%) !important;
    border-radius: 2px !important;
}
.ozy-bl-top    { top: 0 !important;    animation: ozyTop 2.4s linear infinite !important; }
.ozy-bl-bottom { bottom: 0 !important; animation: ozyBottom 2.4s linear infinite !important; }
@keyframes ozyTop    { 0%{left:-45%}  100%{left:100%}  }
@keyframes ozyBottom { 0%{right:-45%} 100%{right:100%} }

.ozy-bl-left,.ozy-bl-right {
    position: absolute !important; width: 2px !important; height: 45% !important;
    background: linear-gradient(180deg, transparent 0%, rgba(207,240,35,0.4) 15%, rgba(207,240,35,0.9) 50%, rgba(207,240,35,0.4) 85%, transparent 100%) !important;
    border-radius: 2px !important;
}
.ozy-bl-right { right: 0 !important; animation: ozyRight 2.4s linear infinite !important; animation-delay: 1.2s !important; }
.ozy-bl-left  { left: 0 !important;  animation: ozyLeft  2.4s linear infinite !important; animation-delay: 1.2s !important; }
@keyframes ozyRight { 0%{top:-45%}    100%{top:100%}    }
@keyframes ozyLeft  { 0%{bottom:-45%} 100%{bottom:100%} }

.ozy-popup {
    position: relative !important; width: 100% !important;
    background: rgba(8,14,28,0.97) !important;
    border-radius: var(--ozy-radius) !important; border: 1px solid transparent !important;
    box-shadow: 0 40px 100px rgba(0,0,0,0.85) !important;
    display: flex !important; flex-direction: column !important;
    overflow: hidden !important; font-family: var(--ozy-font) !important;
    transform: translateY(24px) scale(0.96) !important;
    transition: transform 0.35s cubic-bezier(0.34,1.3,0.64,1) !important;
    box-sizing: border-box !important;
    height: 600px !important; max-height: 88vh !important;
}
.ozy-backdrop.open .ozy-popup { transform: translateY(0) scale(1) !important; }

/* HEADER */
.ozy-popup-header {
    position: relative !important; overflow: hidden !important;
    padding: 14px 18px !important; border-bottom: 1px solid var(--ozy-border) !important;
    display: flex !important; align-items: center !important; justify-content: space-between !important;
    flex-shrink: 0 !important; box-sizing: border-box !important;
}
.ozy-popup-header-bg {
    position: absolute !important; top:0 !important; left:0 !important; width:100% !important; height:100% !important;
    background: radial-gradient(ellipse at 20% 55%, rgba(207,240,35,0.12) 0%, transparent 65%) !important;
    pointer-events: none !important; z-index:0 !important;
}
.ozy-popup-header-bg::after {
    content:'' !important; position:absolute !important; top:0 !important; left:0 !important; width:100% !important; height:100% !important;
    background-image: radial-gradient(circle, rgba(255,255,255,0.03) 1px, transparent 1px) !important;
    background-size: 18px 18px !important;
}
.ozy-popup-agent { display:flex !important; align-items:center !important; gap:11px !important; position:relative !important; z-index:1 !important; }

.ozy-popup-orb {
    width: 36px !important; height: 36px !important; min-width: 36px !important;
    border-radius: 50% !important;
    background: rgba(6,10,22,0.9) !important;
    border: 1.5px solid rgba(207,240,35,0.3) !important;
    box-shadow: 0 0 12px var(--ozy-primary-glow) !important;
    flex-shrink: 0 !important; overflow: hidden !important; position: relative !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
}
.ozy-popup-orb::after {
    content: '' !important; position: absolute !important; left: 0 !important; right: 0 !important;
    height: 40% !important; top: -40% !important;
    background: linear-gradient(to bottom, transparent, rgba(207,240,35,0.16) 50%, transparent) !important;
    border-radius: 50% !important;
    animation: ozyScan 2.8s ease-in-out infinite !important; pointer-events: none !important;
}
@keyframes ozyScan { 0% { top: -40%; } 100% { top: 100%; } }
.ozy-popup-orb img { width:100% !important; height:100% !important; object-fit:contain !important; border-radius:50% !important; display:block !important; }
.ozy-popup-orb svg { width:30px !important; height:30px !important; }

.ozy-popup-name {
    font-family: var(--ozy-font) !important; font-size:0.88rem !important;
    font-weight:700 !important; color:#ffffff !important; margin:0 !important; padding:0 !important;
    background:none !important; border:none !important; letter-spacing:-0.01em !important;
}
.ozy-popup-name em { color:var(--ozy-primary) !important; font-style:normal !important; }

.ozy-popup-sub {
    font-family:var(--ozy-font) !important; font-size:0.67rem !important; color:var(--ozy-muted) !important;
    margin:2px 0 0 !important; padding:0 !important; background:none !important; font-weight:400 !important;
}

.ozy-popup-right { display:flex !important; align-items:center !important; gap:9px !important; position:relative !important; z-index:1 !important; }

.ozy-status-pill {
    display:flex !important; align-items:center !important; gap:6px !important;
    padding:5px 12px !important; background:rgba(255,255,255,0.05) !important;
    border:1px solid var(--ozy-border-mid) !important; border-radius:30px !important;
    font-family:var(--ozy-font) !important; font-size:0.68rem !important; font-weight:700 !important;
    color:#4ade80 !important; letter-spacing:0.06em !important; text-transform:uppercase !important;
    white-space:nowrap !important;
}
.ozy-status-dot {
    width:7px !important; height:7px !important; border-radius:50% !important;
    background:#4ade80 !important; box-shadow:0 0 6px #4ade80 !important;
    animation:ozyDotPulse 2s ease-in-out infinite !important; display:inline-block !important;
}
@keyframes ozyDotPulse { 0%,100%{opacity:1} 50%{opacity:0.3} }

.ozy-popup-close {
    width:28px !important; height:28px !important; border-radius:7px !important;
    background:rgba(255,255,255,0.05) !important; border:1px solid var(--ozy-border) !important;
    display:flex !important; align-items:center !important; justify-content:center !important;
    cursor:pointer !important; color:var(--ozy-muted) !important; transition:all 0.18s !important;
    padding:0 !important; box-shadow:none !important;
}
.ozy-popup-close:hover { background:rgba(207,240,35,0.12) !important; border-color:rgba(207,240,35,0.3) !important; color:var(--ozy-primary) !important; }
.ozy-popup-close svg { width:14px !important; height:14px !important; stroke:currentColor !important; fill:none !important; }

/* AGENT SELECTOR */
.ozy-agent-tabs {
    padding: 8px 16px 0 !important; display:flex !important; gap:6px !important;
    border-bottom: 1px solid var(--ozy-border) !important; flex-shrink:0 !important;
    overflow-x: auto !important; box-sizing:border-box !important;
}
.ozy-agent-tab {
    padding: 6px 14px !important; border-radius:7px 7px 0 0 !important;
    border:1px solid transparent !important; border-bottom:none !important;
    font-family:var(--ozy-font) !important; font-size:0.75rem !important; font-weight:600 !important;
    color:var(--ozy-muted) !important; cursor:pointer !important; background:none !important;
    transition:all 0.18s !important; white-space:nowrap !important;
}
.ozy-agent-tab:hover { color:#fff !important; }
.ozy-agent-tab.active { background:rgba(207,240,35,0.12) !important; border-color:var(--ozy-border-mid) !important; color:var(--ozy-primary) !important; }

/* CHAT MESSAGES AREA */
.ozy-chat-messages {
    overflow-y: auto !important; flex: 1 !important;
    padding: 16px 18px !important; display:flex !important; flex-direction:column !important; gap:14px !important;
    min-height: 0 !important;
    scroll-behavior: smooth !important; box-sizing:border-box !important;
}
.ozy-chat-messages::-webkit-scrollbar { width:3px !important; }
.ozy-chat-messages::-webkit-scrollbar-track { background:transparent !important; }
.ozy-chat-messages::-webkit-scrollbar-thumb { background:rgba(255,255,255,0.1) !important; border-radius:2px !important; }

.ozy-msg { display:flex !important; gap:10px !important; align-items:flex-start !important; }
.ozy-msg.ozy-msg-user { flex-direction:row-reverse !important; }

.ozy-msg-avatar {
    width:30px !important; height:30px !important; min-width:30px !important;
    border-radius:50% !important; overflow:hidden !important; flex-shrink:0 !important;
    display:flex !important; align-items:center !important; justify-content:center !important;
    position: relative !important;
}
.ozy-msg-avatar.ai-avatar {
    background: rgba(6,10,22,0.9) !important;
    border: 1.5px solid rgba(207,240,35,0.28) !important;
    box-shadow: 0 0 10px var(--ozy-primary-glow) !important;
}
.ozy-msg-avatar.ai-avatar::after {
    content: '' !important; position: absolute !important; left: 0 !important; right: 0 !important;
    height: 40% !important; top: -40% !important;
    background: linear-gradient(to bottom, transparent, rgba(207,240,35,0.14) 50%, transparent) !important;
    border-radius: 50% !important;
    animation: ozyScan 2.8s ease-in-out infinite !important; pointer-events: none !important;
}
.ozy-msg-avatar.user-avatar {
    background: linear-gradient(135deg, #6366f1, #a855f7) !important;
    box-shadow: 0 0 10px rgba(168,85,247,0.35) !important;
}
.ozy-msg-avatar img { width:100% !important; height:100% !important; object-fit:cover !important; display:block !important; border-radius:50% !important; }
.ozy-msg-avatar svg { width:26px !important; height:26px !important; }
.ozy-msg-avatar.ai-avatar svg   { }
.ozy-msg-avatar.user-avatar svg { fill:rgba(255,255,255,0.92) !important; stroke:none !important; }

.ozy-msg-bubble {
    max-width: 82% !important;
    padding: 10px 14px !important; border-radius:14px !important;
    font-family:var(--ozy-font) !important; font-size:0.86rem !important; line-height:1.72 !important;
    box-sizing:border-box !important;
}
.ozy-msg.ozy-msg-ai .ozy-msg-bubble {
    background: rgba(255,255,255,0.05) !important; color:var(--ozy-text) !important;
    border:1px solid var(--ozy-border-mid) !important; border-top-left-radius:4px !important;
}
.ozy-msg.ozy-msg-user .ozy-msg-bubble {
    background: var(--ozy-primary) !important; color: var(--ozy-secondary) !important;
    border-top-right-radius:4px !important; font-weight:500 !important;
}

.ozy-msg-bubble strong { color:#ffffff !important; font-weight:600 !important; }
.ozy-msg.ozy-msg-user .ozy-msg-bubble strong { color:inherit !important; }
.ozy-msg-bubble ul { margin:6px 0 !important; padding-left:18px !important; list-style:disc !important; }
.ozy-msg-bubble li { margin:3px 0 !important; }
.ozy-msg-bubble li::marker { color:var(--ozy-primary) !important; }
.ozy-msg.ozy-msg-user .ozy-msg-bubble li::marker { color:var(--ozy-secondary) !important; }
.ozy-msg-bubble h3 { font-family:var(--ozy-font) !important; font-size:0.93rem !important; font-weight:700 !important; color:#ffffff !important; margin:10px 0 5px !important; }
.ozy-msg-bubble h3:first-child { margin-top:0 !important; }
.ozy-msg-bubble a { color:var(--ozy-primary) !important; }
.ozy-msg-bubble p { margin:0 0 0.45em !important; padding:0 !important; }
.ozy-msg-bubble p:last-child { margin-bottom:0 !important; }

/* QUICK PILLS (before first message) */
.ozy-popup-pills {
    padding: 10px 16px 10px !important;
    flex-wrap:wrap !important; gap:7px !important; flex-shrink:0 !important;
    box-sizing:border-box !important;
    border-top:1px solid var(--ozy-border) !important;
}
.ozy-popup-pills.ozy-visible { display:flex !important; }
.ozy-popup-pills.ozy-hidden  { display:none !important; padding:0 !important; border-top:none !important; }

.ozy-quick-pill {
    display:inline-flex !important; align-items:center !important; gap:7px !important;
    padding:7px 14px !important; background:rgba(255,255,255,0.04) !important;
    border:1px solid rgba(255,255,255,0.10) !important; border-radius:30px !important;
    font-family:var(--ozy-font) !important; font-size:0.75rem !important; font-weight:500 !important;
    color:rgba(255,255,255,0.60) !important; cursor:pointer !important;
    transition:all 0.18s ease !important; white-space:nowrap !important;
    text-decoration:none !important; -webkit-appearance:none !important;
    outline:none !important; box-shadow:none !important; margin:0 !important;
}
.ozy-quick-pill:hover {
    background:rgba(207,240,35,0.10) !important; border-color:rgba(207,240,35,0.30) !important;
    color:rgba(255,255,255,0.90) !important;
}
.ozy-quick-pill svg { width:11px !important; height:11px !important; stroke:var(--ozy-primary) !important; fill:none !important; flex-shrink:0 !important; }

/* LOADING DOTS */
.ozy-dots { display:flex !important; gap:5px !important; padding:4px 0 !important; align-items:center !important; }
.ozy-dots span {
    width:7px !important; height:7px !important; border-radius:50% !important;
    background:var(--ozy-primary) !important; opacity:0.3 !important; display:inline-block !important;
    animation:ozyDotBounce 1.1s ease-in-out infinite !important;
}
.ozy-dots span:nth-child(2) { animation-delay:0.18s !important; }
.ozy-dots span:nth-child(3) { animation-delay:0.36s !important; }
@keyframes ozyDotBounce { 0%,80%,100%{opacity:0.22;transform:scale(0.8)} 40%{opacity:1;transform:scale(1.15)} }

.ozy-cursor {
    display:inline-block !important; width:2px !important; height:0.9em !important;
    background:var(--ozy-primary) !important; vertical-align:text-bottom !important;
    margin-left:2px !important; animation:ozyBlink 0.85s ease-in-out infinite !important;
}
@keyframes ozyBlink { 0%,100%{opacity:1} 50%{opacity:0} }

/* SOURCES */
.ozy-sources { margin-top:10px !important; padding-top:10px !important; border-top:1px solid var(--ozy-border) !important; }
.ozy-sources-label { font-family:var(--ozy-font) !important; font-size:0.67rem !important; font-weight:700 !important; color:var(--ozy-muted) !important; text-transform:uppercase !important; letter-spacing:0.06em !important; margin-bottom:6px !important; }
.ozy-source-link {
    display:inline-flex !important; align-items:center !important; gap:4px !important;
    padding:3px 9px !important; margin:3px 3px 0 0 !important;
    font-family:var(--ozy-font) !important; font-size:0.72rem !important;
    color:var(--ozy-primary) !important; background:var(--ozy-primary-light) !important;
    border:1px solid rgba(207,240,35,0.2) !important; border-radius:7px !important;
    text-decoration:none !important; transition:all 0.18s !important;
}
.ozy-source-link:hover { background:rgba(207,240,35,0.18) !important; }

/* UNDER CONSTRUCTION */
.ozy-under-construction {
    display:flex !important; flex-direction:column !important; align-items:center !important;
    justify-content:center !important; padding:32px 20px !important; text-align:center !important;
    gap:14px !important; min-height:180px !important;
}
.ozy-uc-icon {
    width:54px !important; height:54px !important; border-radius:50% !important;
    background:var(--ozy-primary-light) !important; border:1px solid rgba(207,240,35,0.22) !important;
    display:flex !important; align-items:center !important; justify-content:center !important;
    font-size:1.5rem !important; animation:ozyIconFloat 3s ease-in-out infinite !important;
}
@keyframes ozyIconFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-6px)} }
.ozy-uc-title { font-family:var(--ozy-font) !important; font-size:1rem !important; font-weight:700 !important; color:#fff !important; margin:0 !important; }
.ozy-uc-sub   { font-family:var(--ozy-font) !important; font-size:0.82rem !important; color:var(--ozy-muted) !important; max-width:300px !important; line-height:1.6 !important; margin:0 !important; }

/* SEARCH INPUT */
.ozy-popup-search {
    padding: 12px 16px !important; border-top:1px solid var(--ozy-border) !important;
    flex-shrink:0 !important; background:transparent !important; box-sizing:border-box !important;
}
.ozy-popup-search-wrap {
    display:flex !important; align-items:center !important; gap:10px !important;
    background:rgba(255,255,255,0.05) !important; border-radius:12px !important;
    border:1px solid rgba(255,255,255,0.09) !important;
    padding:10px 8px 10px 14px !important; box-sizing:border-box !important;
}
.ozy-popup-search-icon { display:flex !important; align-items:center !important; flex-shrink:0 !important; }
.ozy-popup-search-icon svg { width:14px !important; height:14px !important; stroke:rgba(255,255,255,0.28) !important; fill:none !important; }
.ozy-popup-search-input {
    flex:1 !important; min-width:0 !important; background:transparent !important;
    border:none !important; outline:none !important; box-shadow:none !important;
    font-family:var(--ozy-font) !important; font-size:0.87rem !important; color:rgba(255,255,255,0.85) !important;
    padding:0 !important; margin:0 !important; border-radius:0 !important;
}
.ozy-popup-search-input::placeholder { color:rgba(255,255,255,0.3) !important; opacity:1 !important; }
.ozy-popup-search-input:focus { outline:none !important; box-shadow:none !important; border:none !important; }

.ozy-popup-clear {
    background:none !important; border:none !important; cursor:pointer !important;
    color:#bbbbbb !important; padding:2px !important; display:none;
    align-items:center !important; justify-content:center !important; flex-shrink:0 !important;
}
.ozy-popup-clear svg { width:13px !important; height:13px !important; stroke:currentColor !important; fill:none !important; }

.ozy-popup-send {
    width:34px !important; height:34px !important; min-width:34px !important;
    border-radius:9px !important; background:var(--ozy-primary) !important; border:none !important;
    cursor:pointer !important; display:flex !important; align-items:center !important;
    justify-content:center !important; color:var(--ozy-secondary) !important;
    transition:all 0.2s !important; padding:0 !important; box-shadow:none !important; flex-shrink:0 !important;
}
.ozy-popup-send:hover { background:var(--ozy-primary-hover) !important; transform:scale(1.06) !important; }
.ozy-popup-send svg { width:14px !important; height:14px !important; stroke:currentColor !important; fill:none !important; }

/* COMPACT FOOTER */
.ozy-popup-footer {
    display:flex !important; align-items:center !important; justify-content:space-between !important;
    padding:7px 14px !important; border-top:1px solid var(--ozy-border) !important;
    flex-shrink:0 !important; box-sizing:border-box !important; gap:8px !important;
}
.ozy-footer-links {
    display:flex !important; align-items:center !important; gap:2px !important; flex-wrap:wrap !important;
}
.ozy-footer-link {
    display:inline-flex !important; align-items:center !important; gap:5px !important;
    padding:5px 8px !important; border-radius:7px !important;
    font-family:var(--ozy-font) !important; font-size:0.72rem !important; font-weight:500 !important;
    color:var(--ozy-muted) !important; text-decoration:none !important;
    background:none !important; border:none !important; cursor:pointer !important;
    transition:all 0.18s !important; -webkit-appearance:none !important; box-shadow:none !important;
}
.ozy-footer-link:hover { color:#ffffff !important; background:rgba(255,255,255,0.07) !important; }
.ozy-footer-link svg { width:12px !important; height:12px !important; stroke:currentColor !important; fill:none !important; flex-shrink:0 !important; }
.ozy-footer-reset { opacity:0.7 !important; }
.ozy-footer-reset:hover { opacity:1 !important; }
.ozy-footer-brand {
    display:flex !important; align-items:center !important; gap:4px !important;
    font-family:var(--ozy-font) !important; font-size:0.62rem !important;
    color:rgba(255,255,255,0.2) !important; white-space:nowrap !important; flex-shrink:0 !important;
}
.ozy-footer-brand a { color:rgba(207,240,35,0.5) !important; text-decoration:none !important; transition:color 0.18s !important; }
.ozy-footer-brand a:hover { color:var(--ozy-primary) !important; }

/* ERROR */
.ozy-error-box {
    padding:10px 14px !important; background:rgba(239,68,68,.09) !important;
    border:1px solid rgba(239,68,68,.22) !important; border-radius:10px !important;
    color:rgba(255,140,140,.9) !important; font-size:.83rem !important; line-height:1.5 !important;
    font-family:var(--ozy-font) !important;
}

/* ═══════════════════════════════════════════
   INLINE WIDGET
═══════════════════════════════════════════ */
.ozy-video-wrap {
    position:relative !important; width:100% !important;
    border-radius:var(--ozy-radius) !important; display:block !important;
    background:var(--ozy-secondary) !important;
}
.ozy-bg-video {
    position:absolute !important; top:0 !important; left:0 !important;
    width:100% !important; height:100% !important; object-fit:cover !important;
    z-index:0 !important; opacity:0.4 !important; pointer-events:none !important;
    border-radius:var(--ozy-radius) !important;
}
.ozy-bg-img {
    position:absolute !important; top:0 !important; left:0 !important;
    width:100% !important; height:100% !important; object-fit:cover !important;
    z-index:0 !important; opacity:0.35 !important; pointer-events:none !important;
    border-radius:var(--ozy-radius) !important;
}
.ozy-bg-gradient {
    position:absolute !important; top:0 !important; left:0 !important;
    width:100% !important; height:100% !important; pointer-events:none !important;
    border-radius:var(--ozy-radius) !important; z-index:0 !important;
    background: linear-gradient(135deg, #0a1a2f 0%, #1a3a2f 25%, #0a2a1f 50%, #1a1a2f 75%, #0a1a2f 100%) !important;
    background-size: 400% 400% !important;
    animation: ozyGradient 8s ease infinite !important;
}
@keyframes ozyGradient { 0%,100%{background-position:0% 50%} 50%{background-position:100% 50%} }

.ozy-video-overlay {
    position:absolute !important; top:0 !important; left:0 !important;
    width:100% !important; height:100% !important;
    background:radial-gradient(ellipse at 40% 50%, rgba(207,240,35,0.08) 0%, rgba(0,0,0,0.55) 75%) !important;
    z-index:1 !important; pointer-events:none !important; border-radius:var(--ozy-radius) !important;
}

.ozy-inline-widget {
    position:relative !important; width:100% !important; background:var(--ozy-bg) !important;
    border-radius:var(--ozy-radius) !important; overflow:hidden !important;
    font-family:var(--ozy-font) !important; backdrop-filter:blur(22px) !important;
    -webkit-backdrop-filter:blur(22px) !important; border:1px solid var(--ozy-border-mid) !important;
    z-index:2 !important; box-sizing:border-box !important;
}
.ozy-inline-header {
    position:relative !important; padding:22px 28px 20px !important;
    border-bottom:1px solid var(--ozy-border) !important;
    display:flex !important; align-items:center !important; justify-content:space-between !important;
    overflow:hidden !important; z-index:2 !important; min-height:88px !important; box-sizing:border-box !important;
}
.ozy-inline-header-bg {
    position:absolute !important; top:0 !important; left:0 !important; width:100% !important; height:100% !important;
    background:radial-gradient(ellipse at 25% 60%, rgba(207,240,35,0.14) 0%, transparent 65%) !important;
    pointer-events:none !important; z-index:0 !important;
}
.ozy-inline-header-bg::after {
    content:'' !important; position:absolute !important; top:0 !important; left:0 !important; width:100% !important; height:100% !important;
    background-image:radial-gradient(circle, rgba(255,255,255,0.03) 1px, transparent 1px) !important;
    background-size:20px 20px !important;
}
.ozy-inline-agent { display:flex !important; align-items:center !important; gap:14px !important; position:relative !important; z-index:1 !important; }
.ozy-orb {
    width:52px !important; height:52px !important; min-width:52px !important;
    border-radius:50% !important;
    background:radial-gradient(circle at 35% 35%, #e8ff70, var(--ozy-primary) 55%, #8aad00) !important;
    box-shadow:0 0 18px var(--ozy-primary-glow) !important;
    flex-shrink:0 !important; overflow:hidden !important;
    animation:ozyOrbPulse 3s ease-in-out infinite !important;
    display:flex !important; align-items:center !important; justify-content:center !important;
}
.ozy-orb img { width:100% !important; height:100% !important; object-fit:contain !important; border-radius:50% !important; }
.ozy-orb svg { width:24px !important; height:24px !important; stroke:var(--ozy-secondary) !important; fill:none !important; }
.ozy-agent-info { position:relative !important; z-index:1 !important; }
.ozy-title {
    font-family:var(--ozy-font) !important; font-size:1.5rem !important; font-weight:800 !important;
    color:#fff !important; letter-spacing:-0.02em !important; line-height:1.1 !important;
    margin:0 !important; padding:0 !important; background:none !important; border:none !important;
}
.ozy-title em { color:var(--ozy-primary) !important; font-style:normal !important; font-weight:800 !important; }
.ozy-sub {
    font-family:var(--ozy-font) !important; font-size:0.76rem !important; color:var(--ozy-muted) !important;
    margin:3px 0 0 !important; padding:0 !important; font-weight:400 !important; background:none !important;
}
.ozy-search-row {
    padding:18px 26px !important; border-bottom:1px solid var(--ozy-border) !important;
    position:relative !important; z-index:2 !important; box-sizing:border-box !important;
}
.ozy-search-wrap {
    display:flex !important; align-items:center !important; gap:10px !important;
    background:#ffffff !important; border-radius:50px !important;
    padding:10px 10px 10px 18px !important; box-sizing:border-box !important;
}
.ozy-search-icon { display:flex !important; align-items:center !important; flex-shrink:0 !important; }
.ozy-search-icon svg { width:16px !important; height:16px !important; stroke:#aaaaaa !important; fill:none !important; }
.ozy-search-input {
    flex:1 !important; min-width:0 !important; background:transparent !important;
    border:none !important; outline:none !important; box-shadow:none !important;
    font-family:var(--ozy-font) !important; font-size:0.9rem !important; color:#333333 !important;
    padding:0 !important; margin:0 !important; border-radius:0 !important;
}
.ozy-search-input::placeholder { color:#bbbbbb !important; opacity:1 !important; }
.ozy-search-input:focus { outline:none !important; box-shadow:none !important; }
.ozy-search-btn {
    width:38px !important; height:38px !important; min-width:38px !important;
    border-radius:50% !important; background:var(--ozy-primary-light) !important;
    border:none !important; cursor:pointer !important;
    display:flex !important; align-items:center !important; justify-content:center !important;
    color:var(--ozy-primary) !important; transition:all 0.2s !important; padding:0 !important;
}
.ozy-search-btn:hover { background:var(--ozy-primary) !important; color:var(--ozy-secondary) !important; }
.ozy-search-btn svg { width:16px !important; height:16px !important; stroke:currentColor !important; fill:none !important; }
.ozy-quick-pills {
    padding:14px 26px 20px !important; display:flex !important; flex-wrap:wrap !important;
    gap:8px !important; position:relative !important; z-index:2 !important;
    margin:0 !important; list-style:none !important; box-sizing:border-box !important;
}

/* RESPONSIVE */
@media (max-width: 600px) {
    .ozy-backdrop { padding:0 !important; align-items:flex-end !important; }
    .ozy-popup { border-bottom-left-radius:0 !important; border-bottom-right-radius:0 !important; max-height:94vh !important; }
    .ozy-float-btn.ozy-pos-bottom-right { bottom:18px !important; right:16px !important; }
    .ozy-float-btn.ozy-pos-bottom-left  { bottom:18px !important; left:16px !important; }
    .ozy-inline-header { padding:16px 18px 14px !important; min-height:auto !important; }
    .ozy-title { font-size:1.15rem !important; }
    .ozy-quick-pills { padding:10px 16px 14px !important; }
    .ozy-contact-row { flex-direction:column !important; align-items:flex-start !important; }
}
