/**
 * App shell: PWA-friendly viewport helpers, tap chrome, selective text selection.
 */

/* --- Mobile: reduce accidental pinch-zoom (desktop Ctrl+/- unaffected) --- */
@media (pointer: coarse) {
    html {
        touch-action: manipulation;
    }
}

/* --- Tap flash: off on controls; text fields keep focus ring from browser --- */
button,
a,
.btn,
.nav-item,
.nav-btn,
.toggle-btn,
.big-toggle,
.action-btn,
.quick-nav-btn,
input,
textarea,
select,
label {
    -webkit-tap-highlight-color: transparent;
}

/* --- UI chrome: no text selection (InSales-like) --- */
.bottom-nav .nav-items,
.bottom-nav .nav-item,
button,
.btn,
.nav-btn,
.nav-buttons,
.quick-nav-btn,
.toggle-btn,
.big-toggle,
.big-button,
.action-btn,
a.btn,
a.nav-item,
.menu-primary,
.menu-secondary,
.draft-actions,
.acceptance-modal-actions,
.password-toggle,
label.btn,
[role="button"]:not(input):not(textarea):not(select) {
    -webkit-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
}

/* Clickable cards / rows — block chrome, not data inside */
.draft-card,
.product-card,
.bulk-draft-card {
    -webkit-user-select: none;
    user-select: none;
}

/* --- Work data: copy on PC --- */
.selectable,
.copyable,
.app-version,
.app-version-badge,
table,
th,
td,
input,
textarea,
select,
pre,
code,
p,
li,
dd,
dt,
.hint,
.error,
.script-box,
.rule-item,
.rule-list,
.bulk-table,
.bulk-hint,
.draft-article,
.draft-date,
.step-header .article,
.step-header .product-type,
.intake-header__article,
.intake-header__type,
.article,
.product-title,
.product-sku,
.detail-label,
.detail-value,
a[href^="tel:"] {
    -webkit-user-select: text;
    user-select: text;
}

.app-version,
.app-version-badge {
    cursor: text;
    -webkit-touch-callout: default;
}

/* Icons / labels inside buttons stay non-selectable */
.btn .app-icon,
.nav-item .app-icon,
button svg {
    -webkit-user-select: none;
    user-select: none;
}
