/* SEO & GEO Suite — application overrides on top of Jampack */

/* Feather sprite icons */
.feather{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px}
.nav-icon-wrap .feather{width:20px;height:20px}
.btn .feather{vertical-align:-3px}
.btn-icon .feather{vertical-align:middle}
.feather-sm{width:14px;height:14px}
.feather-lg{width:24px;height:24px}
.feather-xl{width:40px;height:40px}

/* Brand */
.brand-text{font-weight:700;font-size:1.05rem;margin-left:.5rem;color:var(--bs-body-color);white-space:nowrap}
.hk-menu .menu-header .navbar-brand{display:flex;align-items:center;gap:.25rem}
.hk-menu .menu-header .brand-img{height:32px;width:auto;max-width:160px}
.hk-menu .menu-header .navbar-brand .brand-icon{height:32px;width:32px;border-radius:8px}
.hk-wrapper[data-layout-style=collapsed] .brand-text{display:none}
.hk-wrapper[data-layout-style=collapsed] .hk-menu .menu-header .brand-img.brand-full{display:none}
.hk-wrapper:not([data-layout-style=collapsed]) .hk-menu .menu-header .brand-img.brand-icon{display:none}

/* Mobile menu open (toggled by app.js on <1200px) */
@media (max-width:1199.98px){
  .hk-wrapper .hk-menu{left:-270px}
  .hk-wrapper.hk-menu-open .hk-menu{left:0 !important;transform:translateX(0);width:270px !important}
  .hk-wrapper.hk-menu-open .hk-menu-backdrop{display:block;opacity:.5;height:auto;width:auto;visibility:visible}
  .hk-wrapper.hk-menu-open .hk-menu .menu-content-wrap .menu-group .nav-header{display:block}
  .hk-wrapper.hk-menu-open .brand-text{display:inline}
}

/* Score rings */
.score-ring{position:relative;display:inline-block;line-height:0}
.score-ring svg{transform:rotate(-90deg)}
.score-ring .score-ring-bg{stroke:var(--bs-border-color);fill:none}
.score-ring .score-ring-value{fill:none;stroke-linecap:round;transition:stroke-dashoffset .6s ease}
.score-ring .score-ring-label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1;font-weight:600}
.score-ring .score-ring-label small{font-size:.65rem;font-weight:400;color:var(--bs-secondary-color)}
.score-ring.score-success .score-ring-value{stroke:var(--bs-success)}
.score-ring.score-warning .score-ring-value{stroke:var(--bs-warning)}
.score-ring.score-danger .score-ring-value{stroke:var(--bs-danger)}
.score-ring.score-secondary .score-ring-value{stroke:var(--bs-secondary)}
.score-ring.score-primary .score-ring-value{stroke:var(--bs-primary)}

/* Stat cards */
.stat-card .stat-icon{width:44px;height:44px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:rgba(var(--bs-primary-rgb),.1);color:var(--bs-primary)}
.stat-card .stat-icon .feather{width:22px;height:22px}
.stat-card .stat-value{font-size:1.6rem;font-weight:600;line-height:1.2}
.stat-card .stat-label{font-size:.8rem;color:var(--bs-secondary-color)}

