.dsv {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    max-width: 100%;
    vertical-align: middle;
}
.dsv-valor {
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.06em;
    color: #0f172a;
    font-weight: 600;
    line-height: 1.3;
    word-break: break-word;
    user-select: none;
    -webkit-user-select: none;
}
.dsv--vazio,
.dsv:not(.dsv--revelavel) .dsv-valor {
    color: #334155;
}
.dsv-btn {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #cbd5e1;
    background: #f8fafc;
    color: #0f172a;
    cursor: pointer;
    line-height: 1;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.dsv-btn i {
    font-size: 0.72rem;
    color: inherit;
}
.dsv-btn:hover,
.dsv-btn:focus-visible {
    background: #0f172a;
    border-color: #0f172a;
    color: #f8fafc;
    outline: none;
}
.dsv-btn[aria-pressed="true"] {
    background: #0f172a;
    border-color: #0f172a;
    color: #f8fafc;
}
.dsv--compacto .dsv-valor {
    font-size: 0.85em;
    font-weight: 600;
}
.dsv--compacto .dsv-btn {
    width: 24px;
    height: 24px;
}
.dsv.is-revealed .dsv-valor {
    letter-spacing: 0;
    font-weight: 600;
    color: #0f172a;
    user-select: text;
    -webkit-user-select: text;
}

.dsv-input-masked {
    -webkit-text-security: disc;
    text-security: disc;
}
.input-group .dsv-btn--input {
    width: auto;
    min-width: 42px;
    height: auto;
    align-self: stretch;
    border-radius: 0;
}
