/* ==========================================================================
   App text variants - reusable copy hierarchy for dense enterprise screens.
   Served at /_content/esmartx.ui/css/app-text-variants.css.

   Usage guide:
   - .app-copy-label: field labels, section labels, compact filter labels
   - .app-copy-summary: counts, toolbar summaries, short explanatory text
   - .app-copy-data: table cell values, inline record text, primary content
   - .app-copy-helper: secondary metadata, tags, supporting inline details
   - .app-copy-overflow: "+N more" overflow text and low-emphasis counters
   - .app-copy-field: wrapper around inputs/selects/pickers when you want
     the entered text and placeholder text to follow the same copy variant

   Variant scale:
   - .copy-compact: tight enterprise layouts, dense tables, metadata
   - .copy-default: standard form labels, field values, most screen copy
   - .copy-guided: summaries or copy that needs a little more emphasis

   Utilities:
   - .app-copy-nowrap: preserve a single line for dates, codes, short values
   - .app-copy-truncate: single-line ellipsis for cells and helper text
   ========================================================================== */

.app-copy-label,
.app-copy-summary,
.app-copy-data,
.app-copy-helper,
.app-copy-overflow {
    font-family: var(--font-family, 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.app-copy-label {
    display: block;
    margin-bottom: 6px;
    line-height: 1.25;
}

.app-copy-summary {
    line-height: 1.35;
}

.app-copy-data {
    line-height: 1.4;
}

.app-copy-helper,
.app-copy-overflow {
    line-height: 1.3;
}

.copy-compact {
    font-size: 0.75rem;
    letter-spacing: 0.01em;
}

.copy-default {
    font-size: 0.8125rem;
    letter-spacing: 0.005em;
}

.copy-guided {
    font-size: 0.875rem;
    letter-spacing: 0.003em;
}

.app-copy-label.copy-compact {
    font-weight: 600;
    color: #6b7280;
}

.app-copy-label.copy-default {
    font-weight: 600;
    color: #4b5563;
}

.app-copy-label.copy-guided {
    font-weight: 600;
    color: #374151;
}

.app-copy-summary.copy-compact {
    font-weight: 500;
    color: #6b7280;
}

.app-copy-summary.copy-default {
    font-weight: 400;
    color: #6b7280;
}

.app-copy-summary.copy-guided {
    font-weight: 500;
    color: #4b5563;
}

.app-copy-data.copy-compact {
    font-weight: 500;
    color: #374151;
}

.app-copy-data.copy-default {
    font-weight: 400;
    color: #111827;
}

.app-copy-data.copy-guided {
    font-weight: 500;
    color: #111827;
}

.app-copy-helper.copy-compact {
    font-size: 0.6875rem;
    color: #6b7280;
}

.app-copy-helper.copy-default {
    font-size: 0.75rem;
    color: #6b7280;
}

.app-copy-helper.copy-guided {
    font-size: 0.8125rem;
    color: #4b5563;
}

.app-copy-overflow.copy-compact {
    font-size: 0.6875rem;
    font-weight: 500;
    color: #9ca3af;
}

.app-copy-overflow.copy-default {
    font-size: 0.75rem;
    font-weight: 500;
    color: #9ca3af;
}

.app-copy-overflow.copy-guided {
    font-size: 0.8125rem;
    font-weight: 500;
    color: #6b7280;
}

.app-copy-nowrap {
    white-space: nowrap;
}

.app-copy-truncate {
    display: block;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.app-copy-field input::placeholder,
.app-copy-field textarea::placeholder,
.app-copy-field .ant-select-selection-placeholder,
.app-copy-field .ant-picker-input > input::placeholder {
    transition: color 0.15s ease;
}

.app-copy-field.copy-compact input,
.app-copy-field.copy-compact textarea,
.app-copy-field.copy-compact .ant-select-selection-item,
.app-copy-field.copy-compact .ant-select-selection-search-input,
.app-copy-field.copy-compact .ant-picker-input > input {
    font-size: 0.8125rem;
    letter-spacing: 0.008em;
    color: #374151;
}

.app-copy-field.copy-default input,
.app-copy-field.copy-default textarea,
.app-copy-field.copy-default .ant-select-selection-item,
.app-copy-field.copy-default .ant-select-selection-search-input,
.app-copy-field.copy-default .ant-picker-input > input {
    font-size: 0.875rem;
    letter-spacing: 0.004em;
    color: #111827;
}

.app-copy-field.copy-guided input,
.app-copy-field.copy-guided textarea,
.app-copy-field.copy-guided .ant-select-selection-item,
.app-copy-field.copy-guided .ant-select-selection-search-input,
.app-copy-field.copy-guided .ant-picker-input > input {
    font-size: 0.875rem;
    letter-spacing: 0.002em;
    color: #111827;
}

.app-copy-field.copy-compact input::placeholder,
.app-copy-field.copy-compact textarea::placeholder,
.app-copy-field.copy-compact .ant-select-selection-placeholder,
.app-copy-field.copy-compact .ant-picker-input > input::placeholder {
    font-size: 0.8125rem;
    letter-spacing: 0.008em;
    color: #9ca3af;
}

.app-copy-field.copy-default input::placeholder,
.app-copy-field.copy-default textarea::placeholder,
.app-copy-field.copy-default .ant-select-selection-placeholder,
.app-copy-field.copy-default .ant-picker-input > input::placeholder {
    font-size: 0.875rem;
    letter-spacing: 0.004em;
    color: #9ca3af;
}

.app-copy-field.copy-guided input::placeholder,
.app-copy-field.copy-guided textarea::placeholder,
.app-copy-field.copy-guided .ant-select-selection-placeholder,
.app-copy-field.copy-guided .ant-picker-input > input::placeholder {
    font-size: 0.875rem;
    letter-spacing: 0.002em;
    color: #6b7280;
}
