/* ═══════════════════════════════════════════════════════
   Query Copilot — Input Coach Styles
   ═══════════════════════════════════════════════════════ */

/* ── Quality Meter (3 dots beside send button) ── */
.quality-meter {
    display: flex;
    gap: 3px;
    align-items: center;
    margin-right: 8px;
    opacity: 0;
    transition: opacity 0.3s ease;
}
.quality-meter.visible {
    opacity: 1;
}
.quality-dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--color-border-default, #E8E5E0);
    transition: background 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.quality-dot.active {
    background: var(--color-accent, #F97316);
}
.quality-dot.warn {
    background: #F59E0B;
}

/* ── Smart Rewrite Bar ── */
.query-copilot-bar {
    padding: 10px 14px;
    background: linear-gradient(135deg, rgba(249, 115, 22, 0.06), rgba(234, 88, 12, 0.03));
    border: 1px solid rgba(249, 115, 22, 0.15);
    border-radius: var(--brand-radius-sm, 6px);
    margin-top: 6px;
    display: none;
}
.query-copilot-bar.show {
    display: block;
    animation: copilotFadeIn 0.3s ease-out;
}
@keyframes copilotFadeIn {
    from { opacity: 0; transform: translateY(-4px); }
    to   { opacity: 1; transform: translateY(0); }
}
.query-copilot-bar.hiding {
    animation: copilotFadeOut 0.2s ease-in forwards;
}
@keyframes copilotFadeOut {
    from { opacity: 1; }
    to   { opacity: 0; }
}

.copilot-header {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 8px;
}
.copilot-icon {
    color: var(--color-accent, #F97316);
    font-size: 14px;
    line-height: 1;
}
.copilot-reason {
    font-size: 12px;
    color: var(--color-text-secondary, #6B7280);
    flex: 1;
}
.copilot-dismiss {
    background: none;
    border: none;
    color: var(--color-text-secondary, #9CA3AF);
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
    padding: 2px 4px;
    border-radius: 4px;
    transition: color 0.2s, background 0.2s;
}
.copilot-dismiss:hover {
    color: var(--color-text-primary, #374151);
    background: rgba(0,0,0,0.05);
}

.copilot-rewrites {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.copilot-rewrite-chip {
    padding: 5px 12px;
    font-size: 13px;
    border: 1px solid var(--color-border-strong, #D1D5DB);
    border-radius: 18px;
    cursor: pointer;
    background: var(--color-bg-primary, #fff);
    color: var(--color-text-primary, #374151);
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    line-height: 1.4;
}
.copilot-rewrite-chip:hover {
    border-color: var(--color-accent, #F97316);
    color: var(--color-accent, #F97316);
    background: var(--color-accent-muted, rgba(249,115,22,0.08));
    transform: translateY(-1px);
    box-shadow: var(--shadow-sm, 0 1px 2px rgba(0,0,0,0.05));
}
.copilot-rewrite-chip:active {
    transform: scale(0.96);
}
.copilot-rewrite-chip:focus-visible {
    outline: 2px solid var(--color-accent, #F97316);
    outline-offset: 2px;
}

/* ── Dark Theme ── */
[data-theme="dark"] .query-copilot-bar {
    background: linear-gradient(135deg, rgba(249, 115, 22, 0.10), rgba(234, 88, 12, 0.05));
    border-color: rgba(249, 115, 22, 0.20);
}
[data-theme="dark"] .copilot-rewrite-chip {
    background: #2D2D2D;
    border-color: #404040;
    color: #E5E7EB;
}
[data-theme="dark"] .copilot-rewrite-chip:hover {
    border-color: #FB923C;
    color: #FB923C;
    background: #3D2D1D;
}
[data-theme="dark"] .copilot-dismiss:hover {
    color: #E5E7EB;
    background: rgba(255,255,255,0.08);
}
[data-theme="dark"] .quality-dot {
    background: #404040;
}
[data-theme="dark"] .quality-dot.active {
    background: var(--color-accent, #F97316);
}
[data-theme="dark"] .quality-dot.warn {
    background: #F59E0B;
}

/* ── Accessibility ── */
@media (prefers-reduced-motion: reduce) {
    .query-copilot-bar.show { animation: none; }
    .query-copilot-bar.hiding { animation: none; display: none; }
    .copilot-rewrite-chip:hover { transform: none; }
    .copilot-rewrite-chip:active { transform: none; }
    .quality-dot { transition: none; }
    .quality-meter { transition: none; }
}

/* ── Quality Popover ── */
.quality-popover {
    position: absolute;
    bottom: calc(100% + 10px);
    right: 0;
    width: 260px;
    background: var(--color-bg-primary, #fff);
    border: 1px solid var(--color-border-default, #E8E5E0);
    border-radius: var(--brand-radius-sm, 8px);
    padding: 12px 14px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.10);
    opacity: 0;
    transform: translateY(4px);
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
    z-index: 100;
}
.quality-popover.visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
.quality-popover-arrow {
    position: absolute;
    bottom: -6px;
    right: 16px;
    width: 10px;
    height: 10px;
    background: var(--color-bg-primary, #fff);
    border-right: 1px solid var(--color-border-default, #E8E5E0);
    border-bottom: 1px solid var(--color-border-default, #E8E5E0);
    transform: rotate(45deg);
}
.quality-popover-title {
    font-size: 12px;
    font-weight: 600;
    color: var(--color-text-primary, #374151);
    margin-bottom: 8px;
}
.quality-criterion {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    line-height: 24px;
}
.quality-criterion.pass {
    color: #10B981;
}
.quality-criterion.miss {
    color: #F59E0B;
}
.quality-criterion-icon {
    flex-shrink: 0;
    width: 14px;
    text-align: center;
    font-size: 13px;
}
.quality-popover-footer {
    margin-top: 6px;
    padding-top: 6px;
}
.quality-popover-footer:empty {
    margin: 0;
    padding: 0;
}
.quality-popover-cta {
    font-size: 12px;
    color: var(--color-accent, #F97316);
    text-decoration: none;
    cursor: pointer;
    font-weight: 500;
}
.quality-popover-cta:hover {
    text-decoration: underline;
}

/* Dark theme — Popover */
[data-theme="dark"] .quality-popover {
    background: #1E1E1E;
    border-color: #404040;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.30);
}
[data-theme="dark"] .quality-popover-arrow {
    background: #1E1E1E;
    border-color: #404040;
}
[data-theme="dark"] .quality-popover-title {
    color: #E5E7EB;
}
[data-theme="dark"] .quality-popover-footer {
    border-color: #404040;
}

/* ── Mobile ── */
@media (max-width: 480px) {
    .quality-dot {
        width: 4px;
        height: 4px;
    }
    .quality-meter {
        margin-right: 6px;
    }
    .copilot-reason {
        font-size: 11px;
    }
    .copilot-rewrite-chip {
        font-size: 12px;
        padding: 4px 10px;
    }
    .query-copilot-bar {
        padding: 8px 10px;
    }
    .quality-popover {
        width: 220px;
        right: -4px;
    }
}

/* ── Reduced motion — Popover ── */
@media (prefers-reduced-motion: reduce) {
    .quality-popover {
        transition: none;
    }
}
