/* Command palette + top-bar search button — ported from the DK Portal and re-tokened onto the
   Farm Ascend --p-* design tokens. Tokens flip with .theme-light, so no per-theme blocks. */

/* ===================== TOP-BAR SEARCH BUTTON ===================== */
.topbar-search-btn {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    background: var(--p-fill);
    border: 1px solid var(--p-border);
    border-radius: .6rem;
    color: var(--p-text-dim);
    padding: .35rem .7rem;
    cursor: pointer;
    transition: background .15s, color .15s;
    font-size: .82rem;
}

.topbar-search-btn:hover {
    color: var(--p-text-strong);
    background: var(--p-fill-hover);
}

.topbar-search-label {
    color: var(--p-text-dim);
}

.topbar-search-kbd {
    font-size: .65rem;
    padding: .05rem .35rem;
    border: 1px solid var(--p-border);
    border-radius: .3rem;
    color: var(--p-text-faint);
    background: var(--p-fill);
}

/* ===================== COMMAND PALETTE ===================== */
.cmdk-overlay {
    position: fixed;
    inset: 0;
    z-index: 1090;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 12vh;
    background: rgba(0, 0, 0, .5);
}

.cmdk-panel {
    width: min(640px, 92vw);
    max-height: 70vh;
    display: flex;
    flex-direction: column;
    background: var(--p-surface);
    border: 1px solid var(--p-border-hover);
    border-radius: .9rem;
    box-shadow: var(--p-card-shadow);
    overflow: hidden;
}

.cmdk-input-row {
    display: flex;
    align-items: center;
    gap: .6rem;
    padding: .85rem 1rem;
    border-bottom: 1px solid var(--p-border);
}

.cmdk-input-icon {
    color: var(--p-text-dim);
    font-size: 1.05rem;
}

.cmdk-input {
    flex: 1;
    background: transparent;
    border: 0;
    outline: none;
    color: var(--p-text-strong);
    font-size: 1rem;
}

.cmdk-input::placeholder {
    color: var(--p-text-faint);
}

.cmdk-results {
    overflow-y: auto;
    padding: .4rem;
    flex: 1;
}

.cmdk-item {
    display: flex;
    align-items: center;
    gap: .7rem;
    width: 100%;
    text-align: left;
    background: transparent;
    border: 0;
    color: var(--p-text);
    padding: .55rem .65rem;
    border-radius: .5rem;
    cursor: pointer;
}

.cmdk-item.selected {
    background: rgba(var(--p-accent-rgb), 0.12);
    color: var(--p-text-strong);
}

.cmdk-item-icon {
    color: var(--p-accent);
    font-size: 1rem;
    width: 1.2rem;
    text-align: center;
    flex-shrink: 0;
}

.cmdk-item-label {
    font-size: .9rem;
    font-weight: 500;
}

.cmdk-item-ctx {
    margin-left: auto;
    font-size: .72rem;
    color: var(--p-text-faint);
    white-space: nowrap;
    padding-left: .5rem;
}

.cmdk-empty {
    padding: 1.5rem;
    text-align: center;
    color: var(--p-text-dim);
    font-size: .9rem;
}

.cmdk-footer {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: .5rem .85rem;
    border-top: 1px solid var(--p-border);
    font-size: .7rem;
    color: var(--p-text-faint);
}

.cmdk-footer-spacer {
    flex: 1;
}

.cmdk-kbd {
    font-size: .65rem;
    padding: .05rem .3rem;
    border: 1px solid var(--p-border);
    border-radius: .3rem;
    color: var(--p-text-dim);
    background: var(--p-fill);
    margin: 0 1px;
}
