/* Admin-only documentation chatbot (right dock) */
.bhuguard-docs-bot {
    --docs-green: #24640f;
    --docs-green-dark: #174f08;
    --docs-ink: #10281b;
    --docs-muted: #5b6b60;
    --docs-panel: #f7faf6;
    --docs-border: #d7e3d4;
    position: relative;
    z-index: 80;
}

/* High-specificity so Filament/theme button resets cannot wash out the FAB. */
button.bhuguard-docs-bot__fab,
.bhuguard-docs-bot-shell .bhuguard-docs-bot__fab,
.bhuguard-docs-bot .bhuguard-docs-bot__fab,
.bhuguard-docs-bot__fab {
    position: fixed !important;
    right: 1.25rem !important;
    bottom: 1.25rem !important;
    z-index: 81 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.45rem !important;
    border: 0 !important;
    border-radius: 999px !important;
    padding: 0.7rem 1rem 0.7rem 0.85rem !important;
    background: linear-gradient(145deg, #24640f, #174f08) !important;
    background-color: #24640f !important;
    color: #ffffff !important;
    font: 600 0.85rem/1 Manrope, system-ui, sans-serif !important;
    box-shadow: 0 10px 28px rgba(23, 79, 8, 0.35) !important;
    cursor: pointer !important;
    opacity: 1 !important;
    visibility: visible !important;
}

button.bhuguard-docs-bot__fab:hover,
.bhuguard-docs-bot-shell .bhuguard-docs-bot__fab:hover,
.bhuguard-docs-bot .bhuguard-docs-bot__fab:hover,
.bhuguard-docs-bot__fab:hover {
    filter: brightness(1.06);
    color: #ffffff !important;
}

.bhuguard-docs-bot__fab-label {
    color: #ffffff !important;
}

.bhuguard-docs-bot__fab-icon {
    display: grid;
    place-items: center;
}

.bhuguard-docs-bot__panel {
    position: fixed;
    right: 1.25rem;
    bottom: 4.5rem;
    z-index: 82;
    width: min(380px, calc(100vw - 1.5rem));
    height: min(640px, calc(100vh - 6rem));
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--docs-border);
    border-radius: 18px;
    box-shadow: 0 18px 50px rgba(16, 40, 27, 0.22);
    overflow: hidden;
}

.bhuguard-docs-bot__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.95rem 1rem;
    background: linear-gradient(135deg, #eef6ea, #f8fbf7);
    border-bottom: 1px solid var(--docs-border);
}

.bhuguard-docs-bot__title {
    margin: 0;
    font: 700 1rem/1.2 Manrope, system-ui, sans-serif;
    color: var(--docs-ink);
}

.bhuguard-docs-bot__subtitle {
    margin: 0.15rem 0 0;
    font: 500 0.75rem/1.2 Manrope, system-ui, sans-serif;
    color: var(--docs-muted);
}

.bhuguard-docs-bot__header-actions {
    display: flex;
    gap: 0.35rem;
}

.bhuguard-docs-bot__ghost {
    border: 0;
    background: transparent;
    color: var(--docs-muted);
    font: 600 0.75rem/1 Manrope, system-ui, sans-serif;
    padding: 0.35rem 0.45rem;
    border-radius: 8px;
    cursor: pointer;
}

.bhuguard-docs-bot__ghost:hover {
    background: rgba(36, 100, 15, 0.08);
    color: var(--docs-green-dark);
}

.bhuguard-docs-bot__messages {
    flex: 1;
    overflow-y: auto;
    padding: 1rem;
    background: var(--docs-panel);
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.bhuguard-docs-bot__bubble {
    max-width: 92%;
    padding: 0.7rem 0.85rem;
    border-radius: 14px;
    font: 500 0.84rem/1.45 Manrope, system-ui, sans-serif;
    color: var(--docs-ink);
    white-space: normal;
}

.bhuguard-docs-bot__bubble--bot {
    align-self: flex-start;
    background: #fff;
    border: 1px solid var(--docs-border);
    border-bottom-left-radius: 4px;
}

.bhuguard-docs-bot__bubble--user {
    align-self: flex-end;
    background: var(--docs-green);
    color: #fff;
    border-bottom-right-radius: 4px;
}

.bhuguard-docs-bot__suggestions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    padding: 0.55rem 0.85rem;
    border-top: 1px solid var(--docs-border);
    background: #fff;
    max-height: 7.5rem;
    overflow-y: auto;
}

.bhuguard-docs-bot__chip {
    border: 1px solid var(--docs-border);
    background: #f3f8f1;
    color: var(--docs-green-dark);
    border-radius: 999px;
    padding: 0.35rem 0.65rem;
    font: 600 0.72rem/1.2 Manrope, system-ui, sans-serif;
    cursor: pointer;
    text-align: left;
}

.bhuguard-docs-bot__chip:hover {
    background: #e5f0e1;
}

.bhuguard-docs-bot__composer {
    display: flex;
    gap: 0.45rem;
    padding: 0.75rem;
    border-top: 1px solid var(--docs-border);
    background: #fff;
}

.bhuguard-docs-bot__input {
    flex: 1;
    min-width: 0;
    border: 1px solid var(--docs-border);
    border-radius: 12px;
    padding: 0.65rem 0.75rem;
    font: 500 0.85rem/1.2 Manrope, system-ui, sans-serif;
    color: var(--docs-ink);
    outline: none;
}

.bhuguard-docs-bot__input:focus {
    border-color: #7fb06a;
    box-shadow: 0 0 0 3px rgba(36, 100, 15, 0.12);
}

.bhuguard-docs-bot__send {
    border: 0;
    border-radius: 12px;
    padding: 0 0.95rem;
    background: var(--docs-green);
    color: #fff;
    font: 700 0.8rem/1 Manrope, system-ui, sans-serif;
    cursor: pointer;
}

.bhuguard-docs-bot__send:disabled {
    opacity: 0.6;
    cursor: wait;
}

.bhuguard-docs-bot__enter {
    transition: opacity 160ms ease, transform 160ms ease;
}
.bhuguard-docs-bot__enter-start {
    opacity: 0;
    transform: translateY(8px);
}
.bhuguard-docs-bot__enter-end {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 640px) {
    .bhuguard-docs-bot__panel {
        right: 0.5rem;
        left: 0.5rem;
        width: auto;
        bottom: 4.25rem;
        height: min(70vh, 560px);
    }

    .bhuguard-docs-bot__fab {
        right: 0.75rem;
        bottom: 0.75rem;
    }
}