/* Chat bubbles (AI assistant base) */
.chat-bubbles{display:flex;flex-direction:column;gap:.75rem}
.chat-bubble{max-width:85%;padding:.75rem 1rem;border-radius:1rem;line-height:1.5;word-wrap:break-word}
.chat-bubble.chat-user{align-self:flex-end;background:var(--bs-primary);color:#fff;border-bottom-right-radius:.25rem}
.chat-bubble.chat-assistant{align-self:flex-start;background:var(--bs-tertiary-bg);border-bottom-left-radius:.25rem}
.chat-bubble pre{background:rgba(0,0,0,.08);padding:.5rem;border-radius:.5rem;overflow:auto;font-size:.8rem}
.chat-bubble.chat-user pre{background:rgba(255,255,255,.15)}
.chat-typing span{display:inline-block;width:6px;height:6px;margin:0 1px;border-radius:50%;background:currentColor;opacity:.4;animation:chat-blink 1.2s infinite}
.chat-typing span:nth-child(2){animation-delay:.2s}.chat-typing span:nth-child(3){animation-delay:.4s}
@keyframes chat-blink{0%,80%,100%{opacity:.3}40%{opacity:1}}

/* Misc UI */
.cursor-pointer{cursor:pointer}
.text-truncate-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.site-card .site-favicon{width:28px;height:28px;border-radius:6px;object-fit:contain;background:var(--bs-tertiary-bg)}
.site-switcher .dropdown-menu{min-width:260px;max-height:360px;overflow:auto}
.site-switcher .site-favicon{width:18px;height:18px;border-radius:4px;margin-right:.5rem}
.navbar-search{min-width:220px}
@media (max-width:767.98px){.navbar-search{display:none}}
.notification-item{white-space:normal;border-bottom:1px solid var(--bs-border-color)}
.notification-item:last-child{border-bottom:0}
.notification-item.unread{background:rgba(var(--bs-primary-rgb),.05)}
.notifications-dropdown{width:360px;max-width:92vw}
.notifications-dropdown .dropdown-body{max-height:380px;overflow:auto}
.impersonation-banner{background:var(--bs-warning);color:#111;font-size:.85rem;padding:.35rem 1rem;text-align:center}
.auth-illustration{max-width:420px;width:100%;height:auto}
.avatar-upload-preview{width:96px;height:96px;border-radius:16px;object-fit:cover}
.onboarding-step{display:flex;gap:1rem;align-items:flex-start;padding:.9rem 0;border-bottom:1px dashed var(--bs-border-color)}
.onboarding-step:last-child{border-bottom:0}
.onboarding-step .step-icon{width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--bs-tertiary-bg)}
.onboarding-step.done .step-icon{background:rgba(var(--bs-success-rgb),.15);color:var(--bs-success)}
.onboarding-step.done .step-title{text-decoration:line-through;color:var(--bs-secondary-color)}
.code-box{font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem;background:var(--bs-tertiary-bg);border:1px solid var(--bs-border-color);border-radius:.5rem;padding:.6rem .8rem;word-break:break-all}
.token-reveal{font-family:SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.02em}
.qr-box{background:#fff;padding:10px;border-radius:12px;display:inline-block;border:1px solid var(--bs-border-color)}
.pricing-card.featured{border:2px solid var(--bs-primary)}
.pricing-card .price{font-size:2.4rem;font-weight:700}
.pricing-card .feature-list li{padding:.3rem 0}
.public-hero{padding:5rem 0 3rem}
.public-hero h1{font-weight:700;letter-spacing:-.02em}
.feature-icon{width:52px;height:52px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:rgba(var(--bs-primary-rgb),.1);color:var(--bs-primary)}
.feature-icon .feather{width:26px;height:26px}
.error-page{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:2rem}
.error-page .error-code{font-size:6rem;font-weight:700;line-height:1;color:var(--bs-primary)}
.hk-pg-header .pg-title .feather{width:26px;height:26px;vertical-align:-5px}
.table-search-empty{display:none}
.toast-container{z-index:1090}
.w-fit{width:fit-content}
.bg-soft-primary{background:rgba(var(--bs-primary-rgb),.1)}
.border-dashed{border-style:dashed !important}
[data-bs-theme=dark] .qr-box{border-color:#444}
[data-bs-theme=dark] .chat-bubble.chat-assistant{background:rgba(255,255,255,.06)}

/* Print */
@media print{
  .hk-navbar,.hk-menu,.hk-footer,.pg-header-action-wrap,.no-print,.btn,.dropdown{display:none !important}
  .hk-pg-wrapper{margin-left:0 !important;padding-top:0 !important}
  .card{break-inside:avoid;border:1px solid #ddd !important;box-shadow:none !important}
  body{background:#fff !important;color:#000 !important}
  a[href]:after{content:""}
}

/* Theme-aware brand logos */
html[data-bs-theme=dark] .logo-light{display:none !important}
html:not([data-bs-theme=dark]) .logo-dark{display:none !important}
