/**
 * context-menu.css — #1799 modular context menu styles.
 *
 * All classes prefixed `cpr-ctx-` to avoid colliding with the five legacy
 * context-menu class families this module coexists with during migration
 * (`.context-menu*`, `.device-context-item`, etc.). Colors from
 * design-system.css vars only -- dark mode is automatic.
 *
 * z-index: 10500 -- above every legacy menu (10000) and the device-utils.js
 * modals (10001, device-utils.js:60/95). Any future modal layer must stay
 * below 10500 or explicitly raise this.
 */

.cpr-ctx-menu {
    position: fixed;
    z-index: 10500;
    min-width: 180px;
    max-width: 320px;
    background: var(--bg-card, #ffffff);
    border: 1px solid var(--border, #e5e7eb);
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
    padding: 0.3rem 0;
    font-size: 0.8125rem;
}

.cpr-ctx-item {
    padding: 0.45rem 0.9rem;
    color: var(--text, #1f2937);
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    outline: none;
    user-select: none;
}

.cpr-ctx-item:hover,
.cpr-ctx-item.cpr-ctx-item-focused {
    background: var(--bg-hover, #f3f4f6);
}

.cpr-ctx-item-danger {
    color: var(--error-text, #991b1b);
}

.cpr-ctx-item-disabled {
    color: var(--text-muted, #6b7280);
    cursor: default;
    pointer-events: none;
}

.cpr-ctx-item-disabled:hover {
    background: none;
}

.cpr-ctx-sep {
    height: 1px;
    margin: 0.3rem 0;
    background: var(--border, #e5e7eb);
}

/* Press-scoped long-press suppression -- added on touchstart, removed on
   touchend/cancel. Never applied blanket (would break text copying on
   opted-in rows outside of an active press). */
.cpr-ctx-pressing {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none;
}
